CeroNoice - HDR tool inspired from ZeroNoise

Started by a1ex, December 15, 2013, 04:47:48 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

rudison

Oh my god!!!
What a great tool!

I tried it with 3 raw files from the 650D (AEB 2 EV). Size for each file ~ 18 MB.
CeroNoice creates a file of 71 MB (dng_validate tells me: 32 bit, FloatingPoint, uncompressed)
With DNGConverter (or import into LR 5.3) the filesize is 54 MB (32 bit, FloatingPointX2, deflate)
With DNGConverter (lossy) the filesize is reduced to 23 MB (16 bit, FloatingPointX2, deflate)

I think the last option is the best one. 16 bit FloatingPoint should be good enough.
(Adobe creates a 8 bit lossy jpg DNG file if you select lossy compression for a raw file directly from the camera. But a 32 bit FP DNG is converted into a 16 bit FP DNG!).

For the final image it is necessary to adjust the basic sliders in Lightroom (exposure, contrast, highlights, shadows, ...) The exposure limit (-5/+5) is not a problem for me. If one of the sliders reaches the limit (shadows?) I can also adjust the tone curve.

The final image seems to be as good or better than the image I got in the past with enfuse. I will continue testing.


Note: This is the correct link to the SDK 1.4: http://www.adobe.com/support/downloads/detail.jsp?ftpID=5475

a1ex

When you see -5..5 EV in Lightroom, it's using 16 bits for raw processing (just like stock dcraw/ufraw). For things where dual ISO is enough, this is fine. For more extreme brackets like the ones from this thread, it's not.

When it shows -10..10 EV, it uses some higher bit depth, and this is what we should get. Probably it's something missing in the DNG header (not sure what yet).

rudison

Ok, now I understand the problem.

I tried it with a more extreme bracket. In this case I had to set the exposure to +5 and shadows to +100. And I get ugly patterns/banding in the dark areas.

I suspect Lightroom will only use the higher bit depth if a debayered file is imported (I tried tiftest.dng from engardeknave).

   

engardeknave

The Lightroom controls are just calling the same codebase as ACR from a different GUI as I understand it.

I tried the SDK 1.4 (which I thought I had & linked), and assuming you haven't tried yourself yet for whatever reason:

Validating "out.dng"...
*** Warning: Too little padding on left edge of CFA image (possible interpolation artifacts) ***
*** Warning: Too little padding on top edge of CFA image (possible interpolation artifacts) ***
*** Warning: Too little padding on right edge of CFA image (possible interpolation artifacts) ***
*** Warning: Too little padding on bottom edge of CFA image (possible interpolation artifacts) ***
Raw image read time: 0.045 sec
Linearization time: 0.034 sec
Interpolate time: 0.313 sec
Validation complete


Validating "tiftest.dng"...
Raw image read time: 1.266 sec
FindNewRawImageDigest time: 0.547 sec
Linearization time: 0.192 sec
Interpolate time: 0.000 sec
Validation complete

rudison

The tool dng_validate is able to convert the 32bit floating point dng into a 32bit floating point tiff (linearization, black/white level mapping, demosaic processing). This allows the following workflow:


CeroNoice.exe 1.dng 2.dng 3.dng 4.dng
dng_validate.exe -3 out out.dng
exiftool.exe -tagsfromfile 1.dng out.tif


Afterwards the tif file can be imported in Lightroom. The white balance / levels / tone curve needs to be changed, but with good quality (EV -10 ... 10). The tif file can also be processed with other tools for advanced tonemapping techniques.

Disadvantages:

  • The raw processing is not performed in Lightroom (no hotpixel removal, no white balance defaults, no automatic lens correction ...)
  • The filesizes are bigger

@ a1ex: Is it possible to make a version of CeroNoice that creates a 16 bit (32 bit?) integer dng (linear)? With or without a black level? Maybe this gives enough quality if it's not a scene with very high dynamic range (no extreme bracket).

engardeknave

Ah, this is a big step in the right direction. I've been trying to figure this out for hours. Although with regard tot he colors, I have the saturation pegged and it's just barely enough.

If I could make a request, it would be a ceronoise that accepts an output file name argument so I can start scripting this.

a1ex

Great find.

If you can isolate a minimal set of tags that ACR is looking for, it would be even more helpful for me.

@engardeknave: will do, but most likely next year. I also want to match WB (the bottom-left picture from your set needs it, probably because of fluorescent lighting), add some basic checks for motion artifacts, and use 16-bit output (both integer and float).

