Following the lively discussion that is ongoing regarding the advantages of scene-referred editing and OCIO-based processing pipelines, I would like to start a thread specific to my PhotoFlow editor, as I have the impression that it is already quite well equipped for this kind of approaches.
PhotoFlow differs from most of the other FOSS RAW editors in the fact that its pipeline is not based on the Lab colorspace. Instead, the choice of the color model and specific color space used for the editing is left to the user, and can be changed on-the-fly by inserting colorspace conversion layers anywhere in the processing pipeline. Currently PhotoFlow supports RGB, Lab and CMYK models.
Moreover, many of the available tools are already adapted to work best on linear RGB pixel values, without any clamping or assumptions regarding the range of possible values. For example, all the built-in RGB colorspaces are based on V4 ICC profiles with parametric TRCs (linear or not), and the conversions are performed in 32-bit floating point precision.
The two main items I would like to clarify and improve are the following:
- which tools are missing and/or not properly implemented with respect to scene-referred editing?
- what needs to be added in order to provide a correct scene -> display transform? What would be needed to support custom monitor profiles? What about preparing images for printing instead of on-screen display?
I am ready to invest time to introduce OCIO in the pipeline, but I would like to clarify exactly what and where…
Is OCIO needed in the scene-referred editing part, or is the current approach based on parametric and linear RGB ICC profiles adequate enough?
How to tweak/extend OCIO transforms when producing images for printing, possibly allowing the user to optimize the output for a specific printer/paper combination?
Probably the best way to start will be to take the examples that @gez will post in the other thread that focuses on Blender, and see how they can be adapted to PhotoFlow…
What do you think?