rohanpandula/digital-fauxice — explained in plain English
Analysis updated 2026-05-18
Clean dust and scratches from film scans made on a Nikon Super Coolscan 5000 or 9000 without needing Nikon's original software.
Run the exact repair path on a full roll of scanned film, then use the AI hybrid mode only on the worst-damaged frames.
Study a reverse-engineered, byte-exact reimplementation of a discontinued infrared dust-removal algorithm.
| rohanpandula/digital-fauxice | adityasharmadotai-hash/docs-reader-rag-agent | alekseiul/hermes-researcher-agent | |
|---|---|---|---|
| Stars | 29 | 29 | 29 |
| Language | Python | Python | Python |
| Setup difficulty | hard | easy | moderate |
| Complexity | 4/5 | 2/5 | 2/5 |
| Audience | developer | vibe coder | researcher |
Figures from each repo's GitHub metadata at analysis time.
Requires an old Nikon Coolscan scanner and, for AI repair, a separately installed IOPaint runtime and downloaded model weights.
Digital Fauxice recreates Digital ICE, a dust-and-scratch removal feature that used to be built into a specific Nikon film scanner, the Super Coolscan 5000 ED. That scanner reads a fourth, infrared channel from film, which shows dust and scratches without showing the actual photo, and Nikon's software used that data to clean up scans automatically. Nikon stopped making the scanner years ago, so anyone still using one is stuck with old, unsupported hardware, or an app whose driver has been mostly abandoned. This project brings that cleaning process back, without borrowing any Nikon code, so it can run on any computer. The author tested the recreation against real scans and found it matches Nikon's original output exactly, down to every one of the 68 million plus values in a frame, with zero differences. The plain Python and NumPy version is slow, taking about an hour per frame, since it is meant as a careful reference implementation rather than something built for daily speed. Faster optional versions exist too: one using CUDA on an NVIDIA GPU finishes in about six seconds, and separate compiled and Metal backends do the same on Apple hardware in under ten seconds. For damage bad enough that the exact method still leaves a mark, there is an optional add-on called fauxce-hybrid. It sends only the worst spots to an AI inpainting model called LaMa, blends the fix back in, and marks exactly which pixels were touched by AI rather than exact repair, so nothing changes without a record of it. This add-on refuses to run if the damaged area is too large a share of the frame, and it does not include the AI model or its weights, those must be downloaded and verified separately. This is a technical, research style tool for someone with an old film scanner and comfort running Python code, not a plug and play app. It requires supplying your own scanner data and, for the AI mode, your own separately installed inpainting software.
A from-scratch recreation of Nikon's Digital ICE dust and scratch removal for the discontinued Coolscan 5000 film scanner, matching its output exactly.
Mainly Python. The stack also includes Python, NumPy, CUDA.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.