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 5 Guests are viewing this topic.

a1ex

This would work, but the math for matching the frames is an order of magnitude more complex than what I did here. So... good luck!

zuzukasuma

Quote from: enliten on September 04, 2013, 10:13:15 AM
I asked this much earlier in the thread and it got buried. Again I'm not sure if I'm understanding correctly but:

are we talking about taking 2 frames with alternating ISO locations and combining them in post?

i.e. frame 1 has odd rows as iso 100, even as 1600
then frame 2 has odd rows as iso 1600, even as 100

Would this work? would we gain more detail from this method? or would you be better off just bracketing ISO?

Cheers,

Ben


read this Ben, http://acoutts.com/a1ex/dual_iso.pdf
in a complicated relationship with eos m.

enliten

I have read that, I understand the basics of the dual ISO and used it in the few days after it was first released.

What I am asking is: Could the process of taking two separate image be automated, whereby one image has alternating rows of low ISO then high ISO, followed by the second image that has alternating rows of high ISO then low ISO.

Almost like a HDR, but with dual ISO and with two images rather than one. The benefit would be that some detail would be retained in the shadows and highlights as there would be enough information to fill the blank areas. The downside being that if there is any movement in the frame (like a standard HDR) you're likely to get movement / ghosting. The difference is that the ghosting would be interlaced, rather than "solid"

I don't know if I have explained this succinctly, please let me know if I need to clarify more.

-Ben

a1ex

For video it could work.

For photo, it completely misses the point, since you will get better results with a simple 2-frame bracketing.

enliten

Quote from: a1ex on September 04, 2013, 02:01:38 PM
For video it could work.

For photo, it completely misses the point, since you will get better results with a simple 2-frame bracketing.

So recording video at 60 fps and then merging frames to 30 in post?

Does the current HDR use the raw buffer? I'm just thinking that if you're capturing two consecutive frames, i.e. silent picture / raw video style, those images are going to be closer together in terms of time. Better for moving subjects (less ghosting). Excuse my ignorance on the topic.

-Ben

a1ex

Advice: try playing with it first, watch the video from the user guide, read my previous posts...

enliten


bkummel

Hi,

I have been playing around with dual ISO on my 7D. I was able to shoot some pics and convert them to DNG with cr2hdr. However, it seems the DNG-files created by cr2hdr aren't completely well-formed. The Preview app on my Mac, as well as iPhoto and Aperture should be able to open or import DNG-files. However, it turns out they can't read the files created by cr2hdr. From what I've read on the forum, I understand that Lightroom also isn't able to open the files, but Photoshop is. (But I don't have the Adobe apps, so I can't confirm that.) I've also tried GIMP, but that didn't work either.

I tried converting to JPG with ufraw-batch, but that gives very dark images with no details in the shadows. Besides, when converting to JPG, I loose the dynamic range, so that isn't an option anyway. I'd like to import the DNG's in Aperture, to be able to store them in Aperture's library along with all my other CR2's and edit them in my normal workflow.

Does anyone know a way to get Dual ISO images into Aperture without losing the RAW-data? Or is there any chance someone would be able to fix cr2hdr, so that it creates well-formed DNG's. (Note that you don't need Aperture or iPhoto to test. The Preview-app, which is part of OS X, uses the same RAW-reading technology as the other Apple-apps.)

PS.
I even tried to compile cr2hdr myself yesterday, with the latest sources from Bitbucket. I managed to compile it and it works, but gives the same unusable DNG-files.

1%

Here is the folder with images with content + dark frames for non crop mode.

In dual ISO the 100 will be clean and the 1600/3200/6400 will be like this.

nonZoom (Folder Link)
https://mega.co.nz/#F!UwgxkBwb!Y4BtsijIZU06FGE-XSRJJQ


3rdwave

Hello everyone!
I seem to be running into an issue with the DNG's becoming blue or pink after processing through RawMagic.

Any idea what is causing this? Is this the way I'm processing or my capture?
I'm using a 60D with the most recent build.

Cheers! :)

Kuvaldoff

Quote from: bkummel on September 04, 2013, 03:16:20 PM
...
I tried converting to JPG with ufraw-batch, but that gives very dark images with no details in the shadows. Besides, when converting to JPG, I loose the dynamic range, so that isn't an option anyway.
...
Try Darktable or Luminance HDR. IMHO, Luminance works with dynamic range better. I came to the conclusion that it is better to use converters, based on dcraw or libraw.


nanomad

It's still not polished up though. But feel free to use it and report any bugs you find. It will be merged in the main tree soon
EOS 1100D | EOS 650 (No, I didn't forget the D) | Ye Olde Canon EF Lenses ('87): 50 f/1.8 - 28 f/2.8 - 70-210 f/4 | EF-S 18-55 f/3.5-5.6 | Metz 36 AF-5

martie

Is there any quick way to filter for dual ISO raw pictures in Lightroom? I tried the ISO meta data, but there seems to be only one ISO value for Dual ISO pictures, so this won't work. (Btw, I think would be nice feature if the two ISO values would be stored instead of just one.)

Also, I would like to know it is possible to give the output file name for cr2hdr as parameter. If a file is already converted to dng, it is overwritten with the output of cr2hdr, which probably is not always desired. I am using https://bitbucket.org/OtherOnePercent/tragic-lantern-6d/downloads/cr2hdr.exe.

a1ex

Try the DUAL file prefix option.