The current version was coded in a couple of hours (it's pretty much the cr2hdr code with the deinterlacing part removed).

engardeknave

If you can isolate a minimal set of tags that ACR is looking for, it would be even more helpful for me.

I attempted and failed at this for an embarrassing number of hours yesterday.

I think there might be some other problem though, or maybe exposure fusion is just better. I say this because I have at least two photos which had far better highlight recovery after Enfuse. Also I'm not sure the color issue is just a matter of messing with wb/green/saturation. I found it impossible to get the colors quite right with these. I was going to post examples, but I'm busy trying to work out a different process right now.

kirkt

I've managed to spend a little bit of time trying to find a useable workflow for DNG Float -> 32bit TIFF as outlined above, using the dng_validate application.   Using the Mac version, I took a DNG Float file from LumaRiverHDR and ran it through dng_validate.  The image data is a merge of two non-dualIso (regular raw) images into a single DNG Float  - however, the same basic merging applies using the CeroNoice concept.

The output is the "-3" third stage file, a TIFF that has UniWB (all channel multipliers = 1):



I opened this image in Photoshop and used the Unified Color PS plug-in called 32Float to edit the 32bit TIFF.  Here is the default tone mapped image in the 32 Float interface:



What is really nice about 32 Float is its 32bit white balance tool.  In this test scene (shot a couple of years ago) I included a gray target - I click-white-balanced on it and got:



From 32 bit float I returned a 32bit image that I could then work on as usual in PS.  I found that other methods of trying to massage the 32bit UniWB TIFF left a lot of green artifact.  ACR accepts 32bit TIFFs but cannot handle the UniWB data - trying to WB the file is a disaster. 

Here is the final image, after some adjustments in PS:



This method permits me to use my "standard" 32bit workflow, with some minor modifications at the beginning of the process.  If one tried to convert a single, optimally exposed raw file of this scene, you could get the basic tonal range, but the shadows would be filled with noise that would ruin detail and tonal transitions in the shadows, especially under the table and in the jacket, for example.  Even the relatively uniform wall tones would be riddled with noise that would smear and disrupt the gradual tonal transition and falloff of the window light. 

Cool!

kirk

engardeknave

QuoteI found that other methods of trying to massage the 32bit UniWB TIFF left a lot of green artifact.  ACR accepts 32bit TIFFs but cannot handle the UniWB data - trying to WB the file is a disaster. 

This is the problem I encountered, but I didn't understand why. I had some success opening a -3 .tif directly into Photoshop and using auto levels. In levels, you have to change the options to Enhance Per Channel Contrast, and click one of the target colors and check Relative To Document. I only tried one file so far though.

garry23

Although this nay be a little off topic, this article gives sound useful insight into getting minimum noise data in the camera: http://photographylife.com/riddle-intermediate-iso-settings.

Cheers

Garry

globalphotobank

How does one use this? CeroNoice I use CS6 and lightroom 5?

engardeknave

1) Type "ceronoice"

2) Type some file names

3) Press enter

RenatoPhoto

I tried ZeroNoise on a set of braketed photos for 360 view.  I use Photomatix Pro 4.2.4 (64-bit) to merge the photos and export them as tiffs.  Then I use ACR for final touchup.

I used ZeroNoise and imported the resulting dng into ACR.  I like the results very much except for an area where the chromatic aberration gets out of control.  It is amazing how fast ZeroNoise can accomplish the merging task!!!

Here is the troubled area of the picture.   

https://drive.google.com/file/d/0B9z8Y0rg-pu8UzlSSVZzVllDVXc/edit?usp=sharing

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

a1ex

These are motion artifacts (known limitation).

RenatoPhoto

I will test it again in an area where there is no motion.  This is very promising!!
Thanks
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

Legushka

Canon eos 60d, firmware 1.1.1/sigma 10-20 + ML v2.3.RC2 + Nodal Ninja NN4

garry23

Trying to get a CeroNoice workflow going on my 64bit set up. Usually I see +/-10 Ev in LR.

Placed dcraw in that folder.

Put CeroNoice.exe in a folder.

Exported two .cr2 brackets for evaluation to that folder.

Moved the two .cr2s onto CeroNoice, which created an .DNG.

Now the problem: the dng opens OK in LR, but is only a +/- 5Ev image file.

I think I need to run another step: with dng_validate.exe maybe, ie to convert to 32bit TIFF. But I can't find dng_validate.exe.

Could someone point me in the right direction regarding dng_validate and the completion of the workflow to 32bit processing in LR.

Cheers



garry23

Enderdeknave

Thanks.

Downloaded and extracted dng_validate and placed in a folder with CeroNoice.exe etc.

As I said in another post, I can generate a dng OK, ie I get an out.dng, but I'm afraid I simply don't know how to progress with the command line instructions for dng_validate.

I hope some kind person can talk me through a simple workflow ro get to a +/- 10Ev Tiff (32bit) for Lightroom post processing.

Cheers

Garry


engardeknave

Quote from: rudison on December 18, 2013, 11:27:22 PM

CeroNoice.exe 1.dng 2.dng 3.dng 4.dng
dng_validate.exe -3 out out.dng
exiftool.exe -tagsfromfile 1.dng out.tif


garry23

Once again, many thanks.

I understand the workflow, however, I am still stumbling.

The reason is my stupidity as I'm not familiar with using the command line etc.

The remaining question, with the three .exes in a folder with the input .cr2s, I notice you have .dngs, how should I call up the command line process or put the commands in file.

I don't wish to waste your time anymore, you have been very helpful.

I guess I won't further this route, because of my lack of Win knowledge.

As I say, thanks for your responses.


garry23

Ok, I'm making progress!!

I've educated myself on .bat files and run this two image test:

CeroNoice.exe 1.cr2 2.cr2
dng_validate.exe -3 out out.dng
exiftool.exe -tagsfromfile 1.cr2 out.tif

Seems to run OK, ie no error messages, but it doesn't look right to me, eg how do you get from out.dng to out.tiff.

All I get is an 16 bit out.dng, ie no 32 bit out.tiff.

Can someone point out where I'm going wrong?

Sorry to be a pain, however, I know this forum is full of helpful people.

garry23

Have taken a step back, but have more insight after injecting a pause in my .bat file and seeing I have an error:

Warning: The exposure time is <=0
DNGBackwardversion is ... too high

The two exposures I am using are 1/10 and 1/80. I tried the script with .cr2 and .dng. Both failed.

The script is:
CeroNoice.exe 1.dng 2.dng
dng_validate.exe -3 out out.dng
exiftool.exe -tagsfromfile 1.dng out.dng
pause

Any help welcomed.


a1ex