Flipped – doing color negative inversions manually

One of the frustrating bits of digitizing color negatives is how to get the colors to come out right. At least, that’s how many people feel, and I can relate. There are many ways of doing this, and there’s also software dedicated to this purpose. Since scanning is a bit of sideshow for me, I make do with just the curves tool in GIMP.

Let met start with this: I’ve not tried the dedicated tools for color negative inversions. The results I see from those tools are mostly really good. I imagine it’s a simpler workflow than the way I do it, and if you’re looking for something that’s quick and easy, I’d look in that direction. There’s no real need to reinvent the wheel.

I do this manually because I don’t have to deal with negative inversions a whole lot. When I do, it’s often because I want to analyze some aspect of the image; for instance, a comparison between different types of film. In those situations, I find it helpful to be able to gauge how the color curves cross over, for instance. By using a manual curves adjustment to do the inversion, I get more insight into the structure of the image than if I were to unleash an automated tool onto them.

It all starts with a scan of a negative, or a series of negatives. It doesn’t really matter where the scan comes from, as long as none of the color channels are clipped. Since color negative film is a low-contrast medium, this risk is usually negligible.

Preferably, the scan has as little color correction applied to it as possible. This is a bit of a red herring, since a scanner will always interpret an image in a certain way and if you were to scan the same negatives on two different types of scanners, there will always be differences in the output. In general, the scanner setting intended to scan slides/color positives will work the best. Here’s for instance the settings I use on my old Epson 4990:

Note that the Color dialog is set to ‘No Color Correction’. Also note that I’m scanning in 24-bit color mode here; I would recommend scanning in 48-bit mode instead because it will significantly reduce the risk of posterization in the final image.

However, since I scanned directly into GIMP in this example and GIMP’s rudimentary scanning interface only accepts 24-bit color input, I’ve used it here. I’m also scanning at a lowly 1200dpi, which for 35mm frames is a little low, but again, for sake of the example, it’s plenty good enough.

Note the ‘Auto Exposure Level’ slider in the illustration above? That’s part of the problem I mentioned that scanners have a mind of their own when it comes to interpreting the original. By means of necessity, certain assumptions must be made in the design of the scanner hardware (how linear is the response of the CCD sensor sites, how linear is the analog gain circuitry and how much gain is needed anyway) and its software (how should the data acquired from the hardware be interpreted). There’s no escape from this, although software like VueScan and Silverfast has far more manual controls that should allow you to fix some of these settings so that they are at least consistent across individual scans.

Here’s an example negative strip scanned with the settings above:

Looking at the histogram, we see that essentially all color information is bunched up in the middle, and that the red, green and blue channels are shifted in relation to each other:

Notice the distinct peaks of blue, green and red, in that order from left to right. This is the orange mask, and logically, it is considerably shifted to red and balanced away from blue. In other words, it’s…orange. This, by the way, is ECN2 film and the mask of regular C41 film looks slightly different, but the difference is really only marginal.

If I were to characterize the image information by means of the histogram above, it would be an essentially red image with little green and almost no blue data, and all three channels have exceedingly low contrast. This is what makes color negative inversion tricky, because apart from the inversion itself, we need to apply a massive contrast boost as well as a color shift to make the channels overlap.

This combination of a contrast boost and a color shift is inherently challenging, since every color adjustment is at the same time amplified massively. Getting the image to balance naturally is a bit like balancing on a very sharp mountain ridge with deep ravines of atrocious color rendition on both sides.

I can then use the information in the histogram to invert and very roughly color correct the image by handling each color channel separately:

Here, the first adjustment for the red channel is made. Note the image information that’s bunched in the center of the histogram. I simply lop off the orange mask, which is the sharp peak that makes up the right-hand side of the image data. I set the white point to the point where the histogram has tapered off. Note also that I’ve inverted the curve, so I’m doing the inversion and initial color balancing at the same time here.

You can see in the negative strip on the left what the effect of this adjustment is. It’s not looking very pretty, yet, but that’s because I’ve only dealt with the red channel. So let’s do green and blue as well:

Green inversion and adjustment, on top of the existing red adjustment.
Blue inversion and adjustment, on top of the red and green ones.

Notice how the image now looks fairly neutral. If I’m critical, I’d say that it’s biased towards yellow and slightly towards green as well. What I do at this point, is cycle through the channels and move the top and the bottom point of the adjustment curve to the left and to the right, while observing the actual image. By doing this, I can visually estimate at what point a certain color cast in either highlights or shadows emerges, and intuitively seek the point where the colors are the most neutral – or at least where they match my expectations for the image.

