Colour Film Scanning Revisited - Part 2

Ed. If you missed part 1 of this series, you can find it here.

Part 2 - The Basic Workflow

First off, let me apologize for the cliffhanger end to Part 1.

In this installment, I'll describe the workflow I used to go from this:


To this:

...without using ColorPerfect.

The method I'm using is based on the method described by Mark Segal and Todd Shaner in their article on DSLR scanning, published on Luminous Landscape.  Even if you're not scanning with a DSLR, I highly recommend this.  My hope is to take this excellent workflow and build upon it.  The fundamentals of the workflow are as follows:

  1. Correct for the orange (or red, or pink, or what-have-you) mask
  2. Invert the negative to a positive
  3. Correct the colour bias
  4. Correct the gamma

This can be achieved using 4 (possibly 5) Photoshop layers, as previously described.  Briefly,

  1. With the negative open in Photoshop, create a 'Levels' layer.  Select the White eyedropper and set the 'Sample Size' (top left of the PS window) to "11 x 11".  Now, use the eyedropper to click on a region of unexposed film (NOTE: if possible, you want to leave some unexposed film visible in all of your scans.  If your scanner doesn't allow this, create one extra scan of this region.  You can apply this correction to all of the shots on a given roll).  This sets the unexposed film as "white" (RGB 255, 255, 255), which will be "black" (RGB 0, 0 ,0) once we've inverted the image.
  2. Create a new 'Invert' layer.  Your image will now be a recognizable positive, albeit with a very limited range of tones, clustered in the highlights.  This is normal; remember, negative film takes a scene with a large dynamic range (Portra 400 will do 15+ stops of actual DR) and compresses it into a very small density range on the film.  It's your job to expand this density range into the full range of tones.  The key thing to note here is whether the unexposed film border looks black.  If it doesn't, you need to go back to your 'Levels' layer and redo step 1.  Be sure you're clicking on pure film border (sometimes, if you've got a particularly overexposed sky, for example, some of the exposure will spill outside of the 24x36 frame).
  3. Create a new 'Curves' layer.  Click the little arrow at the top right of the Curves properties window, and select "Auto Options...".  Click "Enhance Per Channel Contrast" and "Snap Neutral Midtones", and set the shadow and highlight clipping to "0.01".  Click "Save as Defaults" and then "ok" out of the Auto Options window, and now click the "Auto" button.  You should now have a reasonable looking positive.  What you've just done is to normalize the R, G, and B curves for the negative film.  A little background: essentially, negative film has characteristic curves for R, G, and B light.  But these are not coincident with each other, as they are (or should be!) for slide film.  If you were to take a photograph of a neutral grey patch (more on that in Part 3...) and look at the histogram of the negative, you'd find that the blue channel would have the highest intensity, followed by green, and then red.  What you need is, for a neutral grey patch, to ensure that R = G = B (that, indeed, is the RGB *definition* of "grey").  So in this curves layer, you're correcting for this R, G, B curve offset by forcing the histogram for each colour to use the entire histogram range (that is, you are enhancing the per channel per the Auto Option box you checked above).
  4. Select the crop tool and remove ALL of the unexposed film border.  All of it.  Once you've done that, go back to the 'Curves' layer you created in Step 3 and re-click 'Auto'.  This will regenerate the positive, except without taking the border into consideration when correcting the RGB offsets.
  5. At this point, you should be looking at a negative that is reasonably close to your intended output, though it may have a colour cast (in my experience, usually a cyan cast), and it may still be fairly bright and/or low contrast.  Assuming your C-41 development was ok and didn't shift your colours substantially, this is generally the result of either (a) lighting that does not match the white balance of your film (i.e. tungsten light shot on daylight-balanced film), (b) mixed lighting, or (c) over- or under-exposure, both of which can shift the colour response of your film.  If you have a cyan cast (again, this is most common), simply open the 'Red' channel in your curves layer and drag the midpoint of the red curve to the right, to boost the gamma of the red channel.  Be careful here: a little goes a LONG way.  
  6. Finally, create a second 'Curves' layer.  In this layer, you're going to normalize the RGB brightness (gamma) of the entire image.  If your image is too bright, grab the middle of the linear RGB curve and drag it right, along the midline.  If the image is too dark, do the opposite (ie. drag left).  In my experience, you generally end up with images that require a decrease in brightness.
  7. (OPTIONAL) Create a third "Curves" layer.  This is strictly for contrast manipulation, and is really an aesthetic/artistic alteration.  Add a slight "S" curve to increase contrast.

