Fitting to Random Subset of Pixels

Registered by Tom Dimiduk

Becca's preliminary implementation and experiments have shown that we can get substantial fit speedups by only calculating and comparing at a subset of the pixels in a hologram.

Now we need to figure out what is the best way to interface with it. Becca currently passes around selection arrays that tell the various functions that are a mask telling the functions what pixels to operate at.

I think we want to be able to tell a fit to only use some subset of the pixels and not have to explicitly construct a mask. For example, the Model could take pixel_fraction argument that tells it what fraction of the hologram pixels to evaluate at.

We need to think about (and probably experiment with) whether it is better to use the same mask for a whole fit, or if we want to rerandomize pixels every iteration, every calculation, or at some other frequency. The benefits of re-randomizing are that it will reduce the chance that the fitter picks up dependence on the specifics of the subset of pixels it is using. The disadvantage is that for something like nmpfit that keeps covariance matricies between iterations, it might make those invalid or less valid.

Vinny has proposed moving at least some of scatterpy to work with lists of coordinates to calculate at, I think we will probably go at least partway down that line, at that point we then need to figure out at what point the hologram + mask or pixel_fraction gets converted to a list of pixels.

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
Tom Dimiduk
Definition:
Approved
Series goal:
None
Implementation:
Implemented
Milestone target:
None
Started by
Tom Dimiduk
Completed by
Tom Dimiduk

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.