Good Morning from my Robotics Lab! This is Shadow_8472, and today, I’m trailblazing the next phase of this project. Let’s get Started!
Ten months now, I’ve trickled on with this project. All so I don’t burn out on it. And as always, just as I crest one peak, another valley of research to explore awaits me on the other side. Hopefully, I’ll get around to scanning the first photo before this project’s first birthday.
My goal for this project is preservation. I’m obsessed with not losing any details and getting the cleanest image possible, and even I don’t fully understand what that means yet. In theory, that could mean grabbing the best scanner on the market and cranking it up to max. That’s more or less what happens to old movies when they’re being digitally remastered for use on HD or 4K big screens. But once something has been digitized, the amount of captured information is locked (barring AI upscaling, but that’s a topic for another time), and I want this project to be able to stand up in a generation or two, even if all physical originals are lost.
Early Research
This week’s research focused on the one known missing link, the software. I would like to have a feature to keep front and back scans together, and that probably means either writing my own interface or modifying an existing program. I went to find the source for the scanner software for Linux I otherwise have a minutia of experience with, and I can’t find it. The closest I can find is an RPM package for Arch, and I read that that’s not a guarantee: such packages can contain precompiled machine code, and editing that would be a bit above my skill level.
I started thinking about the chain of software that accomplishes the task of getting anything scanned. Down at the bottom, just above the operating system, there’s the driver controlling the scanner. Higher up, there’s a middleware layer called SANE. On top of that is a front end in either a GUI or the terminal. If I am to write my own program from scratch, it would be tailored for only this one scanner and be feeding commands to the terminal front end.
I dug up a few alternate front ends for SANE with the intention to attempt modification. Options include XSANE, a program I gather works, but is a little generic, and SwingSane, a project that aims to unlock all options for any compatible scanner, but hasn’t been maintained in five years.
GIMP
I was a little surprised to hear that GIMP has a plugin for scanning pictures directly in for prompt, user-guided restoration works to correct scratches, dust, fading, or other problems without a potentially over-aggressive fully automatic algorithm giving you “scans that look worse than the original” (Link to citation). As an added bonus, a picture can believably be scanned in as multiple layers and easily saved to file as front and back with no extra modification needed. Same goes for if I want to scan a whole album.
Where Are the Bottlenecks?
Scratch that last detail. My whole robotics blog here has turned into being more about how I’m using Linux to keep aging computers out of the e-waste bin, often with a touch of Frankenstein thrown in. If I want to go preserving every little detail I can down to the grain, these pictures WILL be packing away the RAM, and chewing through any remaining swap space, probably crashing any machine I have to throw at it. I’m afraid a more modern machine will need to be specced out.
Such a machine would be built for the task, and intended to have a nice, long retirement as a regular gaming rig. I’d like this thing to still be in service ten years from now. As I understand it, we’re at the relative beginning of Intel’s LGA 1200 slot, so late-life, second hand upgrade isn’t out of the question, and M.2 is still fairly new in terms of how long PATA and SATA lasted. For all I know, I’ll be running out its final clock cycles in some kind of cluster or a cloud computing application twenty or thirty years from now.
Final Question
What is the longest project you’ve ever persevered at before any results started showing?