Jan's e-xistence

  • Schrift vergrößern
  • Standard-Schriftgröße
  • Schriftgröße verkleinern

Scanning negatives with VueScan


I've been digitising my old (and new) negatives for a while now, and thought I should share the reasonably time-efficient technique for generating and archiving raw data that I have finally developed. Again, there is abundant information on the web on how to do this, but for all I know, nothing quite like the simple process I am about to describe.

First, the hardware: a vintage Nikon LS-40 scanner, with a maximal resolution of 2900 dpi x 2900 dpi. This is quite sufficient for my negatives, considering that I take my photos with an Olympus µ-I, and more recently also with a µ-II (whose lens, in contrast to what you can read elsewhere, is actually not better than that of the µ-I in terms of sheer resolution according to my tests - but it is a little faster, gets more light into the corners and is also less defocussed at the edges and in the corners of the image – "flat image field" would be the technical term for this).

The SA-21 film strip transport unit wasn't working properly at first and I had to repair it to prevent frequent crashes. The scanner switches its parameter set sometimes (see below); what you can do  to come to a standardised setting is to start NikonScan instead, read in a preview of a negative strip (with automatic adjustments such as exposure switched off), and then press "restore factory settings" - that has fixed this hiccup reliably so far. But you can also use the scanner in whatever configuration it prefers to start with today - see below.

The software is Ed Hamrick's amazing VueScan - I have tried NikonScan and SilverFast as well, but VueScan is the best value and utility (even though NikonScan is free) - a full licence costs only 80 USD, and allows you to do essentially everything, including colour calibrations with IT8 targets. Having said that, each new update seems to bring a new idiosyncrasy, like having to press buttons twice, cropping suddenly not working properly, etc. etc. etc. - but that is usually being fixed a few updates later, and new updates come out every couple of days. Still, it's worthwhile to check back from time to time whether there are bug fixes or enhancements for your scanner model. Recently, Ed got the automatic frame alignment to work as reliably as in NikonScan, which has made automated batch scanning a lot easier, as the time-consuming step of changing the alignment between the first frame and the subsequent ones is now obsolete.

Also, VueScan supports ICE (clean-up of dust and scratches using extra information in the infrared) for scanners that have additional infrared illumination - which the LS-40 does. VueScan's ICE emulation is now almost as fantastic as the original algorithm in NikonScan, and if you use a medium correction setting and image sharpening (both integrated into VueScan), you'll probably like the results. And VueScan is the only scanning program I know of that can save the infrared data to disk for later experimentation with ICE! It does that as the fourth colour channel of a 16-bit RGB TIFF or DNG file - thus making it an "RGBI" file with 64 bits of data per pixel, so that using the full scan area of 2870x4332 pixels will result in a file of approximately 95 MB. Mind you, the LS-40 creates only 12-bit data at most (4096 brightness levels, or an optical density range of 3.6), but with TIFF you have either 8 or 16 bits, so you have to live with some dead space in your archive files.

Your archive files can later be re-used in VueScan as if you did a live scan again - you re-load the raw data, uncompressed in spatial or optical density resolution, and "scan" them to JPG or whatever else, with the clean-up settings and white balance that you want. This takes a small fraction of the time of the original physical scanning, and depends only on the processing power at your disposal, whereas the speed of physical scanning is determined by the need to collect as many photons as possible. So, if later you get a better calibration for your white balance, or change your mind about anything else, you do not need to get the physical negatives out again, just your archive of the raw scans.

If makes good sense, then, to do the original negative scans in the best possible quality, using

  • full spatial resolution and
  • full dynamic range of the image sensor.

For full spatial resolution, selecting 2900 dpi and using auto-focussing (which works a treat on Nikon scanners) before each scan is enough; for full brightness resolution on a Nikon scanner, you have the option to set the sensor exposure time for each channel (R, G, B, and I) as high as possible without clipping readings.

