Editing in Spektrafilm - Saturation and Contrast

Hello everyone!

I’ve been experimenting with spektrafilm for about a month now and although it has been great, there are some aspects that I’m still unable to control as I’d like to, probably because I’ve never worked with this type of GUI.

My difficulties have mostly to do with saturation and contrast. Couplers module seems to provide some tools to work on saturation, but till this day I can’t really identify what is it that “inhibition samelayer/interlayer” exactly do to the image. Both of these, together with the “amount”, seem to increase or decrease saturation, but surely they must do something different form each other. Because the image is blurry untill scanning, and scanning takes quite a bit in my pc, I can’t visualise it properly.

As for the contrast, that’s something I didn’t manage yet to find the module for it. I’d also like to ask what do you use the “scan white correction/scan black correction” for. My images seem unchanged when i move the values of these fields.

One last thing in case the devs are reading: Is it on your plans for the future to be able to export an image as a liner DNG so it could be finished in another software while still behaving like a RAW image preserving the spektrafilm edit?

Overall that’s it. I’m sorry for the noob questions. I think it’s a great piece of software, I’m just missing some documentation to be able to take full advantage from it.

I am not the Dev, but I don’t think its possible to get the film look and have the data linear; film by its nature has a tone curve already. Maybe I’ve over looked something though.

Good questions!

1 Like

I use film and print gamma for that. Honestly a good explanation of couplers and these will be very useful. I would also be interested in finding ways to play with wb because ik people who shoot tungsten balances stocks like cinestill 800t use warming filters and so on for when they shoot in daylight and from what I understand using the RAW development tab for wb adjustments might be better to replicate this but I am still very curious.

It is pretty awesome to see how much creative freedom one has considering film days had it as well but usually segregated between the photographer and the lab. We now control each step of the way till the final output and things work beautifully sometimes like preflash (awesome stuff) but every layer also adds more complexity depending on where it is used.

I am no dev either and as mica said the software in itself is a complete pipeline. Most people either do the stuff before importing as a linear tiff or they don’t at all from what I have seen so far (I may have misunderstood ) so unless you are doing video work which would need a wider space and more flexibility, baking in the curve is probably one of the most important parts of the project to retain the authenticity. Everything breaks if you remove the tonemapping you know.

What I do understand is a way to export at a stage which hasn’t completely developed the image and do stuff with it and bring it back in for finishing developments. Andrea released lut bundles yesterday and those worked exactly like this . I made a simple DCTL (didn’t know a simpler way although probably Thatcher Freeman’s DCTLs probably have a solution to go back and forth from those custom log values and linear) and applied it after L1 to then use Halation DCTL which requires linear input and applying reverse we go back to the log input L2 needs.

You can also consider trying out VKDT which works in rec2020/linear if I am not mistaken, not sure if it will allow DNG exports but tiff should be doable and once you demosaic idk why you would want to go back to RAW…denoising should be done before spektrafilm anyways…

2 Likes

The best way to change contrast is to change the print gamma factor, the film gamma factor can also be use but it changes the colors, sometimes is nice to play with both

I don’t know exactly what the different couplers do, but I often keep testing with them to see what I like more. I love to play with the gamma interlayer in the couplers to change the hues and sat tho, it’s similar to a 3x3 matrix and really fun to play with, once you understand what it is doing.

3 Likes

Yeah from what I understand you must use both and in opposite directions. I looked it up a while back and my rule of thumb is “keep their multiple 1”
Now iirc it has something to do with how final image looks and from tests you can see if you increase print gamma but leave film gamma at default then for small values it will look “fine” but if you want to get a “normal looking image” you will have to reduce film gamma and that will fix it.
You cannot really have contrast beyond a certain range without introducing black highlights or something similar but that can just be my inexperienced blunders.

What worked nicely is keeping film gamma low and having print gamma act as the knob for contrast. I think print papers work the same way. I don’t understand papers as I have no experience with printing but from chemistry that I do understand I think the film gamma is a result of temperature and the time involved during film development. If you keep it longer or with higher temps then film develops quicker and vice versa. The film gamma is more sensitive which could be related to how the development of the film works and the print is just simpler paper I guess?

