whatisgithub

What is digital-fauxice?

rohanpandula/digital-fauxice — explained in plain English

Analysis updated 2026-05-18

29PythonAudience · developerComplexity · 4/5Setup · hard

In one sentence

A from-scratch recreation of Nikon's Digital ICE dust and scratch removal for the discontinued Coolscan 5000 film scanner, matching its output exactly.

Mindmap

mindmap
  root((Digital Fauxice))
    What it does
      Recreates Nikon Digital ICE
      Removes dust and scratches
      Matches Nikon output exactly
    Tech stack
      Python and NumPy
      CUDA backend
      Metal backend
    Use cases
      Clean old film scans
      Repair worst frames with AI
      Study reverse engineering work
    Audience
      Film scanner owners
      Developers
      Researchers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Clean dust and scratches from film scans made on a Nikon Super Coolscan 5000 or 9000 without needing Nikon's original software.

USE CASE 2

Run the exact repair path on a full roll of scanned film, then use the AI hybrid mode only on the worst-damaged frames.

USE CASE 3

Study a reverse-engineered, byte-exact reimplementation of a discontinued infrared dust-removal algorithm.

What is it built with?

PythonNumPyCUDAMetal

How does it compare?

rohanpandula/digital-fauxiceadityasharmadotai-hash/docs-reader-rag-agentalekseiul/hermes-researcher-agent
Stars292929
LanguagePythonPythonPython
Setup difficultyhardeasymoderate
Complexity4/52/52/5
Audiencedevelopervibe coderresearcher

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires an old Nikon Coolscan scanner and, for AI repair, a separately installed IOPaint runtime and downloaded model weights.

So what is it?

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.

Copy-paste prompts

Prompt 1
Walk me through how infrared-channel dust removal works in Digital Fauxice and why it needs a four-channel scanner.
Prompt 2
Help me set up the CUDA backend for Digital Fauxice on my NVIDIA GPU.
Prompt 3
Explain how the fauxce-hybrid AI inpainting add-on decides which regions to repair with LaMa.
Prompt 4
Show me how to verify the SHA-256 of the big-lama.pt model file before using it with this tool.

Frequently asked questions

What is digital-fauxice?

A from-scratch recreation of Nikon's Digital ICE dust and scratch removal for the discontinued Coolscan 5000 film scanner, matching its output exactly.

What language is digital-fauxice written in?

Mainly Python. The stack also includes Python, NumPy, CUDA.

How hard is digital-fauxice to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is digital-fauxice for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.