A  A

AD·VNVM·DATVM Down to a single bit of data An Introduction to the "Non-Destructive Guillotine" ("NDG") Book Scanner

Posted in || , , , , , , 10 min. to read

In short:

I introduce a new portable, single-camera book scanner design. The scanner is small enough to fit into a backpack when disassembled, and can be re-assembled in under 10 minutes. It does not require any power tools to construct; the only required tools are a tape measure, a PVC cutting tool, and scissors. A full list of parts, sizes, and prices are below, along with a video explaining the scanner's construction and use.

This is a long post; thus, I've added a Table of Contents with links here:

Background / Introduction

Just after finishing my undergraduate course at the University of San Francisco, I began a project to digitally archive all of my university notes and textbooks in order to have them on hand in the future without having to take them with me physically. Having found out about a community of enthusiasts led at the time by a gentleman named Daniel Reetz at DIYBookScanner.org, I built my first book scanner, modeled loosely after the "Scribe" scanner that the Internet Archive was using at the time. My build was documented in a post on the DIYBookScanner forums. That was in 2010.

Goals of this Design

Last fall, I became interested again in building a readily-available scanner for books. I was writing a large paper at the time, and it was useful to scan and OCR sections of library books in order to search through their text using a computer; this ability saved me considerable time when looking through large passages for relevant sections. Though I'm not a lawyer or legal scholar, to my understanding after reading substantially on the topic, scanning and otherwise processing a library book is legal in the USA, as long as the scan isn't retained past the loan period. I built a new scanner in November 2015 (which will be the subject of future posts). In February and March, I became interested in building a smaller version, with three goals:

  1. It needed to be inexpensive to build (preferably for less than $100 in parts, plus the cost of a single camera).
  2. It needed to be able to fit into a backpack or other small carrying case (my November 2015 build was over-engineered and is too large to fit into even a suitcase).
  3. Preferably, it needed to be able to be built without power tools. Although I have a tool collection now, when I was an undergraduate, I only had access to a power drill (no circular saws, drill presses, etc.). Thus, building a scanner as an undergraduate was made difficult mostly by my inability cut materials such as wood without help. I did learn through this process, however, that hardware stores will often cut plywood for a small fee. I wanted this build to be accessible to my younger self – something, for example, that a group of students living in dormitories or studio apartments could build and share.

For the past several months, I've been reading about the developments of the DIY Book Scanning community with these goals in mind. Today, I am excited to introduce a new scanner design.

Our goal is to take an original image like this: All images in this post have been downsized to make them easier to download; the original images are higher-quality.

Original page image

...And turn each page into an image like this:

Processed page image

This post is about the hardware portion of that process. The software portion primarily involves two free packages, ScanTailor, which came out of the DIYBookScanner community; and Darktable, which can edit photos as batches (i.e., can apply the same transformations to all photos in a sequence). Further software recommendations are briefly discussed below.

I call the scanner documented below the "Non-Destructive Guillotine" ("NDG"). In the design, a plexiglass or acrylic platen comes down vertically to separate the left and right pages of a book, then folds out to press both sides flat. A camera then takes a photograph of both pages at once. Put differently, the scanner uses a single camera (unlike many book scanners, which use two cameras) to take intentionally-keystoned photographs of each two pages in a book, held open at a 90-degree angle to one another (thus, each page is 45 degrees off from the camera). The scanner features a trolley system to lower the camera as the book is scanned, causing the keystoned pages at every point of the book to stay in the same spatial relationship with the camera. This allows the photographs of all pages to be de-keystoned in a batch, using software such as Darktable. In addition to hardcover books, the scanner also works well with paperback books and magazines. Many two-camera scanners have difficulty with paperback books, since the bindings are tight and therefore tend to cause the books to shut as soon as the pressure holding their pages open is released.

Licensing of the Design and this Documentation

I am releasing the scanner design into the Public Domain (or its nearest equivalent internationally) via the [Creative Commons CC0 dedication]https://creativecommons.org/publicdomain/zero/1.0/ "CC0 dedication"), following Daniel Reetz' advice on the topic. This write-up and the video below are released under a Creative Commons Attribution-ShareAlike 4.0 license; if you would like to arrange a different license arrangement to re-use these materials, please contact me to make an arrangement.

Following my goals, the scanner is small enough to fit into a backpack when disassembled, and can be re-assembled in under 10 minutes. It does not require any power tools to construct; the only required tools are a tape measure, a PVC cutting tool, and scissors. A full list of parts, sizes, and prices are below, along with a video explaining the scanner's construction and use.

This scanner design is one of many; see the DIYBookScanner webiste for alternative designs and discussion. DIY Book Scanner enthusiasts, and the website's original founder Daniel Reetz, spent years building this community and conducting research into inexpensive book scanning technology. The scanner design shown here, while original, has been inspired by many posts in the community's website's forums, especially including Mr. David Landin, who was possibly the first member of the community to use PVC for the major part of a build.

Building the Scanner