This is how I think about it but we gotta wait for some dev to explain better :slight_smile:

5 Likes

easiest way to decrease saturation is to just start from a very flat/linear image = process the raws first with a linear profile (Linear Profile Repository), export as 32bit tif. the integrated raw conversion in spektrafilm is pretty heavy on contrast/saturation

1 Like

So far I didn’t have this problem with the black highlights, even using only the print factor, but I often don’t go past 1.3 or 1.5 (only if the image has really low contrast by default). Do you use the filters to correct the temperature shift when changing the film gamma? eg:



2 Likes

let me just rephrase it a bit - i dont mean very flat as in desaturated or reduced contrast - linear profile should keep all the color/dynamic range info, just on a different “scale”, i am not 100% sure if lowering contrast on a “default” profile (or on a camera profile) would induce some color/DR info loss…
anyway - the couplers sliders are much more useful when using a linear profile, if i used the default adobe profile, the red shirt would be cooked from the beginning

1 Like


Weird… I don’t have the option for print gamma display even though I’m using the most recent version. Am I alone in this?

yeah, ive got two sliders, one for film gamma, one for print gamma. maybe rebuild? or maybe theres a bug in the most recent version?

1 Like

I think there might be. The grain module was also giving me problems. I wasn’t able to scan after tweaking the values. Just restored to the previous one and it’s fixed.
It could also be something about my specific build, but I’m letting you know anyway @arctic

Yes, I feel the reds are very intense and I’ve had trouble fading them from a shirt too. I’d say even the one your processed with the linear profile is a bit over the top. The problem with the couplers for the red channel is that it will take away from skin tones as much as it does from the desired elements. There’s not a way to limit the changes to one area.

if you are in the dev branch do not expect things to stay still :slight_smile:
the gamma factor is now under PRINT > chemistry

toghether with a few more controls for tuning the look of the print and mimicking “bad development”

i made a small video of how the parameters affect the curves, it is an attempt. try it and tell me if you think is useful. also any suggestion is more than welcome.

the nice part is that the controls act directly on the sublayers of every channels and make use of that information simulating different “formulas” of print papers (adding also defects in the formula if you wanna go that route).

6 Likes

Yeah I willingly signed up for the chaos but everything has been super stable! Just reporting what I ran into in case it’s helpful.

Super useful, now I get it. Thanks Andrea!

2 Likes

yeah, the red was a bit cooked in the final image here, but i was actually using more couplers than whats default, so you could reduce that quite easily - on the other hand, it is quite close to what the “original” image looked like

Hi everyone,

I’m not sure this is the best place for this, but being new here I’m not going to start a new thread. I’ve read all the posts but not the Python code and I’m painfully aware that there’s a lot of information that I’m only tangentially aware of (for example, I only discovered the reflectance-upsampling-methods branch today! So that is the “base” people are talking about…)

I’ve been trying to document a Spektrafilm GUI processing workflow, initially for my personal use as a starting point; this is my first draft:

Goal

Use Spektrafilm as an effect “finisher” for a developed RAW image. The Spektrafilm-processed image could be used as the final image or as a film-simulation reference.

This info is current as of 9 Jul 2026 and is specific to Spektrafilm on the reflectance-upsampling-methods branch.

In the RAW Developer

Get white balance, levels, contrast, shadows & highlights and saturation “in the ballpark”.

Do your cropping, straightening, noise reduction here. Perform dodging and burning on specific parts of the image here.

If you need to do relatively specific colour grading on specific hues or colours, do it here.

Export the RAW image as a 16 or 32-bit linear REC.2020 TIFF (in Lightroom, the easiest way to do this is to export with “HDR Output” selected with 32 bit “HDR Rec 2020”).

Spektrafilm Colour Spaces

Load your TIFF image in Spektrafilm.

MAIN → INPUT

Set input colour space accordingly (ITU-R BT.2020 for REC.2020)

MAIN → OUTPUT

Set output colour space to taste (ProPhoto RGB is a good starting point)

