No, I have no idea how to do that. I guess I have to wait for this module to be included in the official release.
I don’t think that will happen anytime soon. Better try building it yourself
Thanks, I will try.
There seems to be an initializing issue with the “auto print exposure” option. It’s shown off by default, but I have to turn it on and off again to really turn it off (i.e. for film exposure to have an effect).
edit: superseded by the PR
I created a PR for others to look at or maybe start the inclusion process Initial darktable spektrafilm (dev branch) module by piratenpanda · Pull Request #21534 · darktable-org/darktable · GitHub
Good initiative. I think it would be nice to have a test suite which runs images through this module and spektrafilm and compares the outputs. This way the darktable team will be able to find when there are divergences in both algorithms as spektrafilm improves and gets updated over time. If not it seems like it will be a mess trying to keep up or guarantee that we are getting the same results with both solutions. If the results are not equal, at least for me, it doesn’t motivate me to use the module.
Good idea. Let me try to build one
Just a heads-up that equal and visually indistinguishable are often two quite different things in graphics! So when building a test suite, it’s a good idea to leave at least grain out of an automatic comparison suite. Also, exposure and other pre-processing steps might be hard to match exactly.
Usually one of the ways to pre-process for spektrafilm is through darktable, so on that front there won’t be an issue, as you can make sure your input is exactly the same
We created a testing tool that runs spektrafilm and darktable-cli with the same inputs then compares the outputs.
darktable-spektrafilm-compare.py (44.4 KB)
With
./darktable-spektrafilm-compare --debug
pack /home/panda/.config/darktable/spektrafilm (spektrafilm 0.3.3)
darktable darktable 5.7.0+67~g44ed963cae-dirty
spektrafilm /home/panda/spektrafilm/src/spektrafilm
lattice 17^3 = 4913 samples quality=standard
combos 22
OK fujifilm_xtra_400+fujifilm_crystal_archive_typeii mean 0.251 p95 0.653 max 2.687 worst at rgb(0.00,0.00,0.88)
OK kodak_portra_800_push2+kodak_portra_endura mean 0.221 p95 0.575 max 4.172 worst at rgb(0.00,0.00,0.38)
OK fujifilm_c200+fujifilm_crystal_archive_typeii mean 0.219 p95 0.526 max 1.781 worst at rgb(0.00,0.00,0.88)
OK kodak_portra_800_push1+kodak_portra_endura mean 0.211 p95 0.516 max 2.243 worst at rgb(0.00,0.00,0.38)
OK kodak_ektar_100+kodak_portra_endura mean 0.194 p95 0.432 max 1.197 worst at rgb(0.00,0.00,0.06)
OK fujifilm_pro_400h+fujifilm_crystal_archive_typeii mean 0.191 p95 0.414 max 1.010 worst at rgb(0.00,0.00,0.06)
OK kodak_portra_400+kodak_portra_endura mean 0.194 p95 0.412 max 0.837 worst at rgb(0.00,0.00,0.06)
OK kodak_vision3_250d+kodak_2383 mean 0.196 p95 0.402 max 0.801 worst at rgb(0.31,0.31,1.00)
OK kodak_vision3_50d+kodak_2383 mean 0.188 p95 0.400 max 0.698 worst at rgb(0.25,0.44,0.44)
OK kodak_verita_200d+kodak_2383 mean 0.195 p95 0.396 max 0.949 worst at rgb(0.00,0.00,0.25)
OK kodak_portra_800+kodak_portra_endura mean 0.189 p95 0.390 max 1.150 worst at rgb(0.00,0.00,0.06)
OK kodak_ultramax_400+kodak_portra_endura mean 0.190 p95 0.390 max 1.047 worst at rgb(0.00,0.00,0.06)
OK kodak_portra_160+kodak_portra_endura mean 0.187 p95 0.385 max 0.943 worst at rgb(0.00,0.00,0.06)
OK kodak_vision3_500t+kodak_2383 mean 0.191 p95 0.376 max 0.723 worst at rgb(0.19,0.25,0.00)
OK kodak_vision3_200t+kodak_2383 mean 0.184 p95 0.372 max 1.247 worst at rgb(0.00,0.00,0.19)
OK kodak_gold_200+kodak_portra_endura mean 0.167 p95 0.330 max 0.913 worst at rgb(0.25,0.06,0.00)
OK fujifilm_velvia_100[scan] mean 0.176 p95 0.302 max 1.012 worst at rgb(0.00,0.00,0.06)
OK kodak_ektachrome_100[scan] mean 0.147 p95 0.263 max 0.611 worst at rgb(0.00,0.00,0.06)
OK fujifilm_provia_100f[scan] mean 0.144 p95 0.251 max 0.562 worst at rgb(0.00,0.00,0.06)
OK kodak_kodachrome_64[scan] mean 0.148 p95 0.241 max 0.773 worst at rgb(0.00,0.00,0.06)
OK kodak_trix[scan] mean 0.013 p95 0.047 max 0.421 worst at rgb(0.00,0.00,0.25)
OK kodak_doublex[scan] mean 0.010 p95 0.029 max 0.206 worst at rgb(0.00,0.00,0.06)
no divergences above threshold
22 ok, 0 diverging, 0 errors
Well, in the end, after a few attempts, I managed to build darktable and install the spektrafilm module. The films and paper are showing up, but the problem is that when I select a film stock and move the sliders, nothing happens. Could it be that the .cube files are not in the right place?
which one did you compile? The latest from the PR? This doesn’t use cube files.
According to darktable user manual - configuration directory
You need to point the python script to:
Windows: `%LOCALAPPDATA%\darktable`
* E.g. `C:\Users\<username>\AppData\Local\darktable`
I was thinking about reducing the height and offering the other options under a drop down section. What do you think about that? Open for suggestions to improve it. The ordering is still rather random.
Maybe have the enable grain/halation still in the always visible part?
I think the shown setup makes sense; Having “enable grain” and “enable halation” on the main panel would be useful, too.
Also: Seeing Spektrafilms controls in a dt-panel is exciting
.
i would guess most people want the film printed and not only scanned? Maybe move “scan only, skip printing” to the extended section?
It’s used for the positive films. But yeah as this is rather something automatic its not really neccessary there
Could it could be a choice in the “print paper” (print paper = skip print), to avoid an additional line?





