Negadoctor color negative

As suggested in my other thread Negadoctor neewbie asking for Help I post a image to play with:

10-1.NEF (31.3 MB)

This file is licensed Creative Commons, By-Attribution, Share-Alike.

I found it especially difficult to get the contrast in the bonnet of the Lorry right.

3 Likes


10-1.NEF.xmp (11.7 KB)

5 Likes


10-1.NEF.xmp (12.9 KB)

2 Likes

10-1.NEF.xmp (36.2 KB)

I thought you did a really good job with your edit. My edit is 4.7 and a very messy workflow.

1 Like


10-1.NEF.xmp (17.8 KB)

Decided to try a little different approach…

10-1_01.NEF.xmp (14.7 KB)


10-1_01.NEF.xmp (11.9 KB)

Or similar rendition with cleaner workflow:


10-1_02.NEF.xmp (11.9 KB)

My version…

10-1.NEF.xmp (23.2 KB)

1 Like

What film was this taken on?

Also how was the negative digitized? Wide-spectrum illumination, a backlight with three strongly monochromatic sources (such as an OLED display)? Although which film was used is the most important here for color management purposes.

Resized down. I assumed for white balance purposes that the tree to the left of the vehicle should be grey, but this image is tough due to no reliable white balance references. The sky looks a bit weird so perhaps a different white balance setting will be optimal.

I also assumed Fuji Superia X-Tra 400. I have a profile for Kodak Gold 200 (speed doesn’t seem to matter much for SSF) and can generate a profile for something else if I can find a datasheet for it.


10-1.jpg.out.pp3 (14.5 KB)

Requires the current state of my WIP changes to RT’s film negative tool at GitHub - Entropy512/RawTherapee at filmneg_tcoeff - without that it’ll be washed out in the shadows.

A little more aggressive with the contrast:


10-1-1.jpg.out.pp3 (14.6 KB)

Cooler color temperature with a tiny bit of green tint, which seems to make it look a bit more contrasty:


10-1-2.jpg.out.pp3 (14.6 KB)

1 Like

Sorry for not adding any infos. It was shot on kodak gold. The sky seen in the image was covered by clouds. For whitebalance i set it to camera reference and in cat tab of colorcalibration i set hue to 39.7 and chroma to 46.6 resulting in a cct of 3464.

Unfortunately, film inversion basically throws off any white balance assumptions that originated from the camera, so another white balance pass must be performed after film inversion, and the exact nature of that depends on aspects of the film itself (such as the exponent ratios).

Order of operations when I use RT’s film negative tool:

  • If no lens vignetting profile is available (lensfun doesn’t have the Rokinon 100/2.8), take flatfield reference image under same backlight conditions as capture with no film holder or negative present. This flat should be reusable for all subsequent captures, set that file in RT’s flatfield tool
  • White balance on the orange mask. Shouldn’t be necessary with my new code, but something is weird with the color pickers such that using the WB tool and then finetuning with my scale factors changes works better. I’m trying to eliminate the need for the WB tool to be used at all. If there’s no orange mask on the current frame, orange mask from another frame captured under identical backlight works reasonably well, although I’ve found that small changes in exposure (shutters aren’t perfect) can really throw off the shadows. I need a film holder that gives me reliable orange mask per frame…
  • If you have some good neutral references, use these to adjust the power ratios. If not, expect some quality time with WebPlotDigitizer, a datasheet for your film, and a lot of fiddling. History for density_plot.py - Entropy512/rgb_led_filmscan · GitHub - I’m working on implementing auto-fitting to make this less painful, but I do have Kodak Gold 200 values. They translate to RT’s filmneg tool settings of:
    – Reference exponent: 1.72
    – Red ratio: 1.06
    – Blue ratio: 0.95
  • Use RT’s filmneg tool to do another white balance pass. This MUST be redone any time you touch red/blue ratios!!!

Same settings as last image except for changing the input color profile from Fuji Superia X-Tra 400 to Kodak Gold 200, using model-fitted values for the exponents from a Kodak Gold 200 datasheet, redoing WB on the tree, and then cooling it down a bit (Previous images used RT’s defaults for the exponents):


10-1-3.jpg.out.pp3 (14.6 KB)

Bumping up EC a bit:


10-1-4.jpg.out.pp3 (14.6 KB)

As far as choosing a color profile of the film and not the camera: In the ideal situation, the negative is captured in such a way as to eliminate as many behaviors of the camera’s SSF and the film dye spectral response, leaving only the film’s SSF. RT’s filmneg tool can operate in the input colorspace, e.g. perform inversion before applying the profile. It’s actually BETTER to capture a negative with a backlight that consists of three strong monochromatic spikes (such as a phone’s OLED display), and best to composite three captures each with just red, green, and blue backlight (this is what professional film scanners use, up to and including stuff like Blackmagic’s Cintel. Cintel adds an IR capture for dust/scratch compensation but I’m not full-spectrum-converting my camera.)

