Dual ISO - massive dynamic range improvement (dual_iso.mo)

Started by a1ex, July 16, 2013, 06:33:50 PM

Previous topic - Next topic

0 Members and 4 Guests are viewing this topic.


There are plenty of options here, for running multiple instances of cr2hdr.


I didn't really get what specifically you were thinking of, but I found this terminal line


open -n -a "cr2hdr"

Do that a couple of times = win

Also, there seems to be a limit to the number of files which the cr2hdr program will accept, somewhere between 1750 and 2000 (didn't test too closely). When you hit this number, the program simply will not start running and you have to cancel, close the program and choose a smaller number of files.
Has anybody else found this to be true?


My apologies. 

I thought I had seen an application for mac that opened multiple instances of cr2hdr for faster processing.  Having a quick look through the forum though, doesn't appear that there are any applications.

If you accomplish a nice workflow to allow so, please feel free to make a post, and I can sticky it in the post processing section for others to benefit.



No worries, worst case I'll use parallells or dual boot.
Right now I can open as many windows (osx) as I want (probably wouldn't be faster after 8, as I have quad core hyper thread), but the main problem is feeding the windows as you have to sit ready for when the processing is done. Would certainly be nice to just load all the folders with the .dngs and let it crunch through those files overnight.


Nice.  :)

The ultimate gain strategy imo, would be individual gain of each pixel group.  Of course, that's not something possible atm, but I imagine the camera makers could implement it without to much hassle.  I'm not holding my breath though.

I expect your paper on CMOS/ADTG to generate significant interest.


[a1e13] A1EX: Dynamic range improvement for canon
dslrs with 8-channel sensor readout by alternating iso
during sensor readout. Technical documentation, url:
http://acoutts.com/a1ex/dual_iso.pdf, July 2013.

hrhr, congratulations :)
and whats the difference to your algorithm now?
i cant see any visual difference except shadows being pushed.

edit: ah in the piano view it shows a bit improvement on aliasing
Help us with datasheets - Help us with register dumps
magic lantern: 1Magic9991E1eWbGvrsx186GovYCXFbppY, server expenses: [email protected]
ONLY donate for things we have done, not for things you expect!


I'm writing to them as we speak; would be very nice to try their algorithm on my test suite (which simply contains the troublesome images reported in this thread).

Can't tell yet where the shadow difference is coming from; right now, my best guess is that it has to do with the algorithm for matching the image brightness (I simply match the histograms, which is fairly good because it removes most of the noise, but meanwhile I found out the histograms are distorted - read: convolved - by noise in shadows, and my only correction to that is a stronger weight in the highlight range).


Canon EOS 1100D w/ 18-55mm | ML Nightly Build Tester


Hi -
I've been following this thread for a few months, but I'm still a noob. 

The use of 20 bit FP for combining the images makes sense to me, but then you possibly lose some of that advantage when mapping back to 16 bit.  How about an option to output in 32 bit TIFF?  Recent versions of ACR read that format, so you wouldn't lose any information.

Thanks for all your work.


My dual iso clips seem to have the last horisontal line flickering and I'm not sure what I'm doing wrong.
Processed with cr2hdr 2.0 for mac

Does anybody have the same experience?


I have been on the fence about using ML on my 5D Mark III because I didn't want to downgrade the 1.2.3 firmware. Now that there is a version out that works on this firmware, I installed it. I wanted to try out the dual ISO so I took a shot with some deep shadows to see how it would do. The results are pretty astounding. I'm actually surprised that the camera at the default setting is so noisy at ISO100 (I exposed for the very bright window purposely so I would have to crank up the shadows in post). Enabling Dual ISO (100-1600) dramatically reduced the grain and increased the detail. I used cr2hdr on my Windows 7 laptop with no issues at all. Here is a 100% crop of with and without...


Quote from: a1ex on March 19, 2014, 12:03:51 PM
For pixel peeping, here's a full-res version of their test image:

(from http://vcl.itn.liu.se/publications/2014/HKU14/ )

their method seems to introduce blur in both 100-800 and 100-1600, like a thin softfocus to my eyes... they even mention this near the end of the paper: "However using isotropic filter kernel can introduce blur and color artifacts in the result" - does this mean they'd get sharp results by removing the aa filter?

grats on the citation, and if they work/share with you, even better


Quote from: aseek on March 21, 2014, 08:20:12 AM
does this mean they'd get sharp results by removing the aa filter?

Probably, but it would apply to all situations, not simply whatever they are doing.


Forgive me if this has already been discussed.

Dual ISO is not useful to me for video due to the crawling aliasing I see at boundaries between 1/2 res highlights and mid/shadows, or 1/2 res shadows and mids/highlights  - when the camera or scene is in motion.

The question is whether it's possible to perform dual ISO in shadows only, leaving highlights at full resolution? I figure that this would sacrifice 1/2 the DR benefit, but I hypothesize that my main objection for dual ISO for video would be improved in that there would be no aliasing between highlights and mids, but only between 1/2 res shadows and highlights/mids.

This is based on my assumptions that the aliasing between 1/2 res highlights and 1/2 res shadows is the most noticeable and disagreeable, and that aliasing between 1/2 res highlights and mids is more noticeable that aliasing between 1/2 res shadows and mids.

[EDIT] Or do I accomplish this myself by setting Dual ISO to, say, 2.4EV DR gain (100/800) and underexposing by -1.2EV?
Steve Falcon


This would require two things:
1) knowing in advance where are the highlights and where are the shadows
2) the ability to configure gain per-pixel

What you can do right now is to tweak FPS to avoid crawling, and use raw zebras to make sure the aliasing occurs in out-of-focus areas only.

Note that right now, the algorithm does not exploit any kind of temporal information. Contributions are, of course, welcome in this direction, and as a starting point for research, I could mention the super-resolution technique.


I'll need to re-read your paper to understand why resolution must be sacrificed at both highlights and shadows. I assumed that if the high-ISO highlights are not clipped, then they could be kept, rather than replaced with line-doubled low-ISO highlights.
Steve Falcon


If the high-iso data is not clipped, it's called "midtone" and rendered in full resolution.


As an example, I'd think the aliasing in #1 could look more like #2, if highlights were not half-res. And #3 could be clean.

Steve Falcon



Quote from: a1ex on March 21, 2014, 10:07:49 PM
If the high-iso data is not clipped, it's called "midtone" and rendered in full resolution.

So to accomplish full-res highlights, do I, say, run DualISO at 100/800 and expose to the right minus 1.2EV?

Or if I run 800/100 and expose to the right, are high-ISO highlights automatically preserved?
Steve Falcon