Four years ago, I made the switch to digital SLR photography. The primary reason was the workflow. When I shot slide film, I would have to get the film developed, look at each image, scan the ones I liked, correct the color balance and then manually remove the dust spots from the scanned images.
When I first got the digital camera, the workflow became: auto-correct the color balance using the Nikon’s color profile, then select the images I liked. Great!
Unfortunately, over the years, my SLR has gotten dust on the sensor, because I was doing what Nikon said and not mucking with the sensor to try to clean it. So, first thing is that I should ignore Nikon and actually clean the sensor. But the second thing is that this has really screwed with my workflow. Last year, after identifying the “good” images, I had to manually go through them and use the Heal tool in the GIMP in order to get rid of a few dust spots. Well, dust is cumulative and this year it was worse than ever. In particular, the dust was more noticeable because I was shooting a lot of waterfalls… long exposures with a small aperture – dust city. Take a look at the following:
To some extent or another, that’s on every single image I took while K and I were on vacation.
I could repeat my old workflow, but that would take days. New idea: there is a tool in the GIMP called the Smart Remove Selection. It takes a selected bit of the image and replaces it with textures from the surrounding area. It’s comparable to Photoshop’s content-aware fill. So, if I can select all of the visible dust, I can clean it at one time. But that’s still slow.
Instead, I selected all of the dust from the image above. Grew the selection by 10 pixels, converted it to a path and then saved the path as an SVG file. Since the dust is at the same location in each image, a single dust file is relevant to all of my images.
Now all I have to do is to open an image, import the path, convert the path to a selection and apply the smart remove. That’s a little better, but still means that I have to touch each file manually.
Enter GIMP scripting. Last night, I wrote a script that takes a file glob, converts it to a list of files, and for each file automatically removes the dust and color corrects the image. It still takes about a minute per file, but it’s completely automated. Unfortunately, the first version of the script only handled horizontal images. But since I always turn the camera clockwise when I shoot vertically, I was able to modify it to rotate the image appropriately, apply the dust removal and then rotate the image back i the height of the image is greater than the width.
The results are pretty great:
Dust on your sensor? Waaaah!
http://photos.butlerracingphotos.com/img/s4/v3/p469541837-4.jpg
Mine is buried in mud. 🙂
Comment by rhett — June 5, 2010 @ 12:43 pm