See Digitizing film using DSLR and RGB LED lights , see NateWeatherly’s posts along with https://medium.com/@alexi.maschas/color-negative-film-color-spaces-786e1d9903a4 which was linked to from that thread.

3 Likes

Thanks for sharing your knowledge. The WB setting i shared are meant to be used before negadoctor. I am not sure if the workflow in RT and DT are the same. As far as i understand it in Darktable you should first correct WB for the light source and then use negadoctor for conversion and then afterwards do color changes to the image.

That’s pretty similar to what I outlined, in the RT process there are two “white balance” functions:
The first (RT’s main WB tool) balances for the orange mask. I disagree that balancing for the backlight is the appropriate approach - I get better results when white balancing on the orange mask of unexposed but developed film.

My changes to RT’s film negative tool add a function that serves as a fine tune for the above white balance (right now unfortunately RT doesn’t have a good way to set white balance with individual R, G, and B sliders…), and also to choose the exact “white point” of the negative (e.g. where the normalized transmission coefficient is 1) - without this you get a nasty black point offset unless the white point of the negative is exactly the white point of the camera, which is never the case because you’re just at the edge of clipping then.

The film negative tool then has a step for fine-tuning the relative ratios of each film’s color response. In the model of film negative response, the exponent is different for each color. For example, Kodak Gold 200 has a green exponent of 1.73, the red exponent is 1.85 (ratio of 1.07), the blue is 1.64 (ratio of 0.94). If you don’t have film data you can determine this from a shot that has two neutral spots at different brightness.

Then there’s a final post-whitebalance operation that is part of the film negative tool. This is the one that I was adjusting between different images, NOT the pre-whitebalance. The post-whitebalance must be readjusted any time you touch the exponent ratios.

For an example of the differing exponents (which also shows an enhanced model I’m working on for RT):
density_enhmodel

I haven’t yet decided how to model the “knee” that shows for Kodak Gold 200, but not for Fuji Superia X-Tra 400. Adding inversion of that to RT in addition to what I’m already looking into adding would be a UI nightmare.

negadoctor also appears to attempt to simulate print behaviors, while my intent with the RT enhancements is to simply recover the original scene.

Pardon the off-topic question but I wanted to play in RawTherapee and downloaded a Kodak Gold Negative 200 HaldCLUT to do so.

I don’t know much about RT 5.8’s Film Simulator but was bit surprised by:

Before …

After …

Something missing?

My - fun in GIMP


Another version of ART and GIMP

Film Simulation is to go forward - take an image from a digital camera that has already been linearized and make the result “look” like film.

BTW, I question whether a HALD clut for negative film is in any way meaningful without also taking into account the photo paper it’s printed on… HALDs for slide film make a bit more sense.

You need the Film Negative tool, not Film Simulation. Strangely I don’t see the Film Negative tool there… How old is your RT installation???

Thanks … “linearized” I’m not familiar with the term as regards digital cameras
P.S. Perhaps it means “take a digital image that has already been linearized” i.e. the image not the camera - pardon my confusion.

Understood, thanks,

RT 5.8. I am aware of the later versions and may well “upgrade” one day.

With ART 1.21.3


10-1.NEF.arp (13.3 KB)

Greetings. Roberto

Yeah. Although now that I think about it, usually HALD CLUTS operate in a nonlinear space. So often it’s linear->sRGB->HALD->modified sRGB. And if you’re shooting raw, no linearization is needed out of the camera for 99% of cameras on the market.

Much of what I’ve been doing lately with negative inversion is trying to “undo” all of the film’s effects on the image by modeling it, so that the film used has a minimal effect on the “look”.

Great results for Fuji so far, slightly less great for Kodak as Kodak films have a “knee” in their density function that Fuji Superia doesn’t have. That “knee” is especially pronounced for Gold, much less so for Ektar but still there.

I can’t remember if filmneg was added to 5.8 or 5.9 - IIRC I think in 5.8 it was in the raw panel, but was later moved to color management and made more flexible. As I mention, for best results changes are needed to the tool in the git branch I linked to.

Yes, it’s under the ‘Raw’ tab on my computer but it didn’t really turn the opened raw into a positive in spite of waggling the sliders and poking around with the picker.

No big deal for me, I just wanted to play but I’ve kind of lost interest now. Thanks again for your help … you da man …

Just for the fun of it - a play in GIMP.
Inverted the negative and ran my colour cast reduction plug-in.

1 Like