Hardware

Overview of the Parts

Do note that in the photos and video below, the vertical arm holding the camera trolley is (in the build shown) at a slight angle. Ideally, this arm would be straight up and down. Correcting this is a matter of re-arranging the PVC pipe and fittings on the top back assembly (i.e., the row of pipe and fittings on the back, top side of the scanner); it has subsequently been corrected in my scanner.

Table of Parts at Angle Table of Parts 1 Table of Parts 2

The Bare Frame

Scanner Frame Front Angle Scanner Frame_Front Angle Scanner Frame Front of Base Detail Scanner Frame_Front of Base Detail Scanner Frame Left-Side Angle Scanner Frame_Left-Side Angle Scanner Frame Rear Top Detail Scanner Frame_Rear Top Detail

The Full Scanner

Full Scanner Front Angle Full Scanner_Front Angle Full Scanner Left-Side Angle Full Scanner_Left-Side Angle Full Scanner Right-Side Angle Full Scanner_Right-Side Angle Full Scanner Rear Angle

Camera Mount

Camera Mount and Trolley Camera Mount and Trolley Camera Mount Detail Camera Mount Detail Camera Trolley Detail 1 Camera Trolley Detail 1 Camera Mount and Trolley Detail 2 Camera Mount and Trolley Detail 2

Cradle

Cradle Front Angle Cradle_Front Angle Cradle Rear Angle Cradle_Rear Angle Cradle Rear Angle Drawer Liner Attachment Detail Cradle_Rear Angle Drawer Liner Attachment Detail

Lighting Arm

Lighting Arm Mountpoint Detail 1 Lighting Arm Mountpoint Detail 1 Lighting Arm Mountpoint Detail 2 Lighting Arm Mountpoint Detail 2 Lighting Mount Detail Lighting Mount Detail

Platen

Platen Corner-Brace Detail Platen_Corner-Brace Detail Platen Counterweight Detail Platen Counterweight Detail Platen Front-Side Detail Platen_Front-Side Detail Platen Top Detail Platen_Top Detail Platen Unfolded Platen_Unfolded

Pulley and Counterweight

Pulley and Counterweight Pulley and Counterweight Pulley and Counterweight Paracord Meeting-Point Detail Pulley and Counterweight Paracord Meeting-Point Detail Rubber Band Detail Rubber Band Detail

Video Tutorial on the Scanner's Design, Construction, and Use

I've recorded a video that explains the scanner in more depth (click to view):

Embedded Video - Click to view

Software

As mentioned above, I recommend using Darktable to batch-de-keystone the images (first the left pages, and then the right pages). Darktable allows any series of corrections or transformations made to one image to be saved as a "Style" and re-applied to any other images. I manually de-keystone and sharpen one image for its left page, save the "style" and re-apply it to all other photos taken from the book scanner, and then export the resulting images. I then repeat the process for the right pages in the original photographs.

Alternatively, images could be de-keystoned using software written as part of a one-day build by Yutaka Tsutano, here. The software uses printed glyphs to mark the boundaries of each page, and then uses OpenCV to split and de-keystone the page images. Since Mr. Tsutano's code was created as part of a one-day build several years ago (one about which Mr. Tsutano has written he would prefer not to continue to develop), I recently forked the code in order to increase its level of documentation and code clarity. This is still a work in progress, however. I am not a C++ developer, and so see my role as primarily custodial for now (i.e., working on documentation and community-building).

The de-keystoned images can then be passed to ScanTailor, which will automatically crop and tilt the images, equalize margins, and white-balance correct the images. At that point, the output images can be bound into a PDF with a tool like the PDFToolKit (PDFTK). Alternatively, it can be OCRed and then bound with tools such as DjvuBind or PDFBeads.

If you are not running Linux and have access to them, Adobe Acrobat Pro and ABBYY FineReader can also be used to OCR PDFs produced from the scanner.

What You'll Need

Parts List

Tools

Item Quantity Approx. Price Per Unit (USD) Total Item Price (USD) Optional Item Price
Scissors 1
(Optional, but highly recommended) PVC cutting tool 1 10 10
(Optional, but recommended) Pliers (Useful for removing stuck PVC pipe from fittings) 1
Matches/lighter (for sealing cut paracord) 1
(Optional, but recommended) Hacksaw or other cutting tool (for dowel) 1
Clear packing tape 1
Double-sided tape (for attaching drawer material to camera mount) 1
Required Total: 0

Cradle and Platen

