Modifying a Plustek 8100 to Scan Medium Format

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)

Imgur-hosted screenshot of a darktable inversion of a 6×7 scan at 3600 ppi
Imgur-hosted screenshot of a darktable inversion of a 6×7 scan at 3600 ppi

Two changes are involved:

My guess is most of this post applies identically to similar-looking Plustek scanners (7200, 7400, 7600i, 8200i) but I can't test this.

Software

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:

Link to github

Only the 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:

plustek120.sh

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.

Hardware

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:

Imgur-hosted picture of the inside of a Plustek 8100 with a frame drawn around the part that needs to go
Imgur-hosted picture of the inside of a Plustek 8100 with a frame drawn around the part that needs to go

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:

Imgur-hosted render of the modified carriage pieces
Imgur-hosted render of the modified carriage pieces

Link to Thingiverse

For fun, here is a picture of the measurements I took to help sketch this in FreeCAD:

Imgur-hosted picture of carriage measurements
Imgur-hosted picture of carriage measurements

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.

Imgur-hosted picture of carriage with prototype parts installed
Imgur-hosted picture of carriage with prototype parts installed

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.

Imgur-hosted picture of tray with negative loaded
Imgur-hosted picture of tray with negative loaded

The svg for laser cutting the above sheet (three 6×6 frames) is here:

scan_tray.svg
scan_tray.svg

Examples

Here are a few more darktable inversions, (plus some dust, light leaks, missed focus and fingerprints):

Imgur-hosted picture
Imgur-hosted picture
Imgur-hosted picture
Imgur-hosted picture
Imgur-hosted picture
Imgur-hosted picture

Comments