First attempts

Damn Kodak to the 5th circle of hell for having ruined generations of family images with their stupid disk format. This being said, let's try to salvage the situation.

I recently decided to scan some old family negatives on Kodak discs, a format infamous for its poor quality, ridiculously small surface (and hence huge grain and poor details), difficult handling and a slew of other defects. Bad but enlightening idea.

I first tried to scan it with a standard 35mm slide scanner: big waste of time. You have to cut the disk in pieces to separate each frame, place them carefully with tweezers into the film holder, they are impossible to keep level and focus on properly unless you add a glass in the holder, etc...

First of all, why is it called a 'Kodak Disc', when I have a 'Hard disk' in my computer ? Hell knows but Google gives a lot more results with a 'k' than with a 'c'.

Left: A preview showing 3 Kodak discs on the scanner. Note the difference in color balance between each. Also note the plastic axle of the disc resulting in a lot of white area while the surroundings of the disc result in a lot of black area, thus making a precise white/black point determination difficult.

Direct flatbed

Then I took the next easiest path, a flatbed scanner with a transparency back large enough to accommodate the disks at once such as the Epson Perfection V500 Photo, which works under Linux with a bit of tweaking. The idea would be to scan the entire disk at once and then process the individual frames in separate software with a workflow such as: Scanner -> 64RGBI scan -> Vuescan -> DNG file -> Raw processing program -> Multiple frames. Easier said than done. The main problem stems from the fact that a big part of the scan is completely white (the axle) while the other is completely black (around the disk). Also, since the images are so tiny, you need a high resolution but the resulting image is huge enough to crash most OS or scanning softwares if you use the best resolution your scanner can give (6400dpi in my case).

Right: The same scan as previous, but with the core physically removed. No more white point problem. The white balance has been adjusted for the top disc; each one needs to be scanned separately

So let's just place the disc on the middle of the scanning area, adjust the following settings and do a preview:

Mode: Transparency

Bits per pixel: 64 bits RGBI

Scan resolution: 6400dpi

X/Y size: manual, 64mm (and move the box over the preview of the disk with shift-click).

Infrared clean: Light

Restore color: optional

Restore fading: yes

Grain reduction: none or light

Right click on the gray area between the frames to set the white balance, then

Black point 44~60% (adjust as needed)

White point 15~20% (adjust as needed)

TIFF file (or JPG for easier manipulation)

TIFF DNG format

...

