Processing 35mm photographs using the Pi 5

In the past I had used a 35mm camera for several years and accumulated a lot of photographs. Some have been scanned and migrated onto digital media but there are several boxes and albums still remaining to be processed.

The scanner I have is an ancient Epson machine which connects perfectly via USB to the Pi 5 and just works.

My software for scanning everything is XSANE. Once the scanner is powered on and recognised, I select the page size, either A3 portrait or A3 landscape, hit the Acquire preview button to get a preview which is displayed in a preview window. Usually I  select the area to scan and zoom into that and preview again to check it is right. Once satisfied with the results I hit the Scan button for a full colour scan. The default settings are a full colour scan at 300px/in for a normal sized print. The file options are amended to ensure I am saving into the working directory. File numbering is incremented automatically.

Once scanned, Gimp handles processing. I have installed and used Gimp almost since I first started to work with Linux on 486 and 586 PCs. Now I have it on the Pi 5 and it works for me. Never having used any commercial Windows photographic software I cannot compare it with anything else. It is not the most intuitive software but once you have used the features a couple of times, possibly read the help files, it does the job. Previously I used the Python interface to automate copyright insertion (and the unsharp filter) but not recently.

Mostly I will tidy up the fine detail with the unsharp mask. Occasionally crop and even rarely adjust with rotate or shear. Even rarer is the use of the clone or healing tool. I used to be lot more fancy, adding blur, adding a white border or some of the more exotic filters ... but life is short so nowadays the KISS principle rules.

XSANE and GIMP were installed on the Pi 5 because to process old photographs of the family for an event. It was expected to take several days as I decided to split up the work into an initial process and a post process stage for the final images. This way the number of intermediate files in each directory were minimised to the ones relevant for each stage. After a couple of days I decided to document the work so the process was repeatable in future. Also, I intend to script and automate much of the process later, possibly using ImageMagick.

1. Work directory
Create work directory into which all work will be stored. Usually a directory with a relevant subject name and dated in the format YYYY_MM_DD. i.e. "birthday_1999_03_15" Even if the directory date changes I can identify the directory in future
 
2. Intermediate stage directories
Within the Work directory create the sub-directories to store the intermediate stages. For this exercise I created 2 directories, "initial" and "sharp". 
 
3. Build up the "initial "folder.
The "initial" folder will contain the initial scanned photograph as a .jpg as well as the .xcf file that I save after scaling and cropping the image. This way I can always go back to a clean initial image either in .jpg if I really want to start from the beginning. The .xcf file is my starting point for further processing because it has the been scaled to the right size, any detritus removed.
 
4. Build up the "sharp" folder.
The "sharp folder will contain the processed .xcf after I have sharpened or process the picture in any way. Here too I will store the final .jpg file which will have been exported from the .xcf. Usually I will add either the word "_sharp" or a "_S" before the file extension. 
 
 5. Upload the sharpened .jpg files to storage of your choice.
I created a numbered folder album with the photos for each day stored in a separate folder in Google Photos. Normally I use Smugmug but for this exercise the images were uploaded to Photos into a numbered and dated folder. This way I could work on them, share them with my daughter who to print the pictures. Working in this way enabled us to iterate without losing track of the work.
 
6. Back up the Pi 5 and tidy up the local storage.
I back up every time I have completed any significant work to a couple of hard disks used expressly for that purpose. They contain backups for all the hosts and the laptops so I can recover. After the backup these are not touched unless I need to recover work of migrate it to another medium.
 
Conclusion
The use of the Pi 5 for this work was surprisingly easy. There were no hiccups. I did not feel constrained by the power of the Pi 5. Admittedly it did not feel as fast as the laptop  I use but neither did it feel particularly slow.

I have now left the scanner permanently connected to the Pi5.
 
My next steps will be to automate the work with Bash and ImageMagick.
Then use a LXD/LXC container loaded with XSANE and Gimp to run the script.
 
Cheers

Popular posts from this blog

Fixing Zero 2W suspending itself restricting ssh login

Raspberry Pi 5 with NVME Base Duo and 256 SSD

Installing the NVME Base Duo