]> git.scottworley.com Git - picsort/blobdiff - pics-preprocess
Support .jpeg files mixed in with .NEF files
[picsort] / pics-preprocess
index fde35d14f9f70630ee8468d5499a8013b8ebdfcb..780acdc794657b6f875e7aaee07d0c9f53fa2e90 100755 (executable)
@@ -1,7 +1,8 @@
 #!/bin/bash
 
-# Pass .NEF files as $@.
-# This makes many variants of each one at different exposure levels. 
+# Pass .NEF and .jpeg files as $@.
+# This makes many variants of each .NEF file at different exposure levels
+# and makes reduced-size versions for faster browsing.
 
 GREEN=1.105
 TEMPERATURE=5500
@@ -10,22 +11,28 @@ SMALLHEIGHT=700
 
 
 for f;do
-  for level in {10..30};do
-    mkdir -p {,sm/}"$level"
-    base="$(basename "$f")"
-    out="$level/${base%.NEF}.jpeg"
-    exposure=$(dc <<< "2k $level 4 / 3.5-p")  # 10 to 30 -> -1 to 4 in .25 steps
-    if [[ ! -s "$out" ]];then
-      ufraw-batch --out-type=jpeg \
-                  --green="$GREEN" \
-                  --temperature="$TEMPERATURE" \
-                  --compression="$JPEGCOMPRESSION" \
-                  --exposure="$exposure" \
-                  --output="$out" \
-                  "$f"
+  if [[ "$f" == *.NEF ]];then
+    for level in {10..30};do
+      mkdir -p {,sm/}"$level"
+      base="$(basename "$f")"
+      out="$level/${base%.NEF}.jpeg"
+      exposure=$(dc <<< "2k $level 4 / 3.5-p")  # 10 to 30 -> -1 to 4 in .25 steps
+      if [[ ! -s "$out" ]];then
+        ufraw-batch --out-type=jpeg \
+                    --green="$GREEN" \
+                    --temperature="$TEMPERATURE" \
+                    --compression="$JPEGCOMPRESSION" \
+                    --exposure="$exposure" \
+                    --output="$out" \
+                    "$f"
+      fi
+      if [[ ! -s "sm/$out" ]];then
+        convert "$out" -geometry "x$SMALLHEIGHT" "sm/$out"
+      fi
+    done
+  else
+    if [[ ! -s "sm/$f" ]];then
+      convert "$f" -geometry "x$SMALLHEIGHT" "sm/$f"
     fi
-    if [[ ! -s "sm/$out" ]];then
-      convert "$out" -geometry "x$SMALLHEIGHT" "sm/$out"
-    fi
-  done
+  fi
 done