To do this properly at all times, we need to realise that films are different

  • between brands
  • between types and sensitivities
  • between different rolls of the same type and sensitivity
  • between different rolls of the same batch
  • between different strips of the same roll!

In other words, it is not enough to adjust the white balance once at the beginning of a roll and then to scan all the negatives with that setting - you should at least check the white balance for each film strip. I do suspect that the inconsistencies within one roll are (besides fluctuations in the film) also related to the LED illumination in the LS-40 not being 100% stable and slightly drifting over time. LEDs are used in Nikon's "CoolScan" series specifically for stability – but the scanner is old, so are the LEDs, and we are talking fractions of a percent here, so it's still pretty good. The stability would be easy to check (just scan the same area of the film a few times, over the course of several hours, and check for systematic changes), but I've never done this. Why not? Because the drift issue, if indeed it exists, can't possibly be fixed with reasonable effort, so it matters little where it actually comes from.

Do not underestimate the importance of white balancing - if you set the colour of your scanning light correctly in the raw scans, you can frequently do your follow-up processing with no extra white balancing whatsoever (at least with the slower Fuji films) – saving you considerable time. If you have any experience in scanning photos, you will know that cutting corners here will only lead to disappointing results: the human visual system is so much more powerful than the aural system, and picks up minute differences so easily, that calibrating a tape deck for no perceptible difference between original and recording is a piece of cake in comparison. To archive your negatives once and for all, some extra care is surely justified.

So, let's see how the process goes. First, you need to find an unexposed piece of film. In my experience, the leader strip is only good for an approximate film colour reading, so on a strip of, say, four negatives, you can go to the area between the second and third frame - that should minimise effects from inconsistent film colour, and also from drift in the illumination, across the entire strip (two frames to the left and two frames to the right). And you can of course stop the scan after the first few millimetres, and set your crop area to the unexposed region. Then it takes only a few seconds to try a new setting and preview a small area again.

In the pictures that follow (open them in new tabs if you want to read the parameter entries), on the left we have the parameter set as restored by NikonScan, and on the right, the parameters offered by the scanner after starting up cold. Pretty big differences, but with a bit of practice, you can use either set, with almost identical results. Why this changes so much, and how, I don't understand; and I also don't know whether only my scanner does this, or whether it's a Nikon thing, or whether VueScan perhaps doesn't get the communication protocol quite right. Reading or sending a couple of bytes too few or too many is all that it takes.

01 - align and preview 01 - align and preview (default)

As you can see, a pretty narrow strip is sufficient to get a good reading for neutral black (which is of course from the lightest area of the film, as we're dealing with negatives). The RGBI plot at the bottom left needs to be set to "raw", because the sensor is a linear instrument - we're not discussing any gamma curve stuff here. Also, the peak is already almost where it should be (at the top end of the brightness scale). The colour channels do not match exactly yet, and all peaks have a certain width because of grain noise in the film, and detector readout noise. At this stage, you do not need to do an auto-focus, as you're not after spatial detail.

What did take me some time to work out is that the preview ultimately needs to be done at the same resolution as the final scan, so we set the preview resolution to 2900 dpi as well:

02 - preview full res 02 - preview full res (default)

Then, on repeating the preview, you'll see why (you won't see the scanned data immediately, but mostly you can stop the preview at the 2% progress mark):

03 - black balance 03 - black balance (default)

The peaks become wider - this means that the lower resolutions are probably implemented by pixel averaging and thus cancel some of the more extreme readings. Also, the average brightness increases and you get more clipping - which you want to avoid. This change should not happen if the averaging is done correctly - that it does happen, indicates a scaling error, either in the scanner or in VueScan, and is the reason you need to evaluate the preview at full resolution.

