I’d like to be able to replicate the tone curve aspect of the sigmoid module in high resolution 1D LUTs for use in DCP profiles and other editing apps but I’m struggling to figure out the math. I don’t really have any coding experience so I haven’t been able to dig into the code to figure it out yet. I’ve learned enough image processing math to be able to use Lattice (LUT creation/modification app with, I believe, python math expressions) to scale exposure and generate simple log-logistic curves (in the form of 1/(1+($x/.18)**-1.5) for example) but I can’t figure out exactly how the contrast and skew work or how to get the resulting curve to be centered around .18 rather than .5 so that it’s correct for linear data.
If anyone could point me in the right direction I’d appreciate it!
I thought this referred to one of the color preservations modes but I would defer to @kofa as I know he is a far better source than me… I thought at one time I remember a discussion that the curves are treated for each channel and then the ratio is maintained… that would be similar to filmic and why the ratio option looks more like filmic…again just going on memory here I could likely find it if I went digging and then it would be accurate and not a memory…
And there are the OpenCL implementations: kernel_sigmoid_loglogistic_per_channel, kernel_sigmoid_loglogistic_per_channel_interpolated and kernel_sigmoid_loglogistic_rgb_ratio. Those live in sigmoid.cl.