
Someone shoot me, please. I came home from my South American trip with over 10000 pictures (and I already made a first selection before sending them home, so probably I shot over 15000 of them ... Completely mind boggling)
So, first things first, let's organize the pictures on a file system in an orderly fashion, being storing them by the year and month shot. Since I have also a lot of pictures from earlier travels, I decided to organize those the same way and store their meta information (EXIF, geo tags, ITPC, ...) in a database, so I wrote me a script (bash of course) that would extract the "date taken" from the EXIF meta information stored in the picture, calculate a MD5 checksum and rename the picture accordingly, generating following file names :
DCIM_20080703153727_d7058310087350d882bb3b2aba98969a.jpg
The DCIM stands for Digital Camera Image and allows me to distinguish my pictures from other ones (wallpapers, ...). I even use a second name, called DMIM, which stands for Digital Manipulated Image, which is an artificial created image created from stitching or transforming an original image, but let us not get ahead of ourselves.
A second script would find all files on the file system, which correspond to a D[CM]IM pattern and copy them to their corresponding directory. In this case to /dev/sdb1/DCIM/2008/200807/
The next step was a bit more elaborate : going through all the pictures manually comparing them to each other (sometimes I took 2 or more pictures of the same object to make sure I got at least 1 sharp one) and wielding out blurry and meaningless ones, bringing their numbers down to around 8600 pictures. This process took me over 2 weeks, due to time constrains and working very carefully (I even hooked up a new monitor for this purpose).
Before being able to start tagging the pictures and selecting my favourites (since a lot of people are asking me when I am going to organize a picture evening), I decided to stitch multiple pictures together using my all favourite tool : Autostitch. Too bad, this is only a demo version of an automation stitching engine (You give him a couple of images and he will make a panoramic image, omitting all images he will not need) and you have to select all your input material manually and you can't give him a directory as input and let Autostitch sort them out, so I started creating directories and copy adjacent pictures to that directory, allowing me to stitch them together later on. I tried to automate the stitching process and I even could base myself on some script I found on a blog automating stitching but you still needed specify which pictures to take and although I decided to adapt the script to allow Autostitch process multiple directories, the application simple does not support it. Another annoying feature is that the resulting picture does not have EXIF information, so I needed to also write me a script to copy some of the EXIF information from the source images to the panoramic one, such as the camera model, the iso speeds, the date taken (which I needed for my organizing script). I was looking forward to a lot of work ... Someone shoot me now.
After a day of work, I had done only 14 pictures and still 90 more to go (sometimes having to restart because Autostitch took a wrong picture and the resulting image was less than perfect).
This morning, I was surfing the web and found a commercial implementation of the Autostitch demo, called Autopano Pro, which runs on Windows, Linux and Mac. I downloaded the application and it seemed it could perfectly handle multiple directories, so I let him stitch my prepared directories and the result was very satisfactory (It even copied the EXIF information from one of the source images). An extra bonus was that it was able to browse a directory for images and found all stitchable images in a directory and build a panoramic out of them. A quick scan revealed I had 500+ potential stitchablestitchable images (I always shoot a lot of pictures) in my DCIM directory. Since this application was going to save me a lot of work and time, I decided to license it (the trial version left watermarks on the image) and now it is in the process of generating as many panoramic images as possible.
After some images have been identified as being a potential stitch, they are stitched together and after a first preview you can render it in full resolution (taking as long as an hour for a 10 source images image) and it will be saved on the file system with a file name containing all the source images. This will allow me to build a script, scanning the file name and copying all source images together with the panoramic picture to its own directory and check its quality and if ok, delete the source image, if not try to re render the picture with a subset of the source images.
This story is definitely to be continued as I finish creating the stitches and start tagging my pictures.
