[SciPy-User] Scaling up root-finding

jkhilmer at chemistry.montana.edu jkhilmer at chemistry.montana.edu
Thu Sep 5 20:27:33 EDT 2013


>
> Each pixel has its own slightly-different response function that needs to
> be stored differently. We can do this readily by storing arrays of
> coefficients where each array is the same size as one camera frame.
> Precision in this sense (of having one polynomial per pixel) is absolutely
> required; if we tried to generalize polynomials to apply to blocks of
> pixels then we'd ruin our correction quality. Cameras can have "stuck
> pixels" (characteristically much higher/lower than their neighbors),
> 1-pixel-wide stripes of bad pixels, etc.
>


Chris,

Assuming that the last few bits of your camera are really usable (it's
almost guaranteed they are not), then at best you need precision that is
1/100k to substantially exceed the camera capabilities.

Looking at the scipy documentation, I see tolerances on the order of 1e-12,
1e-16: you need to be using 1e-5.

As you said, your pixels are going to cluster into categories: there will
be some continuum of behavior centering near "ideal", a few stuck pixels,
some stripes (which are just arrays of stuck or semi-stuck), etc.  Solve
your 512x512 equations and cluster the 262k response vectors (ignore the
parameters).  Any response vectors which differ by less than 1e-5 are
indistinguishable and redundant.  This clustering is not specifically by xy
of the pixel, although there will be trends.

I may have underestimated a bit to say that you could condense the response
functions to just 20, but I'm sure that you can condense it to something
far closer to 2k than the full 262k.  The target is 1e-5 precision, which
is why you can tolerate a lot of approximation: it is NOT necessary to have
a single polynomial per pixel, just a polynomial within 1e-5.

Jonathan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.scipy.org/pipermail/scipy-user/attachments/20130905/44ff20c1/attachment.html>


More information about the SciPy-User mailing list