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

Marsu42

Quote from: Karmaschinken on August 30, 2013, 09:27:14 PM
Sorry, I suppose this is my mistake, obviously the DUAL ISO is not yet implemented for 5D2, right?

Dual ISO should work on the 5d2 for photos, what we're really waiting for is for it to reach the 60d :-p

a1ex

Look in the ADTG thread ;)

(I actually took the first dual ISO photo today on my 60D with the ADTG GUI module)

Marsu42

Quote from: a1ex on August 30, 2013, 09:51:35 PM
I actually took the first dual ISO photo today on my 60D with the ADTG GUI module

I didn't know this thread, but: Yippeeee!!! :-))) Thanks, it's really frustrating to see such a good feature ported everywhere else :-p

Karmaschinken

 :'(

I bought a faster CF card some hours ago only to be able to record dual iso raw vids. I really love the style, I like the intro from Lars von Triers film "Melancholia", I would be very happy to be able to record footage that comes close to that.

Well, I suppose I will have to wait...  ::)

zuzukasuma

alex, this could be an extreme request but, do you think its possible to combine pinkdotremover (from EOS M thread) with Dual ISO cr2hdr module? %1 just created Dual ISO fw for M, and works great, only issue is resolution is different than other cameras.
in a complicated relationship with eos m.



telecastDaveRI

I saw this mentioned on this forum before and I just did a search for it, and cannot locate anything on it.
(It's possible that the posts were screenshots and that is why search cannot locate them).

I shot some raw video tonight using the dual ISO and then after creating seperate DNG files for each of them, and then dragging them into the newest release of Cr2hdr, I get a message that it "doesn't look like interlaced ISO" as it reviews each file.

Ideas? I thought I may have read somewhere it was because the scene could have been too dark.

a1ex

@daancalo2013: may I see that CR2?

@zuzukasuma: for video? try PinkDotRemover first, then cr2hdr.

1%


a1ex

That's not funny. There are 4 lines at one ISO, 4 at another...

sletts02

I tried processing a RAW video, 5D3, Dual ISO 1600/25600 and it doesn't seem to have worked using raw2dng

Here is a single DNG frame https://www.dropbox.com/s/bzxlo7zkkcdemcs/000000.dng

Have I done something wrong?

a1ex


a1ex

Experimental cr2hdr that fixes the DNGs from swinxx: cr2hdr_exp.exe

Can't run my pixel peeping tests right now, so... if you find files that are recognized by cr2hdr from first post, but not with this one, let me know (upload the CR2 or the interlaced DNG).

Danne

Really nice to see improvements on videofiles. Any chance getting A.D,s very nice mac app gui working with video dng,s?
//D

1%

QuoteThat's not funny. There are 4 lines at one ISO, 4 at another...

This is what it made. Maybe problems?

Marsu42

Quote from: v8rrc on August 31, 2013, 06:41:31 AM
60D Dual ISO build

Great, though a bitbucket pull request is preferred - here's at least a diff for easier merging:

--- dual_iso.c.old 2013-08-31 12:14:58.407095000 +0200
+++ dual_iso.c 2013-08-31 12:34:04.478646500 +0200
@@ -90,6 +90,7 @@
static int is_5d2 = 0;
static int is_50d = 0;
static int is_6d = 0;
+static int is_60d = 0;
static int is_500d = 0;
static int is_550d = 0;
static int is_600d = 0;
@@ -743,6 +744,30 @@
         CMOS_FLAG_BITS = 3;
         CMOS_EXPECTED_FLAG = 4;
     }
+    else if (streq(camera_model_short, "60D"))
+    { 
+        /*
+        100 - 0
+        200 - 0x024
+        400 - 0x048
+        800 - 0x06c
+        1600 -0x090
+        3200 -0x0b4
+        */
+        is_60d = 1;   
+
+        FRAME_CMOS_ISO_START = 0x407458fc; // CMOS register 0000 - for LiveView, ISO 100 (check in movie mode, not photo!)
+        FRAME_CMOS_ISO_COUNT =          6; // from ISO 100 to 25600
+        FRAME_CMOS_ISO_SIZE  =         30; // distance between ISO 100 and ISO 200 addresses, in bytes
+
+        PHOTO_CMOS_ISO_START = 0x4074464c; // CMOS register 0000 - for photo mode, ISO 100
+        PHOTO_CMOS_ISO_COUNT =          6; // from ISO 100 to 12800
+        PHOTO_CMOS_ISO_SIZE  =         18; // distance between ISO 100 and ISO 200 addresses, in bytes
+
+        CMOS_ISO_BITS = 3;
+        CMOS_FLAG_BITS = 2;
+        CMOS_EXPECTED_FLAG = 0;
+    }
     else if (streq(camera_model_short, "500D"))
     { 
         is_500d = 1;   

v8rrc

I'm getting stripes in some areas without much detail.
http://sdrv.ms/14g00M9



Quote from: Marsu42 on August 31, 2013, 12:21:25 PM
Great, though a bitbucket pull request is preferred - here's at least a diff fine for easier merging with new dual_iso.c files from trunk:


--- ml-trunk/modules/dual_iso/dual_iso.c 2013-08-31 12:14:58.407095000 +0200
+++ ml-trunk/modules/dual_iso/dual_iso.c.new 2013-08-31 12:10:41.227385100 +0200
@@ -743,6 +732,30 @@
         CMOS_FLAG_BITS = 3;
         CMOS_EXPECTED_FLAG = 4;
     }
