I use Darktable mainly for RAW but I tried to fix his problem, I tried playing with color rgb balance and other modules and the best I obtained for now is this (xmp below) :
I’m still not entirely satisfied with the output, can you play with this jpeg and show me how you would try to fix it? Or did I lose too much information with the expired film and this is nonrecoverable beyond what I did? (Or should I use GIMP instead?)
Also I think I could use color lookup table and/or masks but I’m not very confident with these at the moment.
I got expired film that was really red / magenta in the shadows.
I managed to get really good color out of it, but required some experimenting.
I used a denoiser (a crude one , over smearing was a good thing here actually ) to really get to 0 noise. That means the blacks where now the red/magenta for real that they seemed before denoising by zooming out.
Now, i searched for the darkest part in the image , and take a r,g,b reading.
Then, do a ‘levels’ adjustment in photoshop , with those rgb as the black point , and leave the rest alone.
Thing is, i did that levels control on the original noisy raw scan. It removed the red / magenta out of the image and i was left with maybe a bit cold but quite neutral colour . Adding a bit of warming and it was actually quite nice.
But i always scan as tiff (linear / ungamma corrected even) where i do this one. Maybe i gamma corrected it first , don’t know actually.
If all you have is a (already processed by lab / scan software ?) Jpeg then it does reduce your chances im afraid.
I did a bunch of things (as you can see in the XMP), but here are the key points:
2 instances of color calibration, one for the dark and one for the bright, to adjust the green channel in each. I could tell this was needed, as there’s purple on both the top and bottom of the waveform:
Here’s the fix for dark:
And here’s light mostly fixed (after dark):
Then I did a tone equalizer for contrast. And another tone equalizer to selectively “dodge and burn”. And I reinforced it all with a first pass of color balance RGB.
After that, a contrast equalizer for denoising (as most other denoise methods wouldn’t work well on a non-raw). Then a little local contrast to highlight details.
Finally, I made a second instance of color balance RGB to hue shift the drift to purple on the brighter parts of the image and boost the color and other small “artistic” adjustments. But this step is a matter of taste.
The big part was realizing I could adjust the color balance using channels for both the bright and dark parts masked off (the first step in this description. Everything else was just some quick fun to make it look more like a modern photo.