Switch to English Language Passer en langue française Omschakelen naar Nederlandse Taal Wechseln Sie zu deutschen Sprache Passa alla lingua italiana
Members: 70,557   Posts: 1,545,157   Online: 984
      
Page 2 of 4 FirstFirst 1234 LastLast
Results 11 to 20 of 32
  1. #11
    Rafal Lukawiecki's Avatar
    Join Date
    Feb 2006
    Location
    Co. Wicklow, Ireland
    Shooter
    Multi Format
    Posts
    737
    David, your equations look good. My data is zeroed at fb-f, having subtracted the y-axis min of the points, so D(x1) = 0, makes it even simpler. As it seems that the fitted smooth spline model is of high quality (p<0.01), for my curent data, and I expect it should be so for most successful film tests, the R predict(x) function will safely give me the interpolated value of D(x), using the spline, for any point I need along the range of rel logE axis. So it looks like I'm now in position to use the curve to solve your equations for the CI condition, looking for the first occurrence of it, I suppose, from left, in case the condition could be fulfilled more than once on a strange curve. Thanks for the suggestion of optimize.fsolve in scipy, that's a great tip. I will try uniroot or rootSolve/multiroot in R. If I can't make it, I'll ask for your Python.
    Last edited by Rafal Lukawiecki; 08-31-2013 at 05:12 AM. Click to view previous post history.
    Rafal Lukawiecki
    See rafal.net | Read rafal.net/articles

  2. #12
    Bill Burk's Avatar
    Join Date
    Feb 2010
    Shooter
    4x5 Format
    Posts
    3,304
    Images
    46
    Quote Originally Posted by dpgoldenberg View Post
    Bill,
    My words may not have been as clear as I intended, but I think that the equations are correct. The equations define the distances between the points in two dimensions, not just the distance along the horizontal axis. (That's where Pythagoras comes in.) The first two equations define the distances between the first and second points (0.2) and the second and third points (2). The third equation ensures that all three lie on the same line. Also, D(x1) should be specified to be b+f.

    David
    Oh, I see. Sounds good

  3. #13
    ic-racer's Avatar
    Join Date
    Feb 2007
    Location
    Midwest USA
    Shooter
    Multi Format
    Posts
    6,220
    Though, a little off topic, here is the "W-speed" meter that for which I made the Excel spreadsheet to imitate its function. As you can see it is more complicated than the Contrast Index Meter, however, my solution to the problem is simpler because I use linear interpolation between the datapoints, rather than a complex function for the film curve.
    Click image for larger version. 

Name:	Wspeedmeter1.jpg 
Views:	12 
Size:	37.5 KB 
ID:	73762
    Click image for larger version. 

Name:	Wspeedmeter2.jpg 
Views:	12 
Size:	37.3 KB 
ID:	73761
    My Excel calculated approximation for "E" used to calculate the W-speed = the red dot. I think it is a pretty good approximation:
    Click image for larger version. 

Name:	W-testtoe.jpg 
Views:	9 
Size:	8.7 KB 
ID:	73763
    Last edited by ic-racer; 08-31-2013 at 03:11 PM. Click to view previous post history.

  4. #14
    Rudeofus's Avatar
    Join Date
    Aug 2009
    Shooter
    Medium Format
    Posts
    1,653
    Images
    10
    Rafal, the CI sort of assumes that you have a straight line as characteristic curve, while your LOESS approach most likely won't give you a straight line but some spline curve with variable slope over its range. I would therefore suggest a slightly different approach: create a model for what you expect as characteristic curve, e.g. a flat line in the b+f region, a straight line in the linear region and some form of smooth transition between these two straight lines. Once you have a model that covers all characteristic curves you are likely going to encounter, you can do an LMS fit to get the parameters for each set of measurement data. It should then be simple to associate a CI with the parameters you obtain for your model.
    Trying to be the best of whatever I am, even if what I am is no good.

  5. #15
    ic-racer's Avatar
    Join Date
    Feb 2007
    Location
    Midwest USA
    Shooter
    Multi Format
    Posts
    6,220
    Quote Originally Posted by Rudeofus View Post
    Rafal, the CI sort of assumes that you have a straight line as characteristic curve,
    Seems like CI was created for films that don't have a straight line.
    Click image for larger version. 

Name:	ContrastIndexPaper.jpg 
Views:	10 
Size:	207.9 KB 
ID:	73767

  6. #16
    Rafal Lukawiecki's Avatar
    Join Date
    Feb 2006
    Location
    Co. Wicklow, Ireland
    Shooter
    Multi Format
    Posts
    737

    R Code for Computing CI

    Mission accomplished, thanks to everyone, especially David for pointing out the system of non-linear equations based on the Pythagorean triangle relationship. If you run this, this is what you get:

    Click image for larger version. 

Name:	Delta 100 4x5 DDX 1+4.png 
Views:	19 
Size:	80.8 KB 
ID:	73774
    And the data you feed into it comes from a text file that looks like this:

    Click image for larger version. 

Name:	What Data Looks LIke.png 
Views:	16 
Size:	114.3 KB 
ID:	73778

    If you want to play with it, you need my code (attached) and a copy of R, which is a free programming language and an environment for statistics/numerical analysis, and which does nice plots. It runs on Windows, Macs, and Linux, get it from here if you feel geeky, or read about on Wikipedia. My code is in the attachment, all you need to do is to load it in R by using 'source("CI_plotter.R.txt")' having placed it in the current directory. If you open that file, you can see how to use it, I gave some examples. Let me know if anyone would like any pointers. I don't mind plotting your data, if you wish, to find the CIs—I suppose this won't be a very popular request, anyway.

    The R code, which I wrote, works for the various curve data I fed into it. You need to give it a series of numbers representing your step tablet exposures (so from 0 on the left increasing towards the right) in a column called "He" and any number of columns containing your densitometer readings. R will plot the points and it will try fitting curves—using Bezier splines with 6 degrees of freedom by default. You can decrease that number for more smoothing (left-of-toe will look odd but calculations will work) or increase it, for less smoothing. You can also play with other smoothers if you uncomment the right lines in the code, including LOESS. In either case, the CI computations should work. I uses nleqslv, which is pretty much as close to SciPy fsolve, which David mentioned, as I could find today. The alternative which I have tested, multiroot (from rootSolve) was less forgiving of bad choices of the "starting point". This is a weakness of my code (I am sure one of many!). Sometimes, for some curves, it will not compute CI, it will display "NA" on the plot, and it will make a suggestion that you change the "starting.point". This is a parameter at the top of the program, which denotes the best guess of the x[1], x[2], and x[3] as per David's explanations, that is the rel log E values that are supposed to correspond to the projections onto the X axis of the 3 key CI determination points. In other words, those are: the centre of the two arcs, and the intersections of the 0.2 and the 2.2 arcs with x axis. I defaulted it to (0.9, 1, 2) by trial and error, but if it does not work for you, nudge them a bit either way, especially the first one. Anyone who would like to contribute a good way to guess those automatically, please let me know—I have tried interpolating them from a straight-line regression of the data points etc but that was worse than using my best manual guesses. Some other time I will add a function to plot the CI ~ dev time curve...

    Ok, back to the darkroom tomorrow—I miss a low-contrast test in this data, will try a 4.5 min time to complete the exercise.
    Attached Thumbnails Attached Thumbnails data.png  
    Attached Files
    Rafal Lukawiecki
    See rafal.net | Read rafal.net/articles

  7. #17
    Rafal Lukawiecki's Avatar
    Join Date
    Feb 2006
    Location
    Co. Wicklow, Ireland
    Shooter
    Multi Format
    Posts
    737

    Delta 100 4x5 DDX 1+4 Tank Extended Results

    ...and in case anyone were interested in the actual subject of my testing, Delta 100 4x5 developed in DDX 1+4 20C in a tank (CombiPlan) with fairly vigorous agitation (30 sec initially, followed by 3 inversions lasting about 5 seconds in total every 30 sec), I attach "extended" results. I obtained those by exposing two strips with the Eseco SL-2, both using green light. The second strip got three times the exposures of the first, but it does not actually amount to triple exposure, it seems, and I am in reciprocity territory, which this film seems to be good at. Undoubtedly, this is a questionable way of doing this, as I am numerically combining two separate tests into a single "extended" one, as if it came from one, longer step tablet—unlike in my previous post, where tests were "normal". Nonetheless, data seems OKish to my untrained eyes, and I welcome your feedback about this 9-stop range behaviour.
    Click image for larger version. 

Name:	Delta 100 4x5 DDX 1+4 Extended 9 Stops.png 
Views:	16 
Size:	106.4 KB 
ID:	73781
    PS. To compute the first of the curves, I needed to adjust the "starting.points" to (0.95, 1, 2). Perhaps this should be the default.
    Rafal Lukawiecki
    See rafal.net | Read rafal.net/articles

  8. #18
    Bill Burk's Avatar
    Join Date
    Feb 2010
    Shooter
    4x5 Format
    Posts
    3,304
    Images
    46
    Nice Rafal!

    Now all you need is a Time/CI curve

  9. #19
    Rudeofus's Avatar
    Join Date
    Aug 2009
    Shooter
    Medium Format
    Posts
    1,653
    Images
    10
    Quote Originally Posted by ic-racer View Post
    Seems like CI was created for films that don't have a straight line.
    The author who proposed CI did not have Rafal's jiggly spline curves in mind, though. Niederpruem et al. tried to account for toe shape and possible upswept/downswept curves, not for randomly swept spline segments that pointlessly try to fit noisy measurement data. It speaks volumes that Rafal's curve fit look, let's call it euphemistically "a bit odd" in the toe region. Oh well ...
    Trying to be the best of whatever I am, even if what I am is no good.

  10. #20
    Rafal Lukawiecki's Avatar
    Join Date
    Feb 2006
    Location
    Co. Wicklow, Ireland
    Shooter
    Multi Format
    Posts
    737
    Indeed, Rudi—the upsweep towards less-than-none exposure looked humorous. Bear in mind, however, if I you increase the number of degrees of freedom on the Bezier spline to 7 or more, the toe looks just fine, yet the calculation still gets the CI—what we miss then is the smoothing that neatly takes care of the statistical measurement error. Having said that, I have to play, yet, with other types of splines, including log-influenced ones, which might have that "perfect" look.

    But the next thing I plan to do is what Bill has suggested, that is the Time/CI curve. By the way, if anyone has a curve data series with their own, known CI, I'd be happy to check the algorithm against those numbers.
    Rafal Lukawiecki
    See rafal.net | Read rafal.net/articles

Page 2 of 4 FirstFirst 1234 LastLast


 

APUG PARTNERS EQUALLY FUNDING OUR COMMUNITY:



Contact Us  |  Support Us!  |  Advertise  |  Site Terms  |  Archive  —   Search  |  Mobile Device Access  |  RSS  |  Facebook  |  Linkedin