colour-science / colour

Colour Science for Python
https://www.colour-science.org
BSD 3-Clause "New" or "Revised" License
2.12k stars 262 forks source link

[FEATURE]: Implement support for the S-Cinetone transfer function. #978

Open matt-roberts opened 2 years ago

matt-roberts commented 2 years ago

Description

I've recently reversed engineered formula for the S-Cinetone transfer function. It seems like the sort of thing that you'd want to add to your library.

Reverse Engineering S-Cinetone

If you scroll towards the bottom of that page the "S-Cinetone Transfer Function" section has the formula and coefficents that you'd need. I assume that, if added, the transfer function would live here:

https://github.com/colour-science/colour/tree/develop/colour/models/rgb/transfer_functions

KevinJW commented 2 years ago

did you digitise the curves using a tool or more manually?

I've found https://automeris.io/WebPlotDigitizer/ is reasonable for getting data for subsequent fitting

Kevin

KelSolaar commented 2 years ago

This reminds me Sony Hyper-Gamma curves, I don't think there has been any "numbers" released for them:

image

http://www.xdcam-user.com/tag/hypergamma/

I don't think we have ever used anything we fitted like that. The closest to be are the BMD Gen 4 curves from #591 that we haven't imlemented yet. Keen to hear people opinion on this one!

matt-roberts commented 2 years ago

did you digitise the curves using a tool or more manually?

I took three screenshots from (a very zoomed in view of) the whitepaper and rolled my own code to extract the data. If you're curious here is the code, along with the screenshots: data extraction code.zip

The my.graph function can be used to plot anything you want using a screenshot as the background, I used it to plot the final two graphs on my web page write up (And many more times to check I hadn't done anything boneheaded part way through). For example, my.graph(graph3, z$l, z$v) will plot a graph of the the extracted l and v columns (included in data.txt below) on the third graph from the whitepaper. (and this is a good way to check that the extracted data was reasonable).

If anyone doesn't want to run my code, but does want the data: data.txt

KelSolaar commented 2 years ago

This is a normal whitepaper: https://leica-camera.com/en-US/search?query=L-log

Oh it is finally out!

KelSolaar commented 2 years ago

October last year is not what I would call old but anyway it is public which is good, no NDA required :)