Item Quantity Approx. Price Per Unit (USD) Total Item Price (USD) Optional Item Price
Acrylic sheet 11”x14”x3/32” (.093” thick suffices) 4 4.78 19.12
Small (3/4”) binder clips 17 0.1 1.7
Medium (1.25”) binder clips (can replace 4 of these with 6 additional small binder clips) (Alternatively, these can be replaced with an equal number of small (3/4”) binder clips) 5 0.15 0.75
4” Corner brace 2 2.87 / 2 pack 2.87
3” Straight mending plate 2 2.97 / 4 pack 1.485
2.5” 90-degree flat corner brace 2 2.67 / 4 pack 1.335
Roll of black anti-slip drawer liner (non-adhesive) (one 18”x4' roll is plenty) 1 6 6
Rubber bands 3 0.1 0.3
550 nylon paracord (5/32” or 3.9mm) (approx 12 feet) (see cut list for specifics) 15 0.09 1.35
Fishing weights (approx 13 oz. (I have 3x3oz and 2x2oz)) 13 1 13
(Optional) 2x mini carabiner (for easy clipping) 2 1 2
Cord drawstring lock 2 0.5 1
(Optional) Fine (220-400)-grit sandpaper and black spraypaint for PVC 5
Required Total: 50.91

PVC and fittings (for structure)

Item Quantity Approx. Price Per Unit (USD) Total Item Price (USD) Optional Item Price
3/4” Schedule 40 PVC ~15 feet (see cut list for specifics) (pricing here is for 20 feet, since it's not an expensive part of the build, and it can be useful to have extra in case of mistakes) 2.70 / 10 feet 5.4
Coupler 4 0.35 1.4
Cross 1 1.96 1.96
Tee 5 0.75 3.75
90 angle 8 0.48 3.84
45 angle 2 0.84 1.68
Cap 2 0.46 0.92
Required Total: 18.95

Lighting

Item Quantity Approx. Price Per Unit (USD) Total Item Price (USD) Optional Item Price
Lightbulbs (1600 lumens/120 volts) 2 5 10
(Optional) Clamp light with aluminum reflector (the clamp can be removed) 2 9 18
#2 (1" – should fit snugly enough to be tightened around the 3/4" PVC) conduit hangers with 1/4" carriage bolts 2 0.87 1.74
1/4" Wingnuts 2 0.24 0.48
Extension cord with 2 plugin spaces 1 2.5 2.5
1/4"x1/2” long hex bolt 2 0.31 0.62
1/4" hex nut 2 0 (Take from Conduit hanger) 0
Required Total: 15.34

Camera track

Item Quantity Approx. Price Per Unit (USD) Total Item Price (USD) Optional Item Price
3/8" x approx. 18" hardwood (e.g., oak) dowel 1 1.44 1.44
#20 Hose clamp (aka “Jubilee clip”) (1/2” band, 3/4”-1 3/4” diameter) 2 0.98 1.96
Extension spring (I used a 2” spring), preferably with hooks on the ends 1 1.6 1.6
Required Total: 5

Camera mount

Item Quantity Approx. Price Per Unit (USD) Total Item Price (USD) Optional Item Price
#2 (1" – should fit snugly enough to be tightened around the 3/4" PVC) conduit hangers with 1/4" carriage bolts 2 0.87 1.74
1/4" Wingnut 2 0.24 0.48
3”x3” T-shaped plate 2 2.98 / 2 pack 2.98
1/4"x1/2” long hex bolt 1 0.31 0.31
1/4" Wingnut 1 0.24 0.24
1/4" washers 2 0.2 0.4
1/4"x3/4” long Allen bolt / “socket cap screw/bolt,” with grooved head exterior (to allow thumb-tightening into camera) 1 0.55 0.55
(Optional) 1-2x additional 1/4" hex nut for spacing bolt for camera 2 0 (Take from Conduit hanger) 0
Thin o-ring that fits snugly over the 1/4" bolt for camera (for example, 5/16” Outside Diameter x 3/16” Inside Diameter x 1/16”) (Often comes in pack of 10, which is priced here) 1 2.27 2.27
Required Total: 8.97

Total Cost (Assuming you do not have any required parts already – if you do have some parts already, the cost decreases)

Required Parts Required + Optional Parts
99.17 132.17

Cut List

Dowel

Purpose Inches (Approx.) Number Total
Camera track 9 2 18

Paracord

Purpose Inches (Approx.) Number Total
Camera trolley 87 1 87
Platen counterweight 30 1 30
Cradle drawer liner attachment 17 1 17
134 (11.17 feet)

PVC

Purpose Inches (Approx.) Number Total
Frame height 13 7 91
Paracord channel connectors 1.5 3 4.5
Hidden/Flush connectors 1.25 3 3.75
Lighting support arm 7 2 14
Frame width (top)* 5 1 5
Frame width (top)* 2 1 2
Frame width (top)* 4 1 4
Platen counterweight offset (can make longer if desired) 4 1 4
Frame width (bottom)* 6 4 24
Frame length (bottom) 4 2 8
Frame length (bottom) 1.75 1 1.75
162 (13.5 feet)
* Frame width should be adjusted based on the size of your acrylic sheets and the connection depth of the specific PVC fittings that you purchased (some PVC fittings are slightly deeper than others). The frame should fit around the acrylic sheets, forming a channel through which they can run.

Conclusion

I'm excited about this new design. I welcome constructive comments and suggestions, either directly or through the DIYBookScanner community.