Fitting to Random Subset of Pixels
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