One big problem is that the image is supposed to end up being 16000x16000 pixels (that's 248 megapixels, or 2Gb in RGBI), and VueScan under Linux has some memory limitation... So I can either scan at a lower resolution (not acceptable for such a small negative) or proceed with smaller crops (waste of time) or run it in a virtual machine under Windows (slow). I go for the last option.

The scan

The previous solution yields raw scans with too much pure black (the area around the disk) and too much pure white (the plastic thingy in the middle) to rely on the usual auto exposure mechanisms of VueScan. So an idea is to cut the plastic axle of the disk out and replace it (as well as the surrounding of the disc) with a classic 18% gray transparent sheet.

The first attempt is a disaster: I print an 18% gray on a transparency sheet and cut 3 holes in it for the disks. I also cut the cores of the disks out and replaced them with a small circle of the same 18% gray sheet. This results in humongous banding on the scans. Apparently the sheet is covering the calibration area of the scanner... So on 2nd try I cut a square barely bigger than the disk and place it in the middle of the scanner. As a result the scans aren't as easy to manage as I expect: the large gray area screws with the auto-exposure worse than not using them.

So finally I opt to cut out the center of the disk for 2 reasons: avoiding white point issues, and bringing the negative closer to the glass so as to have a more precise focus (yes, the 2mm thickness do make a difference on this scanner).

Here's the best way to proceed, as far as I've determined,:

Cut off the inner core of the disk with a utility knife (*)

Place 3 disks (or as many as your scanner can take) in the transparency area of the scanner

Do a preview

Do a manual crop 64x64 (in mm) and place it over the first disk, zoom in if necessary

Adjust black point in the 40 to 65% range (if you pay attention while raising the value one % after one %, you'll notice a value where the visual aspect of the image changes suddenly: use a value just below that)

Adjust white point to 0.1 to 1%

Right-click on the gray area between the images to adjust the color balance (or other light parts of the image and compare with a double-right click)

Adjust other parameters as needed

Preset the 'save as TIF/DNG', TIF or JPG depending on the rest of the workflow

Scan it (may take up to 2~4 hours in RGBI multipass at 6400dpi, I don't go that high though).

Afterwards, fine tune and black/white points and color balance before saving again; delete the first scan.

Go back to the preview to move (shift-click) the area onto the next disk and repeat the scan and the previous step.

Proceed with the script below for each scan. You can run the script while you scan the next image if you have enough RAM.

(*) 2011 update: Jeff Peters wrote me the following: "By the way, I've discovered there's a way to remove the hub without cutting the negative. If you turn the disc numbers-side-down, there is a black ring surrounding the hub on the top face. If you gently pry under this ring, you can lift it away (usually in pieces), and then remove the negative from the hub. The hub is only slightly larger than the hole in the negative, so separating them isn't difficult once you know the secret. This makes for a much neater scan, as the edges don't get disturbed.

Image extraction script

So after I got the huge DNG images from the scan, the idea was to process them with SilkyPix like any raw image from a digital camera. There were 2 problems: the 2Gb images would choke the program and its crop function won't let you select an image less than 20% of the original. No dice. I had to abandon the idea and go back to the basics. I spent a few hours (and a few posts on the forum) to write an ImageMagick script that would automatically split the raw scan into its 15 individual images. Here's how it works:

Right: Selection of the points for the splitting script. Here the points ^1, ^4 and ^8 are used, but the most precise results are obtained with ^1, ^6 and ^11. If you only have a scan of a partial disc, use whatever you have.

Note the X/Y coordinates of the point where the two images near the "^1" writing do touch each other.

Also write down the coordinates of the "^6" and "^11" contact points (or any other such point as appropriate if you work on a partial scan). It doesn't matter which points you use, but using ^1 will start the cut at that image, and using ^1, ^6, and ^11 will result in the most precise cut.

Launch the script with the following parameters on the command line (it's written on Linux, but it should work on Windows with Cygwin or Mac OSX as long as you have ksh and ImageMagick installed):./SplitKodakDisc.sh 10899 12303 2966 8225 10378 3321 Scan-091107-0001.jpg DestDir/

Where the first 2 numbers are the X/Y coordinates of point ^1, then point ^6, then point ^11. The last optional parameter is the destination directory (it saves in the local directory if not given). The script saves the results as OriginalName-KBxx.tif (xx=01..15), but you can change the file type on its first line (use "identify -list format" and look for the 'rw' lines to know which formats are available). Apparently you cannot save as DNG which would have been nice. The script is in the box below, just save it as ~/bin/SplitKodakDisc.sh and do chmod +x on it before running it.

Tidying up

As a last step, I launch a raw processing program such as SilkyPix and edit the resulting 15 raw images. I adjust their contrast, exposure and fine-tune the crop and rotation before saving the final results as JPG. And a final step in Gimp to clean up some of the dust/scrapes on the images.

Right: An enlargement on exactly where you should select the point for the splitting script: between the image corners and the closest white edge (the one framing each image).

A quick review of the Epson Perfection V500 Photo

After a decade and a half of scanning 35mm film with several generations of slide scanners, I finally purchased a flatbed scanner. The reason for this apparent reversal is that I have come in possession of old negatives in Kodak Disc format (see above), 6x6, 6x9 , 110 and even older exotic formats. So a scanner that can eat anything was becoming a necessity.

As I write this I have not even tried the scanner in normal flatbed mode but only in transparency mode. Since a scanner's output quality and ease of use depends completely on the software you use, I'll comment on the following OS/software combinations. I've been running the Windows scans in VirtualBox under Ubuntu without issues.

Original software on Windows

Not tried

Vuescan on Windows

The usual Vuescan: everything and the kitchen sink. Works very well.

Sane on Linux

Does not find the scanner

iScan on Linux

Very limited software, the 32 bit version has an image width limited to 37768 bytes (4721 pixels in RGBI mode).

Vuescan on Linux

Very fast, but since it relies on the 32-bit iScan driver, has the same size limitation.

One thing I don't like is that there is no manual focus possibility; that's probably a characteristics of flatbeds, but still I'd like to ensure a proper focus on the essential area of the image.

A 16125x16125 pixel multipass (x2) scan of a 64x64mm area at 6400dpi (the direct maximum of this scanner) takes about 4 hours in VirtualBox. As for the quality: large formats B&W negatives turn out excellent, but they always do so that's hardly a good criterion. On the other hand, tiny negatives such as the kodak disk show all the defects of small negative areas. Some kind of colored bleeding between dark and light is visible on ~2 pixels of width.

The scanner comes with a holder for 4 slides, two 6-frame 35mm film holder and a holder for 120 film (two 6x6 or one 6x9 or one 6x12). You can also use the whole surface which is about 7x24cm in transparent mode. There is no 110 or Disc holder.

There are 4 front buttons which don't do a thing by default in Linux but can be programmed to customize Vuescan. It's a shame Sane doesn't work out of the box as it would be nice to be able to scan directly to email.