If a file is DNG, you can rename it to CR2 and it will still work (dirty trick). There are no command line options for now.

Marsu42

Quote from: a1ex on September 05, 2013, 01:52:49 PM
Try the DUAL file prefix option.

Since deflicker and dualiso are mutually exclusive, cr2hdr could also add an xmp file with a similar comment like deflicker and put the other iso value used into it - I think you don't even need to embed it in the dng, an external xmp will also do if there's no tag conflict with the in-dng data.

a1ex

cr2hdr already uses exiftool, so it can add a custom tag. No need for external files.

I don't use these tags, so it will have to be done by somebody who does ;)

RenatoPhoto

dual_iso module does not compile>
Opps: module compiles but cr2hdr does not.

../../src/chdk-dng-host.o: In function `pow_calc_2':
/home/magiclantern/magic-lantern/modules/dual_iso/../../src/chdk-dng.c:504: undefined reference to `pow'
/home/magiclantern/magic-lantern/modules/dual_iso/../../src/chdk-dng.c:504: undefined reference to `pow'
/home/magiclantern/magic-lantern/modules/dual_iso/../../src/chdk-dng.c:504: undefined reference to `pow'
collect2: error: ld returned 1 exit status
make: *** [cr2hdr] Error 1
http://www.pululahuahostal.com  |  EF 300 f/4, EF 100-400 L, EF 180 L, EF-S 10-22, Samyang 14mm, Sigma 28mm EX DG, Sigma 8mm 1:3.5 EX DG, EF 50mm 1:1.8 II, EF 1.4X II, Kenko C-AF 2X

nanomad

Fixed, for some reason it worked on my  laptop but not ony PC ... go figure
EOS 1100D | EOS 650 (No, I didn't forget the D) | Ye Olde Canon EF Lenses ('87): 50 f/1.8 - 28 f/2.8 - 70-210 f/4 | EF-S 18-55 f/3.5-5.6 | Metz 36 AF-5

RenatoPhoto

Quote from: 1% on September 04, 2013, 05:52:17 PM
Now it detects camera model:

https://bitbucket.org/OtherOnePercent/tragic-lantern-6d/downloads/cr2hdr.exe

Thanks for the update I have noticed higher resolution and less noise in the shadows and mids with this update.  I also had some problems with some cold pixels which have now been resolved..  I will be testing this further with some wildlife photography.
http://www.pululahuahostal.com  |  EF 300 f/4, EF 100-400 L, EF 180 L, EF-S 10-22, Samyang 14mm, Sigma 28mm EX DG, Sigma 8mm 1:3.5 EX DG, EF 50mm 1:1.8 II, EF 1.4X II, Kenko C-AF 2X

Audionut

I can't get cr2hdr to work on the linux box and no idea how to compile for windows.

To add a keyword tag for easy searching, the command is

exiftool "-xmp:subject=Dual-ISO" 1234567.dng

I think this will do it if anyone wants to try

# HG changeset patch
# User Audionut <[email protected]>
# Date 1378425319 0
# Branch unified
# Node ID 0f20e1936e12cff0cd623569753ffb76e707e5f3
# Parent  e0f48240e08b9aeace74228416ce6a128f5a2e6c
Added Dual-ISO keyword metadata for easy searching

diff --git a/modules/dual_iso/exiftool-bridge.c b/modules/dual_iso/exiftool-bridge.c
--- a/modules/dual_iso/exiftool-bridge.c
+++ b/modules/dual_iso/exiftool-bridge.c
@@ -8,7 +8,7 @@
void copy_tags_from_source(const char* source, const char* dest)
{
     char exif_cmd[1000];
-    snprintf(exif_cmd, sizeof(exif_cmd), "exiftool -tagsFromFile \"%s\" -all:all \"-UniqueCameraModel<Model\" \"%s\" -overwrite_original", source, dest);
+    snprintf(exif_cmd, sizeof(exif_cmd), "exiftool -tagsFromFile \"%s\" -all:all \"-xmp:subject=Dual-ISO\" \"-UniqueCameraModel<Model\" \"%s\" -overwrite_original", source, dest);
     int r = system(exif_cmd);
     if(r!=0)
     {


Also, looks like the only way to add the second ISO speed is via keyword/label/user comment tags.
The correct ISO tags only accept integer.
And I have no idea how to parse the ISO speeds from code for exiftool to use.

a1ex

Looks good to me.

The ISO estimation from cr2hdr is relative to the other ISO (can be either positive or negative, but there's no way to tell - other than a rough guess). If EXIF ISO is 100 and the estimated one is 3 EV, it's clear in which direction it is. If exif ISO is 800 and estimated 3 EV, it's not clear whether it's ISO 800/100 or 800/6400.

You could even use the noise levels and the usual Canon DR curve to figure out which ISO is likely to be.

Or maybe just add a comment that says ISO difference: 3.14 EV.

Audionut

EV difference would be fine imo. 

I would also suggest that it be added to the current tag above, and have the value rounded to an integer.

So you would end up with

Dual-ISO 1EV
Dual-ISO 2EV
Dual-ISO 3EV

etc, etc for searching.

Other ideas?

kazeone

if anyone has any Android programming skills would be cool if we had the CR2hdr program work on Android devices so if we are on the go we dont need a laptop and what not, only an idea and not sure if its possible, Im not a programmer so yeah. ^^;;

Audionut

The processing time is around 30 seconds on my overclocked 2600k.  I dread to think what it would be like on a current android device.