- correct the camera or scanner colour using exposure, input profile and white balance (which, in this case, correct the light going through the film to the sensor), to get a scan properly exposed between 0 and 100%, and remove colour casts due to the sensor,
- enable negadoctor, and correct:
- the Dmin, which is the colour of the orange mask or the density of the film substrate (a colour picker will be added soon),
- the Dmax, which is the paper density (same concept as the dynamic range but in dB/log10 unit, instead of the EV/log2)
- the WB coefficients (R, G, B) to correct colour casts due to the film emulsion, (colour picker planned here too),
- the negative inversion offset, to anchor the black level during the inversion process (9% by default comes from Kodak Cineon recommendations),
- then adjust the printing adjustments to your taste.
- denoise, sharpen, dehaze if needed.
- finish with colour balance if you need more contrast or split-toning / warm paper effects.
The actual pixel operations performed are stupid simple, the whole code takes 5 lines. (But 540 lines of GTK UI madness).