Aaron's website
Post-Processing my Photos
Here are some tools I use to post-process bird photography and a bit of trip photography:
- Preface: I’m shooting RAW photos. Compressed-raw (cRAW) for Canon since I take (and store) a lot of photos and it improves the FPS compared to losslessly compressed RAW.
- Custom scripts to import from SD cards to laptop and backup drives while renaming files, avoiding duplicates, and applying GPS tags
- Rename: Each camera has a unique 3 letter name configured in-camera. But in addition to that, I rename the files to include the timestamp. For example: 202406041250-EGG_0665.NEF . This name is going to be truly unique until they come out with 1000 FPS cameras or unless I get extremely unlucky after changing time zones. Therefore, I also use it for deduplication. (I used to checksum a bit of the file as well, but I don’t think it’s worthwhile.)
- I have a GPS track that I always try to remember to record with Open GPX Tracker on iOS. I’ve found this much more reliable than relying on smartphone pairing for GPS. I can then apply GPS coordinates to photos based on their timestamp. For example:
exiftool -geotag ~/Dropbox/2024/12-May-2024-1910.gpx -overwrite_original -GPSStatus= *.NEF
. The purpose of -GPSStatus=
is to null out an irrelevant field that FastRawViewer finds confusing.
-
git-annex to manage files.
- For example, I
git annex drop
files in my _Rejected directories, except on the NAS, where I might eventually collect the rejected garbage. But git annex
will stop be from deleting the final copy of a file unless I override.
- When I was using my older laptop with limited storage space, I would
git annex get
files from the NAS when I wanted to work on them
- I can use
git annex whereis
to verify that I have the desired number of copies of my files
git annex sync
will sync the git metadata across repos. git annex copy --to
will push the data.
- But it’s a steep learning curve with gotchas. Even having used it for more than a year, I’d say I’m just barely starting to master it. Lmk if you want more details.
- FastRawViewer to cull files, which moves the rejects to _Rejected directories. (Some people like to do this on the SD card itself, and never even bother importing _Rejected files, but that’s not my flow.) This ~$15 program is extremely fast at rendering RAW images. It also has tools to highlight sharp areas and overexposed areas. Finally, you can rate and color-code images; this info goes in a sidecar .xmp file, and I occasionally find it useful for sorting/filtering after making a first organizational pass, when I have a lot of images of a single subject to cull.
- Topaz Denoise AI (~$80 with one year of upgrades) to denoise and sharpen photos after working them up in my Lightroom equivalent. I don’t do any denoise/sharpen in my Lightroom equivalent. If I were actually using Lightroom, I think Topaz might be available as a plugin. Other people swear by DxO PureRaw denoising, which is meant to do its thing before you work up the photo in your Lightroom equivalent. An incidental benefit of denoising is that it tends to reduce the file size of the final JPEG, which I started caring about when I started serving photos from my website. I also occasionally use Topaz Sharpen AI to mitigate motion blur. And I occasionally use Topaz Photo AI to paint over distractions in the background.
- ImageOptim (free, macOS only) to lossily optimize JPEG file size. This is some magic similar to what Google Photos does: Before applying JPEG encoding/compression, it changes the image in such a way that it they compress much better, without significantly affecting image quality. So I’ll usually convert to JPEG at max quality, then let ImageOptim do its magic and output a JPEG at 80% quality. (“JPEG quality” is a well-defined parameter in JPEG encoding/compression.)