That's it.  This method is completely agnostic to the film type (or even the batch of a specific emulsion), because you sampled the actual film mask in step 1.  It should work (and, in my experience does work) equally well for Portra 400, Portra 160, 400H, Kodak Gold, Fuji Superia, etc.  It even works for more esoteric films like Kodak 500T (a.k.a. 'CineStill 800T'), although these may take a bit more work in the post processing if you happened to shoot them in mix lighting, simply because of the colour temperature mismatch.  But it does work.

Here's what it looks like, step by step:

In my experience, this works best with images in which the light source is closely matched to the white balance of your film.  In this case, the photograph of Gen (taken in front of the Pantheon in Rome this past February) was in full afternoon daylight on Portra 400 - a daylight-balanced film.  If you have, for example, tungsten light contamination, you're going to have colour shifts that require some work.  But that's true of ColorPerfect, as well.

All of this (including the points in Part 1) can be made into a Lightroom preset and Photoshop Action, with the only routine user intervention being the selection of a grey point in step 1 and pressing "Auto" in step 3.  The (huge) benefit to this is that you can quickly preview the positive (but uncorrected) images before proceeding with the full conversion, which itself is only 2-3 clicks away.

My target, however, is to remove even this much intervention.

Targets.  Yeah.  That's the ticket.

More to come in Part 3...

Colour Film Scanning Revisited - Part 1

Part 1 - The Rationale

Let's face it: scanning colour film - particularly colour negative film - isn't life's most enjoyable task.  Getting the colour just 'right' can be tricky, and the inability to preview the shots prior to scanning (one of the major benefits of reversal film, FWIW) is a drawback.

Nevertheless, good results are possible.  I've been a strong advocate of a workflow based upon scanning to linear TIFF files (preferably using Vuescan), and doing the orange mask removal and inversions using the ColorPerfect plugin.  For those who haven't seen it and would like to, my workflow is available here.

Since that video was produced, however, there have been some substantial changes to my film scanning workflow, the most profound being that I no longer actually use a scanner.  Based on my tests from late last year, I decided to sell both of my film scanners and move completely over to a DSLR scanning system, based around a Nikon D800 and a Tokina 100 f/2.8 macro lens.  I've written about my workflow with this system previously, and I'm very happy with the final scans I've been getting out of this system.

Despite this, there are two things that always bothered me about the Vuescan/ColorPerfect workflow: first, the complete inability to batch the process on multiple images, and second, the lack image-to-image reproducibility in ColorPerfect.

Both of these are essentially criticisms of the ColorPerfect plugin itself (though not, it should be noted, of the quality of the final product that ColorPerfect can produce).  The plugin isn't compatible with Photoshop actions (except to call up the plugin), and the controls are not at all intuitive, which makes it very difficult to get consistent results between frames.  That is, two shots, taken in the same light, may end up with very different final scans, depending on the way in which you, the user, manipulate the controls in ColorPerfect.  And as I said, knowing which control does what is not exactly straightforward.

With this in mind, I decided to try to improve upon the process, and to develop an entirely Photoshop-based process for colour negative scans.  The three conditions for a successful process were:

  1. Output as good as - or better than - what ColorPerfect can produce (it goes without saying that image quality should be the primary concern),
  2. The ability to batch at least part of the process (it'll never be 'set and forget', but if an entire roll could be ingested into Photoshop and at least inverted, with an easy way to finish the colour balancing, I'd be ok with that), and
  3. Frame-to-frame reproducibility.