Film & Print Profiles

MAIN → PROFILES

Select an appropriate film profile and print profile.

FILM → COUPLERS

If you want to REDUCE the intensity of the “effect”, set “amount” to a value < 1

Levels, brightness & darkness

MAIN → ENLARGER

Modify “print exposure”. Don’t be afraid to increase brightness to bring up some shadow detail (use a number < 1) at the cost of some highlights. You can compensate for this later.

PRINT → PREFLASH

Tame the hot highlights here. Start at 0.01, increase by 0.01 as appropriate. I try to always enable preflash, because it gives you additional colour grading capability (see later).

MAIN → CAMERA

If you need more serious highlight/brightness exposure compensation, try tweaking “exposure compensation ev”. I have only found this useful if radical highlight control is required, but this should really have been handled in the RAW developer prior to TIFF export.

PRINT → CHEMISTRY

Tweak the gamma/strength of highlights and shadows by changing “gamma factor fast” and “gamma factor slow” accordingly. I find changing the “gamma factor” to be too inexact.

PRINT → BASE

Adjust print (image) density by tweaking “scale” if necessary.

Colour balancing

MAIN → ENLARGER

Adjust “print y filter shift” and “print m filter shift” to get the colour balance in the rough ballpark.

PRINT → CHEMISTRY

You can then tweak red, green & blue channels by adjusting “gamma factor red”, “gamma factor green” and “gamma factor blue”.

PRINT → BASE

You can strengthen or weaken global cyan, magenta and yellow on the print by adjusting “cyan”, “magenta” and “yellow”

PRINT → PREFLASH

If preflash is enabled, you can tweak the colour of the preflash. Think of this as tweaking the colour balance of the highlights, by adjusting “y filter shift” and “m filter shift”

Diffusion

Note: The Spektrafilm GUI preview doesn’t seem to be able to show the effect of diffusion

PRINT → DIFFUSION

Enable this by ticking ‘active’, then select filter family and strength.

Grain

FILM → GRAIN

Adjust “rms granularity” to taste. For values that replicate decent medium format scans for 45-100 megapixel images, start at about 25-40.

Halation

More so than other programs and plugins, this appears to be quite film-stock and scene-specific and is potentially very subtle.

Start by adjusting the halation effect multiplier via FILM->HALATION “halation amount”.

You may have to use very large values to see a difference in some situations, depending on the scene and base image size. For my large 45-100 megapixel images, multipliers of 50 or 100 might be required to see significant changes at a pixel level.

Film Export

Scan the image by clicking the “Scan” button. After this is finally complete, save the processed image by clicking on “Save”. Save the file as a TIFF/TIF.

Questions

Given that I’m relatively new to Spektrafilm, have I made any obvious errors?

For example, is there actually a better way to tweak halation?

Are there other effective to adjust the image that I haven’t used? For example, I have almost completely ignored Couplers because, well, too much magic.

Uploaded JSON settings are a useful starting point but are often lacking context. Let’s try and build out some best-practices!

7 Likes

Great post. I have been watching and reading all the activity around this project but I have had no time to play with it or learn how to use it… I look forward the the replies…Thanks for that summary/proposed workflow walkthrough

ProPhoto is the output from Spektrafilm? If you’re going more post processing, that’s fine, but if its the final output, its less than ideal.

There’s always the export/display transform to make things copasetic with regard to the rendition. Indeed, ProPhoto just puts you back in working space so that this tool doesn’t have to be the last one in the processing chain.

Hello, good post!

One thing to note - as Spektrafilm expects scene-linear, you also should be using a Linear DCP within Lightroom/Camera RAW (As well as exporting 32 Bit Linear Rec.2020).

The Adobe Standard DCP applies a contrast curve which is fine for viewing and editing, but not what Spektrafilm expects as input.

As I am still using Photoshop (reluctantly) for retouching purposes on studio shots, the best way I have found to prepare for this is by using a Linear Profile within Camera RAW, opening as a smart object within Photoshop and having a viewing contrast curve as my top layer when retouching, which is then turned off before exporting and taking into Spektrafilm!

1 Like