I didn't feel like paying for film inversion software, so I made my own! (And you can try it too!)
Motivation
My local lab offers pretty abysmal scans (6 MP for the "high resolution") for a pretty hefty price. I own a digital camera, so naturally I started looking into scanning at home. So I got a macro lens, and a film holder, and now I have a bunch of RAW scans that I now need to invert. So what were my options?
- Manual Inversion: This is a very tedious process of manually inverting each colour channel, subtracting the colour of the film base out, and fine tuning the RGB curves until you get the colour balance just right. I found it really difficult to get repeatable results, and it just took way too long to process, not to mention needing to manually crop each frame.
- Dedicated Film Inversion Software (NLP, Chemvert, etc.): I didn't try any of these. No doubt, they would have produced fantastic results, but they all came with very hefty price tags. At the current volume that I shoot film, it just didn't make sense, and I don't feel like adding more expenses to an already expensive hobby.
- Free alternatives?: To my surprise, there really weren't any good options here. I tried Darktable's Negadoctor, but it had similar issues to manual inversion where controls were very fiddly, and I still needed to manually crop each frame.
All I wanted was a free, standalone app that I could toss my RAW files into, and in a couple clicks, have all my photos cropped, inverted, and exported to JPGs in one batch. So I did just that! And you can download it and try it for yourself too:
What it can do
- Automatic Cropping: When scanned properly, the app is quite effective at automatically cropping around the film frame without any extra fuss, as long as the photo has a clean black mask surrounding it. Even if your scanning is a little sloppy and misaligned, it should take care of it reasonably well.
- Touchless* Inversion: Once the automatic crop is dialed in, you'll instantly see the final preview, already inverted with 16-bit colour depth. There are some basic controls to further adjust the look, but most of the time, it's good enough to export as-is.
- Batch Processing: You can load in as many photos as you want, crop, invert, and export all the photos at the same time.
- Dust Removal: This is sort of an experimental feature that's kind of a hit or miss. Try it, and if it works, great; if not, oh well. Best to not have dust on the film in the first place.
* The inversion algorithm isn't perfect, so sometimes it will miss, and you may have to manually give it some parameters to help it out, but this isn't too frequent.
Setting Expectations
I should say that I'm neither a developer nor an expert on scanning film. So sorry if the interface is slow, buggy, clunky, unintuitive, or that Windows flags the app as suspicious when you try to run it. It's not a virus... but I'm just some guy on the internet. You're more than welcome to look at the spaghetti source code yourself, or scan the EXE with your favourite antivirus software. It's free, so you get what you get, and unfortunately I'm not really sure how to legitimately distribute the software without having to pay money to get it signed.
And no, this app is not intended to dethrone proper film inversion software. It probably won't have the same colour accuracy or editing fidelity that paid alternatives provide. There are probably many others like me who are not very picky about colours and are just after the memories that film captures without any technical or financial barriers. That's primarily the target audience that I designed this app for, and why I only implemented bare bones editing controls. Besides, it's free.
I welcome feedback of course! I only have my own film scanning workflow to work off of, so I'm curious to know if this app is useful to anybody else. I am also just a beginner when it comes to colours and editing, so I'm sure there something I missed or some way to improve the app.
Samples
I've experimented with a bunch of different film stocks, and it seems to handle them all decently. I even had some success using the app to correct colour casts on expired slide film. I scanned these using a Sony a6700, an adapted Nikkor 55mm f/3.5 Macro lens, and an iPad Air as a backlight, so I'm sure there's room for improvement still. These are all straight out of the app.
How the app looks; Fujifilm 400