Text and pictures © 2009-2023 Guillaume Dargaud
Last updated on 2021/11/05
I don't think the discus will ever attract any interest until they let us start throwing them at each other." — Al Oerter.
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.
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:
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 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,:
(*) 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.
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.
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 SplitKodakDisc script is available on gitlab, just save it as ~/bin/SplitKodakDisc.sh and possibly do chmod +x on it before running it from the command line.
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).
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.
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.