Spektrafilm darktable module implementation discussion

I get it. I don’t think I ever used a value above 1.10 or 1.15 in Spektrafilm. It breaks fast above that, but it might be valuable to have it there with a really limited range above 1 and if it’s technically a more correct way of increasing saturation for film (compared to just increasing in color balance rgb).

Nice! Have not attempted to benchmark. Do you know if it mathematically should be a penalty of settings px vs factor scaling?

Sync bug

The two sliders seem to have a tendency of going out of sync. Have not figured out a way to provoke it, but it l can look like this:

UI proposals

  • Move the interpolation row to under the “9568 × 6376 → 8420 × 5611 px” row (in my screenshot).
  • Align the row that ends with 5611 px (in my screenshot) with the row that ends with “8420 px” (in my screenshot).

Can you try this?

resize-module.patch (50.8 KB)

Speed is the same, it uses scale factor internally and just displays the information in a more user friendly way

Any chance you could bring 1 or 2 of these photos into Play RAW? Not only are the landscapes great images but it would allow folks (like me) to see how you are using spektrafilm.

A general remark, downloading from the module or the pref as for AI (to be discussed) is fine by me. But the data MUST be in a repository we managed. I don’t want at some point to see the repository where we download removed or all data being changed for a new algorithm and breaking edits.

So to me we need to import the data into a repository under darktable.org and ensure that we properly manage version to allow old edits to keep identical. All this is to be discussed, I see different options but since I know next to nothing about Spektrafilm…

4 Likes

Haven’t checked, can try later today.

Well, if that’s the case I propose we just skip the scale factor slider, the pixel slider is enough. But, we could display scale factor along the output pixels…

What I mean by this is that: At the end of the “9568 × 6376 → 8420 × 5611 px” row in the (old, not updated) screenshot below we show (scaled 0.88×)

I can build again and test when this change is made too, if you think it sounds good.

Sure, this is a testing repo currently of course

for a quick and dirty testing module I don’t see the point actually to polish it :smiley: I also like the scale factor more then the pixel values to be honest but this is a matter of taste so I don’t have any hard feelings if it’s only one. Maybe I should make another post to see if it’s interesting for others as well :slight_smile:

The versatility of this module is impressive.

I have had a play and used it as a Negadoctor emulator.

I had used Negadoctor on a scan of a very poorly developed color negative a long time ago and thought to use Spektrafilm to compare how it handled it.

To get a positive image out of a scan of a negative using Spektrafilm you have to choose a positive color film in the film dropdown and uncheck the scan the film box in the film tab. The colors can be adjusted using the magenta and yellow sliders in the print tab.

I attempted to get similar colors in the Spektrafilm process as the ones I had settled on in Negadoctor. They are not exact but looking at them side by side I think they are quite close.

I am interested whether others have thought to use the module in this way.

The two images below were processed using as shot white balance from when the negative was scanned, the exposure module and either Negadoctor or Spektraflim. I have not used any other modules that influence color.

1 Like

processed using Negadoctor
Negadoctor208_0021.ARW.xmp (12.0 KB)

1 Like

Processed using Spektrafilm

Spektrafilm208_0022.ARW.xmp (17.1 KB)

5 Likes

this one definitely has got a vintage catalogue kind of vibe, cool!

1 Like

Keep both scale and long edge. Easy to see how some will think “I want the image 2x bigger” while others “I want the image a specific size in pixels” , having both sliders allow for that. Alternate option is to keep just the long edge slider, but display how much it is scaling with a text label.

1 Like

I looked for darktable builds for Mac here darktable 5.4.0 for older macOS versions (intel: 10.14 & silicon: 11.3 and later) and my MacBook Pro have installed the version 12.7.6, but they don’t include the Spectralfilm module. I think I’ll have to wait patiently to see if someone creates a build that includes it or if it’s ever implemented in the official version of darktable.

I guess GitHub - Arecsu/dt-spektrafilm-builds: Automated builds of darktable with the spektrafilm module from Arecsu/darktable · GitHub didn’t work with your old version of macOS?

Seems security updates stopped coming almost two years ago. If that’s the latest macOS version your laptop can run, then Linux awaits you. :blush:

1 Like

Sorry, don’t know what else to comment on :smiley:
New position for interpolation makes more sense. Still the tiny alignment issue between the “px” in “7970 px” and “11960 px” in my screenshot below.


Again, details! :smiley:

Not gonna kick and scream about this either. :smiley: They seems to sync now, even if the slider not adjusted takes some time to jump to the new place. Not a biggie. TBH, don’t know if sliders make much sense for either of these controls, but I guess that’s what we have to work with in dt modules? The export module has input fields though…
image

For sure! Perhaps @paperdigits could move a bunch of posts to a new to a new “resize module for darktable” topic. If so, here are the posts (from oldest to newest) that tracks the development of the resize module:

I wonder how complicated would it be to implement autopickers for some of the options in the module? For example I think a filtration autopicker could be a cool thing to have, so you can adjust the white balance and colour casts automatically, akin to how apparently the pro labs were doing this. An autopicker for film exposure that puts the selected area to be ~3 stops below middle grey would also help simulate the way you work with film. Just throwing some ideas into the air, manual controls are fine too

1 Like

Latest commit has no functional changes, I just tried porting unit tests. So no new builds necessary. I also rebased to latest master.

5 Likes

New builds! Incorporating many fixes UI/UX from upstream I’ve been working on

10 Likes

I think we need a way to by-pass the negative formation step and go straight to print from the scan.

1 Like