- Joined
- Oct 11, 2006
- Messages
- 2,185
- Format
- Multi Format
I understand what you want to achieve. But, the closed-form analytic expressions that you use have limitations: you point out the shoulder, but then you have the compensating film-dev combination with some sort of break of the slope around zone V, etc, etc... You soon find that you need a new equation for each different film.
What you need is called least-squares splines: piecewise cubic polynomials with continuous second derivatives, that are not constrained to pass exactly through the data, but to approximate them as best as possible (least squares). If interested, PM me, and I'll send you some matlab code that can easily be adapted to the free look-alikes Scilab or Octave.
Yes, in that case there is a simple physical process involved, and very good reason to fit an exponential; to the extent that if the exponential does not fit well, one should investigate and find why, rather than adding extra complexities in the fitting function.(...)the underlying physical function. To take a simple example, if one were to fit the fluorescence intensity as a function of time after an impulse excitation it would be better to use an exponential function(...)
Not so. Least-squares splines use a handful of real numbers, called "nodes"; they are the abscissas of points of transition between two polynomials; because the second-order derivative is continuous, they do not appear visually as "breaks". I typically place the first node about where I see the transition between toe and mid section, and another at the transition between mid and shoulder. Total: two real parameters. Well, actually, there are all the coefficients of the polynomials, but these are transparently taken care of for you by the fitting algorithm.Also, more parameters would be typically required to fit the data using splines than using the method I am discussing.
The inverse of a function is often not a function, thus different values of Et may produce Tr=0.1.
But the curves we're talking about are fairly simple and monotonically increasing, meaning that more exposure/development doesn't produce less density - ever [?]. But also meaning that the function probably has an inverse.
With these kinds of functions one can use numeric techniques like newton's method to find the x where ( F(x) - 0.1 ) = 0 [i.e. the place where the function Tr=0.1]. Or you can just use a ruler on the plot and get pretty darn close, maybe close enough...
gnuplot, octave, and R are all free.
Here is an example of a fit I did to some experimental data. This was using the four-parameter equation, i.e. the one that does not include a shoulder.
View attachment 108156
I think the fit is pretty good.
I suspect the shoulder might be starting to develop, so the six parameter fit might be slightly better, but I don't think it is going to have much effect on the fit in the toe region.
This could be a three emulsion coating with bumps in it as well as a straight line with some defective data points. How can we tell?
PE
OTOH, related to your post 23, that curve is smooth but the data shows bumps that can be real. Therefore in a real situation I would repeat the exposure and process 2 - 5 more times and look at the curve and the actual data. The film might be flawed or might have developed one during shelf keeping or in your hands.
PE
OK, here's the data plotted with 3 values of smoothing increasing left->right.
I did not add a vector of weights, so this is the default behaviour which I
believe is to force the second derivative be zero at the endpoints, i.e. the 'natural' spline
View attachment 108325
btw - I do go out and take photos, honest!
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?