Film Scanning

The aim is to provide darktable with functionality to handle the complete workflow of "digitial" development of analogue film slides.


The most features will be biased to the workflow of scanning negatives.

Scanning session

A scanner session should resemble the same approach of a session within Tethering view. That means a user defines a job code which in turns creates a film roll were all scanned images will be imported to.

This requires a rather big refactor of the current implementation of tethering / camera import that uses a commonly shared approach to import images into darktable. The main approach would be to break out this functionality from the specific camera import dialog and implement a common/import_session.c to handle all the current features so it easily could be shared between, tethering, camera import and scan. The camera import options should be removed from camera import dialog into preferences panel which currently is wrong place even for tethering.

Automatic image enhancments

In contrast to "scan raw" without any further image processing we should provide automatic enhancements by analyzing the preview scan.

  • Detection of black and white point to scale values.

Automatic area hinting

When a scan preview has been finished the user should select "areas" to be scanned. There should be support for several areas to be defined and each area is scan in a background batch job.
The automatic area hinting feature should detect areas in the image. That means that if the user scans a negative strip with 3 images, three areas should be automatically be selected for further fine tuning by the user before starting the scan job.

Support several scanners available in SANE backend

There should be no restriction / choice of what scanner to be used. The available scanners should be easily selected in the scan view to ease the work with several scanners in the same session.

Background scanner batch jobs

When user starts a batch scan for a session this should lock the scanner and scan batch in background. If possible and if SANE let us do it, a user could choose to use another scanner for the session and start creating a new batch while the first batch is on going. This will mean that if a user have 2 scanners, he could double the scan rate of photos by doing the batches in paralell.

Support for iterative scans

We need to investigate this but the process is to scan an image several times and average the result to iron out sensor noise.

Support for bracket scan (HDR)

This feature will enable you to scan an image three times with different brightness levels and then combine the three scan into a HDR image. This is very useful if you are restricted to a 8bit color depth scanner and can with this feature gain additional dynamic range in your scanned photos.

Support IR channel dust removal

Some scanners have an additional feature to include a IR scan which is used to detect dusts on the film, we should definitely support this and find a nice algorithm for it. See for reference. I have verified that SANE does support this and also have constants to detect scanned frames with IR channel.

Also available in: PDF HTML TXT