The Plustek 8100 is a relatively cheap but good quality film scanner. It produces much nicer scans than most flatbed-type scanners, but it can only capture small format film. In this page I show how to modify a Plustek 8100 to scan medium format (120 film) by stitching together multiple scan sweeps. The motivation for this is that medium format film scanners tend to be rare and expensive, and this modified scanner can get you comparable results.
A single 6×7 frame takes around 6 minutes to capture at the scanner's highest resolution setting, so this method is around as convenient as SLR scanning but without the setup and focusing hassle. This mod also lets you capture 35mm film including sprocket borders like this: Link to example (not mine).
Here's a 6×7 scan I got out of it: (for higher resolution try opening the image in a new tab)
Two changes are involved:
- Modify the driver to sweep the scan head longer than usual ("taller" in terms of the image plane).
- Replace a part on the film carriage with one that avoids the scan head's field of view.
My guess is most of this post applies identically to similar-looking Plustek scanners (7200, 7400, 7600i, 8200i) but I can't test this.
The usual interfaces to this scanner only produce captures of a ~36×24mm region, the usual image surface for 35mm film.
Up until a few months ago this device was limited to use with expensive proprietary software (SilverFast, VueScan).
No longer, thanks to a recent update to the
sane-genesys backend (Link to gitlab, cf sane-backends 1.0.31 NEWS).
With this software, all that is needed to make the 8100 perform longer sweeps is to change some values in the source.
The necessary changes are in a github repository here:
genesys backend needs to be compiled. See the repo's
README.md for compilation instructions.
A single medium format frame must be scanned 4 times, once for each quadrant, then stitched together. Here is a script I wrote to interface this process:
This script automatically previews and captures the files, then runs them through a panotools autostitch procedure. If something goes wrong during scanning, turn the scanner off and on again and the script continues gracefully.
Something went wrong with my scanner and now it creates really strong vertical bands right at the Nyquist frequency when scanning at 7200ppi. I include a low-pass filtering step in my script to get rid of this. The filter's stop frequency is well beyond the scanner's optical resolution (Link to filmscanner.info) so there's no significant loss in suppressing it.
The film carriage must be modified to enlarge the scanning stage. As it is, the scanner's view is obscured by the carriage for part of the sweep we want. Here a picture of the inside of the device and what needs to be removed:
It isn't that difficult to get the part off, but I was conscious of keeping the scan head aperture clean during my process. Here is a render of the replacements and their Thingiverse link:
For fun, here is a picture of the measurements I took to help sketch this in FreeCAD:
Next here's a look at how the prototype parts fit into the carriage. The parts in this picture actually had too much material on them and couldn't accomodate the larger tray, so I shaved them down. I've included these modifications in the Thingiverse files and the render shown up above.
The best "scan tray" solution I've come up with is to sandwich the film between two laser-cut 2mm acrylic sheets. The scanner's focus plane seems to be somewhere between 2 and 3 mm over the tray's floor. I currently correct for this with layers of tape along the bottom of the tray. The acrylic is flimsy and requires support columns to stay flat inside the scanner, which is annoying.
The svg for laser cutting the above sheet (three 6×6 frames) is here:
Here are a few more darktable inversions, (plus some dust, light leaks, missed focus and fingerprints):