By doing this, I can come up with the following adjustment curve for this image:

To me, this looks pretty close to how I experienced this scene, and fairly neutral in terms of color balance. There is no severe color cast and both shadows and highlights (insofar present in this image) look neutral.

Note that the judgement of these adjustments is entirely subjective. This means that color rendition of the monitor and lighting conditions matter; I’m currently doing this as the sun shines into my studio, which isn’t ideal for judging color. And I’m using a consumer-grade monitor, although I have calibrated it. But the most important factor is really my own color vision, which is personal, and everything but absolute.

If you want to reduce this subjective aspect, the best approach would be to photograph a color checker on each roll of film and use that as a reference for determining the color correction curve.

In the examples above, I’ve used one frame to base my adjustments on. I admit that it’s a frame that’s not the most fortunate choice for this purpose. In general, a good frame to start with is one that contains a neutral color reference – an overcast sky is nice, or some grey/neutral clouds. Skin tones can work, too, but tend to be confusing in my experience. Concrete is a good alternative to clouds as it’s mostly fairly neutral. A grey card is of course also great, but be sure to keep the real grey card at hand while doing the color correction, so you can match your screen image to the real thing (with clouds, this is a little tricky).

A good reference frame also has a fairly high contrast and a good exposure; i.e. it’s neither under- or overexposed, and contains both pronounced shadow areas and highlight regions. This helps to get the contrast right. This is one more thing that’s essential to note: in the curve adjustments above, I deliberately cut off the major part of the histogram for each color curve. Evidently, I only want to cut off the bits that don’t hold any image data – otherwise I’ll blow out highlights or introduce featureless shadows.

On the highlight side, the histogram shows the cut-off point fairly well, but a good reference image helps as a verification that no highlights are actually getting blown out. This is especially relevant when scanning frames where highlight areas are scarce and thus only create a small peak on the histogram, making them easy to overlook.

On the shadow side, things are much trickier, because there’s a sort of valley between the image data (particularly, its shadows) that transitions into the featureless orange mask. Where you cut off the color curve in this region takes some guessing, and it’s also dependent on how the images are exposed. If the negatives are slightly overexposed, it’s generally easier to separate the shadows from the orange mask and determine a good cut-off point for the color curves. With underexposed images, it’s more of an arbitrary point and you’ll have to just lop off some of the shadow information to prevent dark areas from getting color casts and becoming excessively grainy, with lots of chroma noise.

Highlight and shadow cut-off points for the green curve (stretched horizontally to enhance visibility). Notice how the histogram tapers off to the horizontal axis on the left. This is where the highlights transition into pure white, and it’s a good spot to place the upper point of the curve. On the right-hand side, there’s a very strong peak, which represents the orange mask. To the left of this peak, there’s a valley that then slopes upwards into the majority of the image area, transitioning through the deep shadows and then up to the midtones. Where you place the cutoff point in this area is more subjective.

Because of the somewhat arbitrary cut-off points, especially in the shadows, it’s important to cycle back and forth between the color channels. If you chance for instance the green curve’s shadow cut-off point (maybe because you decide you’ve lost too much shadow detail and want to recover some of it), a color cast in the shadows will appear. You then have to go back to the red and the green channels to fix this color cast.

In the examples above, I’ve shown only straight line adjustments – they’re not actually curve adjustments at all. I find that such straight-line adjustments form a very good starting point and often are actually good enough to my taste. I also find that well-exposed and well-developed film tends to come out okay with these kinds of adjustments. Heavily expired film and film that has been processed under less than ideal conditions sometimes benefits from applying a slight bulge or bump to a part of the curve, to selectively fix a color issue that exists in only a small part of the density range.

What came to be of the strip I started out with? By basing my adjustments on a single frame, I ended up arriving at a very decent (I think) color balance for the entire strip:

The work was of course made easier by shooting a film with a not too outlandish color rendition; e.g. the more mellow Vision3 films and Portra are generally easier to balance out than e.g. Ektar, with its inherently high saturation. It also helps that the frames above were all shot under similar overcast conditions, which makes them fairly muted and neutrally colored. In selecting a reference image to start working on, you could take these sorts of considerations into account.

And if you like the adjustment, you can of course save the curve in your editing software to use it as a starting point for later scans. I generally don’t do this because of the auto-exposure issues mentioned earlier, and because I generally scan a variety of film, shot and processed under a variety of conditions, so a case-by-case approach is OK for me. But if you want to bring consistency in your work, saving a successful default curve would be a logical step.

Leave a Reply

Your email address will not be published. Required fields are marked *