After having some trouble getting
ZeroNoise working, I coded my own version of the algorithm (well, only the part I understood) and ran a little experiment to check
whether you should really take as many brackets as you can, or whether you can get away with just 2 or 3 pictures spaced at 4 EV or more.
I've called my program CeroNoice, pronounced pretty much like ZeroNoise, with a Spanish "ce" ("
hay que sacar la lengua").
Download:
CeroNoice.exe. It requires dcraw (get it from
cr2hdr.zip) and outputs 32-bit float DNGs (I know, it's overkill, but 16-bit float is not a native C data type).
Greg sent me a 6x2 EV bracketed sequence (thanks!):
IMG_5826.CR2 IMG_5827.CR2 IMG_5828.CR2 IMG_5829.CR2 IMG_5830.CR2 IMG_5831.CR2
The test script and results (warning: the files are huge, don't jump to download without reading what is what):
# 1 image, exposed for highlights
sh test.sh IMG_5826.CR2 && mv out.dng
26.dng && convert a.tif
26.jpg# 2 images, 2 stops apart
sh test.sh IMG_5826.CR2 IMG_5827.CR2 && mv out.dng
26-27.dng && convert a.tif
26-27.jpg# 2 images, 4 stops apart
sh test.sh IMG_5826.CR2 IMG_5828.CR2 && mv out.dng
26-28.dng && convert a.tif
26-28.jpg# 2 images, 6 stops apart
sh test.sh IMG_5826.CR2 IMG_5829.CR2 && mv out.dng
26-29.dng && convert a.tif
26-29.jpg# 2 images, 8 stops apart
sh test.sh IMG_5826.CR2 IMG_5830.CR2 && mv out.dng
26-30.dng && convert a.tif
26-30.jpg# 2 images, 10 stops apart (!)
sh test.sh IMG_5826.CR2 IMG_5831.CR2 && mv out.dng
26-31.dng && convert a.tif
26-31.jpg# 3 images, 4 and 6 stops apart (total 10)
sh test.sh IMG_5826.CR2 IMG_5828.CR2 IMG_5831.CR2 && mv out.dng
26-28-31.dng && convert a.tif
26-28-31.jpg# 3 images, 6 and 4 stops apart (total 10)
sh test.sh IMG_5826.CR2 IMG_5829.CR2 IMG_5831.CR2 && mv out.dng
26-29-31.dng && convert a.tif
26-29-31.jpg# 6 images, 2 stops apart (total 10)
sh test.sh IMG_5826.CR2 IMG_5827.CR2 IMG_5828.CR2 IMG_5829.CR2 IMG_5830.CR2 IMG_5831.CR2 && mv out.dng
26-27-28-29-30-31.dng && convert a.tif
26-27-28-29-30-31.jpgOther scripts you may need to review or reproduce my experiment:
dngfloat_hdr.py (requires dng_validate.exe from Adobe DNG SDK v1.4, not earlier)
test.shNow it's your turn to look at these images, try my program and draw the conclusions.
Happy pixel peeping!