Family Photo Chest Part 14.4: Assembling a Scanning System

pricingGood Morning from my Robotics Lab! This is Shadow_8472, and today, I’ve studied another photo scanning system available on the web. Let’s get started!

Introduction

Scanning seems evermore a topic I’m learning about without entering production. I’ve lost count of how many workflow iterations I’ve come up with, yet each time I feel closer than ever to that most elusive batch #0001.

I’ve now studied the free portions of two workflows from people who claim years of experience: scanyourentirelife.com and howtoscan.ca, but howtoscan is my favorite between the two. Both give enough of their respective systems away to be functional, but they each offer additional, step by step, click by click training affordable to anyone rich enough to afford a dedicated scanner as is recommended when scanning thousands of photos at home.

My outline today is based on what I’ve gleaned from freely available sources, though influences of the above two are more prominent in my mind.

1. Have a System

Anyone can throw a few prints in a scanner and share them online. Hundreds or thousands of pictures taken and organized by people spanning generations mandates some form of structure.

My system at this point looks like it may be sorting pictures by immediate family of origin and further sorting by year. Eventually, each item will end up in one of several 10-12 gallon buckets that can be scanned and moved to a neat “completed” stack.

2. Select Hardware Wisely

You don’t need a $50,000 professional scanner if you don’t know how to use the $150 one intended for home use you may already have lying around, like me.

If, on the other hand you are buying a scanner new and already have scanner software piked out, like XSANE, you should make an effort find a fully compatible model. Remember: marketing for home grade scanners doesn’t always have quality results in mind; they’re there to sell a product to the general public. This probably isn’t you if you’re taking the time to research.

Thought should also be given to storage. You may choose to store your photos on a cloud or locally, but if you’re planning your digital archive lasting another 3 to 5 generations, I would recommend some form of protection against hardware failure, such as a RAID configuration featuring redundancy.

3. Assemble a Workstation

Less important is the workstation you’ll be scanning at. In my experience so far, RAM is a limiting factor. Right now, I’m working with a keyboard, mouse, and monitor are straight out of the 90’s. Other than that, your average workstation should be fine.

I will note that since I have animals in the house, I have a room with a door to keep them out. I will also note that I feel safe enough leaving the door open when I’m in the room with all the pictures in the buckets mentioned above.

4. Capture Natural Scans and Fix in Post

Again, standalone scanners aimed at households will have modes invented by the marketing department to sell scanners. Scan at your final resolution, dust and all. Anything you do to a scan preview is permanent to your scan proper. Take advantage of automatic numbering in names. Work on a copy in a program designed to manipulate images, not one intended to sell scanners. Scan in batches with similar settings to save time fiddling with software settings.

My setup uses GIMP. I’ve taken a class on the basics in Photoshop, and about the only thing I miss is something like the Quick Select tool, but GIMP beta has an early version out for testing before their big 3.0 release. I also plan on using a script called DivideScannedImages so I can scan multiple pictures in a single pass.

Now this last part will hurt, but not everyone will be interested in his or her 8th grade school photos or the backside of a motorcycle frame. Pay the most attention to the pictures people will want to see.

5. Manage Your File System

Whatever file system you learn, learn it. Metadata is your friend. Learn how to add tags, dates — for all I know you can add whole pictures (would be nice for photo backs annotated in foreign scripts, but probably not). HowToScan recommends learning how to use batch handling, and the Linux command line usually has it baked in.

Takeaway

I can see why people might spend years figuring this stuff out and valuing it at X hundred dollars to sell the specifics. Some people need step-by-step, click-by-click instructions, but I don’t feel the need for me. I had a class in Photoshop, and most of the important points in one of the howtoscan free ebooks was all about using the “healing brush,” a technique I once used to remove a power line from a church building photo — the line art of which is still used in the directory to this day.

This has been a hard push of a month. I expect to return to assorted topics next week.

Final Question

How much would you pay to learn how to scan?

Family Photo Chest Part 14: The Tracks are Built, Bring on the Locomotive

Good Morning from my Robotics Lab! This is Shadow_8472, and today I am technically ready to start my first batch of scanning photos. Let’s get started!

Early Start

I am tired of this project going seemingly forever. Whatever I’m getting done, I want working this week. My plan has been to scan directly into the DivideScannedImages script for GIMP, and for that I need the XSANE plugin (Scanner Access Now Easy for Xorg GUI server). Every version I found was ancient and obsolete. Turns out installing the plain XSANE included its own GIMP plugin, as confirmed by xsane -v and looking for a line about GIMP. Just know that if you’re trying to check the version over SSH, that it really wants an Xorg server: export DISPLAY=’:0′ worked for me.

GIMP has a powerful scripting language built in. With it, you can automate most anything, all be it with a little difficulty. You can even use it to script events when launching GIMP with the -b flag (b as in batch). I took a look at it. It doesn’t look that bad to learn. It’s heavy on the parentheses, but I’d hesitate to directly call it LISP.

I got as far as calling the XSANE plugin on boot from within the DivideScannedImmages script. I was a little short on time to struggle through getting it just right, so I reached out for help on a GIMP Discord, but then I began to reconsider everything.

Progress Rejected

I’ve been a bad programmer. So many dead ends. So many side projects distracting from the main goal. I have an unknown deadline for this project, and I really need to cut the fancy stuff I’ve been working on and do something that actually works.

I also got to thinking, Who am I designing this for? I had been working on a command line setup for me, and my mother has graciously offered to help with scanning a little bit at a time. She doesn’t do the command line outside Minecraft. As a good programmer, I need to consider my end user’s needs, and she needs a graphical workspace.

Thinking like my mother would think, I made a directory on my desktop for shortcuts related to this project. So far, I’ve made launchers for XSANE, the network share for the pictures, and GIMP. I may develop it later.

My new vision is to just use the tools I have: XSANE to scan and save locally and GIMP to separate and deskew pictures automatically and store them in the digital archive before someone either deletes or offloads the original scans. I can make a text file with miscellaneous metadata for each batch. A manual review can flag photos that will need additional touchup.

Testing the Workflow

I used a couple pictures from when I was little to test my workflow. I laid them on the scanner with a bit of tweak. I spent several attempts learning about the limits of the scanner. The scan head doesn’t actually reach the full scan bed. If I’m not careful, pictures will get pinched under the edges. It’s very easy to accidentally overlap pictures. All good reasons for finding a preview of each scan.

Deskew isn’t a miracle, but when I did a side-by side comparison on a sample size of my two test pictures, it got one almost perfect and reduced the the tweak from the other, but my sister said the deskewed one might be a little fuzzier.

Takeaway

I cannot emphasize this point enough: good programmers build software for end users. It’s fine to hack together a piece of software you understand, but if you want to share your creation with someone else, you’ve got to make a relatable front end.

Final Question

What elements of a project have you given up for the sake of an end-user?