Spectral film simulations in ART

Hi Alberto,

Thank you for creating this integration with agx-emulsion. I feel like a whole new box of goodies was addded in there.

The integration works wonders. I do have a question though: is it safe to modify the JSON script and add/remove parameters surfaced on the UI? Is there a limit to how many controls can be show on the screen? Since agx does have quite a few under the hood. I wonder if I could default some parameters internally in the JSON, without surfacing them on the UI as an alternative.

It was a bit annoying to get the MS C++ devevelopment tools, I discovered that I needed to select the Desktop development with C++ in the workload screen, but that’s not an ART issue, just me ranting.

Thanks again for this integration and making it a state-of-the-ART tool.

Best Regards,
John

Hi,

Yes, you can customise it to your liking. That’s actually the point of plugins, so you’re welcome to experiment!

1 Like

Hey guys.
I saw that this error seems to be recurrent on MacOS. Should I install an older version of Python? I appear to have 3.13.0 installed on OS 15.5 Sequoia.
The AgX LUT interface loads, no crashes, just the error and no image update when moving the sliders.
LUT error

I’m using 3.11.something because I couldn’t make agx-emulsion work with later versions (but I didn’t try that hard), fwiw

1 Like

Thank you for the prompt reply Alberto. Turns out, I lost track of the pathing details in MacOS, where /home/ becomes /Users/

 "command" : "/Users/<username>/envs/agx-emulsion/bin/python agx_emulsion_mklut.py --server",

Works like a charm now :sunglasses:

It there a recommended workflow for this tool? I mean some of the sliders inside agxemulsion have a similar effect as some sliders outside of this module? When to use which?

Hi,
There are exposure and black point sliders for convenience. They do the same as the sliders in the exposure module, but they are applied immediately before the film simulation pipeline, so they will not interfere with other tools that come earlier. For example, changing exposure compensation in the exposure tool will possibly alter the behaviour of the tone equaliser and the parametric masks in the local editing modules. If all you want is to make the image brighter to compensate the effect of the film simulation, I would use the slider at the beginning of that module.

HTH

2 Likes

Thanks, thats what I wanted to know.

Hi,
there’s another project providing spectral film simulations that has been recently mentioned here, called Spectral Film LUT.
I’ve played with it a little bit yesterday, and it can be easily integrated in ART with the ā€œexternal 3dLUTā€ mechanism (described here for the original agx-emulsion).

If anybody is interested, here are quick instructions:

  1. install Spectral Film LUT. I’m going to use a Python virtualenv below:
$ python -m venv spectral_film_lut-venv
$ . spectral_film_lut-venv/bin/activate
$ pip install git+https://github.com/JanLohse/spectral_film_lut
$ pip install matplotlib networkx opencv-python
  1. pull the latest sources from the ART github repo. Open the file ART/tools/extlut/ART_spectral_film.json and modify the following line to use the Python interpreter from the virtualenv above:
    "command" : "python3 spectral_film_mklut.py --server",

e.g.:

    "command" : "/home/agriggio/spectral_film_lut-venv/bin/python3 spectral_film_mklut.py --server",

Now you can load the ART_spectral_film.json file as LUT in the color/tone correction tool:

And if you want, you can also put it in your configured CLUT directory to have it appear in the ā€˜Film Simulations’ tool.

HTH

5 Likes

Hello Alberto, I followed your steps. Those in 1. worked fine.

Then I pulled the latest version of ART from GitHub, but in ART/tools/extlut I see only 2 files: agx_emulsion_mklut.py and ART_agx_film.json, but no ART_spectral_film.json.

The source code on GitHub is up-to-date?

Thanks,
Paul.

1 Like

It’s probably in the separate repo for these extensions? On my phone so haven’t checked.

ahem… I forgot to push :flushed:
Should be there now…

Works fine now, thanks!

Just a note, the file spectral_film_mklut.py needs to be copied to the HaldCLUT folder as well in order to avoid a misconfig error when starting the ART_spectral_film.json LUT.

Now playing with the thing…

There’s a lot to choose from, 40 or so film stocks and 30 or so print stocks, wow!

I think I’m going to like this one, but it certainly will take time to explore all those parameters, especially all the combinations one can make. Good addition to ART, Alberto, thanks!

Here’s a screenshot with Fuji Superia Reala film and Fuji Crystal Archive paper.

Edit. Only when clicked the real colors appear.

Great addition, followed the instructions, worked like a charm.

Though when I tried some films (like FujiVelvia50) I got inverted image. Is it a bug or my error?

Some films are positive slides I think. For those you need to select ā€˜None’ as paper

1 Like

I’m having some trouble, first for me it’s

spectral_film_lut-venv/bin/spectral_film_lut

No .py and no mk

--server seems to do nothing, the whole interface is started and no image is populated in the view.

must be doing a lot wrong!

1 Like

Thanks, Alberto, makes sense. Tried None with FujiVelvia50 - works as expected.

So many different tools in ART to play with. It is a good thing I’m retired now :slight_smile:

hah as usual just typing it up solved the issue. I had accidentally moved the mklut.py out of the bin folder and linked the json to the wrong file!

Friday I guess.

3 Likes

These look nice! Pretty different results compared to the AGX one. Can’t tell which I prefer. These feel quite a bit less saturated across the board.

It’s great to have so many options :slight_smile: