#! /bin/bash # Last edited on 2009-12-31 17:40:54 by stolfi # Should create files "p.sizes" in each directory, and use them... export PATH="${STOLFIHOME}/EXPORT/images/tools/bin:${PATH}" # === MOVING THE ORIGINAL IMAGES TO THEIR CANONICAL DIRECTORIES ================== # *** IMPORTANT PARAMETERS ******************************************************* today="2009-12-27" # Date when this script was executed. junkthem=0 # Set this to 1 to move all images to JUNK testonly=0 # If 1 just prints the commands without executing. function mov() { sdir="$1"; shift # Directory of source image name. snum="$1"; shift # Variable part of source image name. pdir="$1"; shift # Parent diretory of destination image directory. dnum="$1"; shift # Variable part of destination image directory. when="$1"; shift # Date and time image was taken. who="$1"; shift # Who took the photo. cam="$1"; shift # Device used to produce the image. keep=$1; shift # 1 to keep image, 0 to junk it. siz="$1"; shift # Resize parameter for "convert". rot="$1"; shift # Rotation parameter for "convert". ops="$1"; shift # Image quality codes (e.g. "(ZCT)"; see below). cmt="$1"; shift # Contents to place in "p.comments". # (J) Junk it. # (K) Keep it # (N) needs no rotation. # (R) needs rotation by 90 degree ccw # (Z) needs a lot of cropping # (C) needs non-trivial color correction # (S) sharp and good enough to remain as JPEG original size. # (P) sharp, convert to PNG with reduction to 2/3 of original size. # (H) lightly blurred, needs reduction to about 1/2(???) size. # (T) lightly blurred, needs reduction to about 1/3(???) size. # (Q) blurred, needs reduction to about 1/4(???) size. # (U) too blurry, unusable. sfile="${sdir}/${snum}" ddir="${pdir}/${dnum}" dfile="${ddir}/orig.png" cmtfile="${ddir}/p.comments" printf "%s\n" "--- ${sfile} --> ${dfile} ---" aut="Photo taken ${when} {by ${who}} with ${cam}" if [[ testonly -ne 0 ]]; then echo "convert ${sfile} -resize "${siz}" -rotate "${rot}" ${dfile}" >&2; echo "${cmt}." | fmt --split-only >&2; echo "${aut}." | fmt --split-only >&2; return fi if [[ ${junkthem} -eq 0 ]]; then if [[ ${keep} -eq 0 ]]; then echo '!! image skipped' >&2; return fi # Create a directory for image: if [[ ! -d ${ddir} ]] ; then mkdir -p ${ddir} ; fi # Create the comments file: echo "${cmt}." | fmt --split-only > ${cmtfile} echo "${aut}." | fmt --split-only >> ${cmtfile} cat ${cmtfile} >&2; # Create the "orig" image file: convert ${sfile} -resize "${siz}" -rotate "${rot}" ${dfile} ls -l ${dfile} display -title "${dnum}/%f" ${dfile} else if [[ ! -d ${jdir} ]] ; then mkdir -p ${jdir} ; fi mv -vi ${sfile} ${jdir} fi } # Source templates temp="${STOLFIHOME}/EXPORT/images/temp" ptmp="${STOLFIHOME}/EXPORT/images/photos/TEMP" # Destination templates dtri="${STOLFIHOME}/EXPORT/images/photos/animals" drsa="${STOLFIHOME}/EXPORT/images/photos/events/2008-04-sand-phd" dmug="${STOLFIHOME}/EXPORT/images/photos/people" even="${STOLFIHOME}/EXPORT/images/photos/events" misc="${STOLFIHOME}/EXPORT/images/photos/misc" land="${STOLFIHOME}/EXPORT/images/photos/landscapes" capa="${STOLFIHOME}/EXPORT/images/photos/figures/covers" plan="${STOLFIHOME}/EXPORT/images/photos/plants" nada="/dev/null" export jdir="${STOLFIHOME}/EXPORT/images/JUNK/processed/${today}" # === CONVERTING ORIGINAL IMAGES TO THE RAW PPM FILES ================== export cvt=( tools/bin/convert-and-crop-original-images -show ) ${cvt[@]} -crop 0 0 504 756 -size 504 756 photos/events-ic/1999-santista/35/orig.jpg ${cvt[@]} -crop 0 0 504 756 -size 504 756 photos/events-ic/1999-santista/37/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1999-santista/43/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1999-santista/20/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1999-santista/22N/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1999-santista/11/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1999-santista/29/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1999-santista/34/orig.jpg ${cvt[@]} -crop 0 0 504 756 -size 504 756 photos/events-ic/1999-santista/41/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1999-santista/23/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1999-santista/27/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1999-santista/39/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1999-santista/17/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1999-santista/12/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1999-santista/45/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1999-santista/28/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1999-santista/01/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1999-santista/32/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1999-santista/02/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1999-santista/25/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1999-santista/14/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1999-santista/15/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1999-santista/13/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1999-santista/26/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1999-santista/21/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1999-santista/38/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1999-santista/40/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1999-santista/44/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1999-santista/42/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1999-santista/24/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1999-santista/04/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1999-santista/18/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1999-santista/36/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1999-santista/30/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1999-santista/19/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1999-santista/16/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1999-santista/33/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1999-santista/08/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1999-santista/09/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1999-santista/31/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1999-santista/10/orig.jpg ${cvt[@]} -crop 0 0 504 756 -size 504 756 photos/events-ic/1997-sunsite/06/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1997-sunsite/03/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1997-sunsite/07/orig.jpg ${cvt[@]} -crop 0 0 504 756 -size 504 756 photos/events-ic/1997-sunsite/05/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1997-sunsite/11/orig.jpg ${cvt[@]} -crop 0 0 1000 1400 -size 1000 1400 photos/events-ic/1997-sunsite/01/orig.jpg ${cvt[@]} -crop 0 0 425 595 -size 425 595 photos/events-ic/1997-sunsite/02/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1997-sunsite/04/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1997-sunsite/08/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1997-sunsite/09/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1997-sunsite/10/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1997-posse/06/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1997-posse/03/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1997-posse/07/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1997-posse/05/orig.jpg ${cvt[@]} -crop 0 0 504 756 -size 504 756 photos/events-ic/1997-posse/11/orig.jpg ${cvt[@]} -crop 0 0 791 565 -size 791 565 photos/events-ic/1997-posse/23/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1997-posse/12/orig.jpg ${cvt[@]} -crop 0 0 500 700 -size 500 700 photos/events-ic/1997-posse/22/orig.jpg ${cvt[@]} -crop 0 0 653 325 -size 653 325 photos/events-ic/1997-posse/01/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1997-posse/02/orig.jpg ${cvt[@]} -crop 0 0 826 590 -size 826 590 photos/events-ic/1997-posse/21/orig.jpg ${cvt[@]} -crop 0 0 700 280 -size 700 280 photos/events-ic/1997-posse/04/orig.jpg ${cvt[@]} -crop 0 0 504 756 -size 504 756 photos/events-ic/1997-posse/08/orig.jpg ${cvt[@]} -crop 0 0 640 320 -size 640 320 photos/events-ic/1997-posse/09/orig.jpg ${cvt[@]} -crop 0 0 756 504 -size 756 504 photos/events-ic/1997-posse/10/orig.jpg exit 0