Processing Pics
There was a question that came up on one of the local
linux lists some time back, someone was asking around about
how we like to manage digital photos. I started thinking
about writing a response, but as is not unusual, it turns out
the details of what I actually do get pretty involved...
In outline:
- Each photoshoot gets it's own sub-directory, named
using location and date something like this: Pics/2009/SF-June_16_2009.
And further each location gets it's own text file of notes,
e.g. notes-sf-june_16_2009 where I outline what's there.
- I bring the images over by doing a gphoto2 -P.
Of late there have been some irritating permissions problems
with recent ubuntus, so I have to do a sudo on that, and a
chown on the images afterwards.
- I then start crunching through those image files,
using dired inside of emacs as my file-manager,
creating subdirectories for different sub-sets (e.g. "Cats",
"Vistas", "Closeups", "DoorwayGrills", etc.). I also often
create special subdirectories for images I want to keep
around but don't feel like categorizing with right now: "Save"
(and also "Weak", for stuff like blurry images that are a
little too interesting to delete).
- I peek at the images and re-name them as appropriate,
using an odd naming convention of my own. An example might
be: A-golden_gate_bridge_sunset-IMG_1666.IMG.
There are three hyphen seperated fields there, going from
right to left: (3) the original file name for reference sake --
note that that number tells you the sequence of the
original shoot; (2) a rough title, usually all in lowercase
like that; (1) a sort order code so that an alphanumeric sort
will put the pics in the order I want to display them.
- How do I peek at the images? One of two ways: I can
open them in a gthumb window (which automatically re-scales
them) or I can look at them in emacs image-mode (which at
present does not auto-rescale them, so if they're in raw
form they'll stretch off the screen). There's more to say
about how I get dired to work with these viewers... more later.
- Sometimes the JPG needs to be rotated (if the camera
wasn't upright when the photo was taken). Typically I just
use "gthumb" to correct this, which has a tool that runs the
lossless "jpegtrans" code. For recent versions of
"gthumb", this feature has developed some really annoying
aspects... (more on that, too). And you might think it should
be a breeze to automate (since the camera stashes orientation in the
EXIM data), but it doesn't seem to be quite that easy.
- If I want to crop the image, I launch a gimp process on
it. I try to remember to save it as an xcf before saving off
the cropped version as a jpg again (it's bad news if you have
to do multiple edits on jpegs, because it's a lossy format).
- Now, if I want to publish the set of photos to the web,
I use what I think of as my "image publication stopgap"
system: I have a number of custom perl scripts. They use
imagemagick to make scaled down copies of the images (one for
viewing, a smaller one for thumbnail use). They also generate
simple html wrappers to display the thumbnails and images --
this system uses the naming convention I mentioned above:
- I sometimes edit the generated html manually if I want
something unusual (e.g. a link to a web page that talks about
what's photographed).
- The tree of images and html then gets moved to my web site...
(I prefer to run my own, of course.)
The finished product is not very fancy, but it's nicely uncluttered
compared to the various commercial image hosting services
out there: pics
Joseph Brenner,
16 Jun 2009