[SciPy-User] Scaling up root-finding

Chris Weisiger cweisiger at msg.ucsf.edu
Thu Sep 5 16:49:22 EDT 2013


On Wed, Sep 4, 2013 at 9:01 PM, jkhilmer at chemistry.montana.edu <
jkhilmer at chemistry.montana.edu> wrote:

> Chris,
>
> Just as an academic exercise, don't forget:
>
> 1. This is a highly parallel problem.
>

This is true, though on the flipside if I go multithreaded on my laptop
then I can't do anything else while running processing. :) The final
version probably ought to spawn a new thread for each image it processes.


> 2. You need to dramatically modify the parameters of the root-finding
> function: by default they will iterate far too many times.  You probably
> only have ~10 bits of precision, correct?
>

The cameras are typically providing 14 or 16 bits of precision.


> 3. Don't store 512x512 polynomials: break it down to maybe 10-20.
> Remember that excessive precision isn't necessary.
>

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.



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


More information about the SciPy-User mailing list