Repique is a work-in-progress software photo duster written in Rust.
It supports in-place automatic dust detection and inpainting on Silverfast 64-bit DNG scans, and exports results in the same file format, maximizing compatibility with Negative Lab Pro.
The Theory
Nowadays, most film scanners — such as Plustek i-series or Nikon Coolscans — embark an infrared-scanning feature, allowing you to obtain a 4-channel image from your negatives.
This infrared scan lets you isolate dust from the rest of the image the same way an X-ray lets you isolate bone from the rest of the body:
infrared waves can easily go through dye and gelatin, but will be stopped by everything else in the way, resulting in an accurate map of every defects on the film.
We then use an inpainting algorithm to reconstruct the missing parts of the original picture and hide those specks
Screenshot
(This is an early development build very much subject to changes)
Future plans
The current version is usable but there are a lot of rough edges to polish before adding features. Here are some ideas i'd like to implement:
- Hardware acceleration backend with first-class support for the Apple Metal API (eventually dropping OpenCV as a dependency)
- Interactive inpainting
- Dust detection without the infrared layer (for B&W photography and DSLR scans)
- Auto white-balance for the positive frame preview
Source code
Source code is not released yet