+    else if (streq(camera_model_short, "60D"))
+    { 
+        /*
+        100 - 0
+        200 - 0x024
+        400 - 0x048
+        800 - 0x06c
+        1600 -0x090
+        3200 -0x0b4
+        */
+        is_60d = 1;   
+
+        FRAME_CMOS_ISO_START = 0x407458fc; // CMOS register 0000 - for LiveView, ISO 100 (check in movie mode, not photo!)
+        FRAME_CMOS_ISO_COUNT =          6; // from ISO 100 to 25600
+        FRAME_CMOS_ISO_SIZE  =         30; // distance between ISO 100 and ISO 200 addresses, in bytes
+
+        PHOTO_CMOS_ISO_START = 0x4074464c; // CMOS register 0000 - for photo mode, ISO 100
+        PHOTO_CMOS_ISO_COUNT =          6; // from ISO 100 to 12800
+        PHOTO_CMOS_ISO_SIZE  =         18; // distance between ISO 100 and ISO 200 addresses, in bytes
+
+        CMOS_ISO_BITS = 3;
+        CMOS_FLAG_BITS = 2;
+        CMOS_EXPECTED_FLAG = 0;
+    }
     else if (streq(camera_model_short, "500D"))
     { 
         is_500d = 1;   


Maybe Alex or someone should give it a quick check over to make sure I got it right.  :)

EDIT: Just submitted a pull request

Marsu42

Quote from: v8rrc on August 31, 2013, 12:44:27 PM
I'm getting stripes in some areas without much detail.

With the test shots I just did I didn't see this, but I probably just was lucky and the assembly worked for me. It does produce artifacts though when merging a high iso shot due to the different noise patterns. In general the 60d works 100% with this module as far as I can tell - thanks!

1. Request: dual iso should really be combined with an ettr/ettl option to expose the first image to one side and then automatically figure out the required ev spacing for the 2nd shot, in essence minimizing the required dual_iso ev spacing. Currently you have to decide for a + or - ev variant and then guess the ev value, I don't see a reason why ml shouldn't be able to do this (as usual with an option about how many clipped shadows & blown highlights are acceptable).

2. Request: The "alternate shot" mode should be amended with an option not to just take the base image, but also as a 2 shot bracket the higher iso shot so the user can decide later if the ml composite shot is necessary or if a "real" hdr assembly is possible (i.e. static scene) or even necessary due to dual_iso artifacts.

3. Bug: Alternate frame doesn't work when holding the shutter pressed with continuous drive (yes, I know it probably won't be possible to intercept Canon here, but maybe a warning about this is a good idea).

a59192



Thank ML team effort! Compared to the initial cr2hdr stripes, now restored cr2hdr perfect lot!

frogcement

Quote from: v8rrc on August 31, 2013, 06:41:31 AM
60D Dual ISO build https://skydrive.live.com/redir?resid=12771D90C09D1BCB!156&authkey=!AKIlr0pSWRB0uLs
and Dual ISO.c https://skydrive.live.com/redir?resid=12771D90C09D1BCB!185&authkey=!ABf4aY3iIWdNzG8
Works on my 60D photo and video.  :)

After reading the dual iso pdf, I thought this module was only able to work on 5d3 && 7d because of the hardware, so how does this now work on the xxD cameras that only have the 4 channel readout vs. the 8 channel readout of the 5d3 && 7d? && does this work on xxxD as well? I'm soon to get another aps-c body and was going to get another 7d but if this will work on xxD && xxxD I may well get a rebel. TIA.
--
K.C.
--
K.C.

Rewind

Quote
...but if this will work on xxD && xxxD I may well get a rebel.

For example, dual ISO works fine on t2i both in photo and video modes ;)

1%

I think its ported to almost every camera, some don't do it in LV tho.

frogcement

Quote from: 1% on August 31, 2013, 09:31:49 PM
I think its ported to almost every camera, some don't do it in LV tho.
That's quite amazing, considering only 2 maybe 3 cameras have the 8 channel sensor, the 5d3, 7d and the ?6d? I'm not sure about the 6d, I'm just wondering how its done on cams that only have the 4 channel sensor. Amazing amazing work !!
--
K.C.

1%

The register has 2 isos in it.. maybe on a 4 channel it uses 2 and 2, on an 8, 4 + 4?