It probably also bears mentioning that the "Lock film base color" setting is inconsequential when you're saving raw data - but it enhances your viewing enjoyment to have it switched on, and you can use it to get your correct "gain" settings more quickly, as detailed here under 2.1, paraphrased quite well here and discussed in detail here. I also have "Brightness" set to 1.5-2.0 for viewing the raw scans because it makes some detail, noise & occasional lint more visible, to judge whether re-cleaning or a multi-pass scan for lower noise might be in order. The "Brightness" setting does not affect the raw data either.

Then you can go about and tweak your "analog gain" numbers (which thankfully control exposure time rather than gain - proof: set the "gain" very high and you will notice how the scanning becomes quite a bit slower) until all peaks overlap, or at least have the same centre:

04 - black balance finished 04 - black balance finished (default)

For Fuji 100 ASA films, all three values are close to 1 (demonstrating how well Fuji film matches the VueScan pre-sets to remove the orange mask) - for other brands and sensitivities they can be quite different, but you can always adjust the gains to create a neutral colour in the unexposed area (so that, if you could see through the unexposed film portion as it's illuminated inside the scanner, it would look white - fierce bluish light that has to be) and use the full dynamic range in all colour channels. This is beneficial even if the film's RGB responses aren't too well matched and you have to carry out white-balancing later. It is OK to have a little clipping on the right side, as you probably won't have too much un(der)exposed area in your actual photos.

Now you are almost ready to scan - except that VueScan will now remember your crop area and give you only a narrow strip of each frame. So you need to preview the full frame after all and re-set the crop area to maximum - but you can do that at a lower resolution, again to save time (and I've found that resolutions lower than 580 dpi don't save more time, so you might as well leave it at 580 - this is probably different for different scanners):

05 - full frame low res 05 - full frame low res (default)

Note also that the frame offset wants to be zero after switching the scanner on and starting VueScan, but from the second strip onward it's more like 4.1 or 4.2 mm. This is almost certainly to do with VueScan - or again with my weird and idiosyncratic scanner of course.

Then, you change your crop area to "Maximum" - this will give you not only the entire area of the negative, but also part of the edges in the SA-21 adapter at the top and bottom (with almost no light getting through, so you also get an approximate point for neutral white - and the "ghost images" you see in the white areas are caused by reflection of the transmitted light from the sides of the aperture at grazing incidence - you could paint it matte black but then of course you may have paint flaking off and landing on the mirror), and of course you also have the neutral black areas on the left and right of every image.

06 - reset crop to full 06 - reset crop to full (default)

The full-image histogram now shows that the full dynamic range of the sensor is being utilised. If the top end of the histogram looks different from the 2900 dpi calibration again and you seem to be wasting some range, remember that this is just a 580 dpi preview with the scaling issue again.

Now you can change the single-frame scan to a batch list, and also have VueScan do an autofocus in each frame. Note of caution here: if you select "All" and have less than six frames, VueScan will dutifully and desperately try to find a new frame after the physical end of the strip, in a long auto-focus repetition sequence that is hard to stop - so it's best to tell VueScan exactly what to do beforehand.

07 - prepare batch scan 07 - prepare batch scan (default)

If you also tell VueScan to autosave while scanning, the files will be written as the data come out of the scanner - and of course any hard drive can keep up with a USB 1.1 connection, so you will have the finished file the instant the scanning stops. At these settings, one scan takes a little less than 2 minutes, and I believe this should be very similar on other computers too, because the speed is probably limited by the USB connection.

OK then - press Scan, the computer goes to work for you, and you can read a web page, make a tea, or write an e-mail during the eight minutes that follow. After the scan is complete, you can review all frames for correct alignment before ejecting the film strip - the alignment is pretty reliable now, but you still want to check while the strip is in, to see if you need to repeat anything.

You can also have the exposure and film base colour set automatically, but that doesn't guarantee that you get to use the full dynamic range of the sensor; in fact it almost guarantees that you lose some of it. If you want an optimised raw data file (or an optimised anything in life really), there is no substitute for you taking control yourself.




Wir haben 7 Gäste online