
Algorithm/Numerical Approach for Computing CI (Contrast Index)
Recently I've been plotting my film test curves using R (sorry Bill), which I also use for smoothing them. I can calculate a myriad of gradients by getting a linear regression of any section of the fitted smooth curves, but I would like to code a procedure for calculating CI. I have used the handheld technique, using the CI "ruler" with points marked off at 0.2 and 2.2 log E, and I think I understand the concept of the two concentric arcs described here. I have also seen discussions about automating curverelated plotting in several threads:
While there is a lot of discussion about curve fitting, that is not one of my issues—I find that R fits a good enough curve for me. It usually does it using LOESS, and the fitted curve is a little odd just to the left of the point where the toe takes off, but this is not my concern, as the search for CI takes place further to the right of that point anyway, in the section where the curve seems to look good. Besides, I am sure it wouldn't be too hard to fix the wonky section if needed, after all the smooth fit uses splines.
What I would like to ask for, please, is a pointer towards a suitable algorithm to use the just found curve to calculate the CI. I assume no weird curve shapes, and generally good inputs. If nothing can be found, then I will be resigned to writing a short loop, that "walks" the curve looking for the intersection of the 3 points on a straight line, first at x=FB+F, the other distant 0.2 and lying on the curve and the third, distant from the first 2.2, and also on the curve. But I am sure someone must have already coded that in a more elegant way than just doing a brute search along the curve.
FYI, example of plots, I'd be happy to share the few lines of R code if anyone cares:
Delta100_XTOL11_20C_10m_Tray DATA.pngDelta100_XTOL11_20C_10m_Tray SMOOTH.png
Many thanks.