over the last one or two years a gathered some experience with Open Source Timelapse Post-Processing. While I don’t have the time to write a How-To (yet) I want to share a Python script which I wrote to significantly improve the results. Note, that the script works in combination with darktable, so if you don’t want to or can’t use darktable you can stop reading now.
First, a bit of background information of why I wrote this script and how it works. Generally, if you look around, everyone (even the “gurus”) recommend shooting Timelapses with a fixed White Balance (e.g. a concrete value or “daylight”). This will, however, give to cold or to warm colors when the color temperatures shift during sunrise or sunset.
For that reason I started to shoot in AWB or automatic white balance mode. This works surprisingly well (at least on my Sony cameras), except if there are clouds moving through the picture and especially when those clouds get lit up by city lights. In that case you will get the odd frame where the WB is totally off, resulting in a nasty “color flicker” in the final video.
The fix is quite easy: All you need is to apply some data smoothing, where well know and studied approaches are available. I picked a Savitzky-Golay filter, because it’s readily available for Python and I understood how to use it
More technical description:
The script reads the White Balance coefficients (*) from the RAW files. The RAW files are only opened for reading, so that should be safe. Then, the Savitzky-Golay filter is applied to smooth out the value. After that, the coefficients are written to the XMP files as new Temperature element on top of the stack. Again, the new element is added, nothing should be replaced or even deleted.
The filter parameters can be freely tuned, with a handy plot option to see how the curve will behave to achieve the best possible smoothing.
I have tested this script multiple times now and it has not (yet) failed me. However, I take no liability if it eats your RAWs, your XMPs or spills your coffee. Make backups, at least until you are sure that you know what you’re doing and until you have some experience using this script.
If you start editing a batch of Timelapse photos I recommend fixing the WB first, because it might have a huge impact on how you edit your colors. If you do a daylight-only shot, you might not need it. Make it a case by case decision. On the other hand, it should be save to use it for every sequence.
And now, grab it, while it’s hot:
(*) The WB coefficients are four values which are translated to the WB temperature value we all know and use. I didn’t understand the translation or calculation entirely, apparently there are different algorithms. Luckily, darktable does this translation internally and stores the coefficients in the XMP files