Against my better judgement, I'm going to "live" blog this process.  I'll try to update this every few days with my progress, and to detail the thought process behind the things I'm doing.  In the end, I'm hoping that I can develop a simple Photoshop action (which will be shared with whoever wants it, of course), which could help film photographers gain a little bit more control over their colour negative film scans.

So here we go.

Here's what a raw 'scan' of a Portra 400 negative looks like, straight out of the D800.

Portra 400, 'scanned' with a D800 on an Artograph Lightpad

The first thing we need to do is crop away the black bits, which is simply the film holders (I have some holders from an old Microtek i800 flatbed scanner.  The holders are excellent, the scanner - well, not).  That produces this (NOTE: this is just an example. In the actual workflow, everything stays in Lightroom...that is, NO exports):

Holders cropped.

I did a bunch of research to see whether or not the .NEF files are being rendered as linear gamma (which is so critical for the Vuescan/ColorPerfect workflow).  Through a bunch of digging, I ended up with a program called RawDigger, which will ingest your Raw files and give you an RGB histogram of the Raw itself (most cameras give you an RGB histogram of the camera-generated JPEG, which is deceiving).  This is useful for determining your optimum scanning exposure (since you can tell when your Raw itself is clipping).  The program will also export a TIFF with linear gamma, which looks like this:


Ummm, yeah.  So clearly there's a bit of difference between a .NEF Raw and a linear TIFF file.  This file looks exactly like what MakeTIFF gives me, which should have tipped me off that there was something up.

Anyway, I don't want to have to go through this process, and suffice it to say, using the method I've decided on, the linear TIFF actually gives *worse* results.  So bottom line: I'm not going down the linear TIFF route here.

Next, we need to white balance our cropped .NEF file (again, ALL of this is being done in Lightroom).  Now, we're white balancing against the illumination source (the Lightpad, in my case), NOT the source in the image.  My Lightpad is balanced to 5200 Kelvin, 0 Tint, so I simply go to the white balance setting in Lightroom and enter those values.  The result is:

White balanced to 5200K

Looks pretty similar to the image above, though certainly a bit warmer.

Now we'll want to move this image into Photoshop (CC 2014 in my case).  Before we hit CMD-E to do so, however, we need to do one last thing: kill any sharpening or noise reduction.  Head over to the 'Detail' panel in the Develop module and set Sharpening 'Amount' to 0 and Colour and Luminance noise reduction to 0.  Shrewd readers will have noticed that all of this - with the exception of the cropping - can be saved into a Lightroom preset.  See point #2 above for why this is important.

With that complete, we move the image into Photoshop (again, NO exporting.  We want to work on the .NEF, not an exported TIFF or PSD):

Same image, in Photoshop.

Note that if you don't use Lightroom, you can achieve the same thing by opening the .NEF in Camera Raw.  But who *doesn't* use Lightroom?!? (I kid).

At this point, I'm going to actually work on the negative.  For the sake of reference, here's what ColorPerfect gives us using the Portra 400 setting, using the road as a neutral grey point, and without any post work on the gamma (excuse the dust):


At this point, I'd typically use a Curves layer to set the appropriate gamma, and perhaps reset the grey point using the Grey point eyedropper tool (in this case, I used the shoulder of Gen's jacket as a neutral reference point), yielding this: 

ColorPerfect, plus edits

This isn't as bad as it looks.  I'd definitely work on the colour balance a bit, especially in the skin tones (Gen was not sea sick when I took this), but it's certainly workable.

Now, let's see what we can do with Photoshop alone:

Photoshop only.

Better?  I certainly think so.

This was done using 5 Photoshop layers, and no film profiles at all.

Workflow coming in the next instalment. ;)