-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New TIKE functionality for missing measurement regions on detector and Poisson noise model for exitwave update #273
New TIKE functionality for missing measurement regions on detector and Poisson noise model for exitwave update #273
Conversation
…isson noise model for exitwave update
…isson noise model for exitwave update
…model exitwave updates
…oisson_unmeaspixels
…unction arguments, renamed some functions to be more obvious as to what they're doing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the docstrings! Please respond to the unaddressed comments above.
… diffraction regions on detector
… Poisson, fixed here
…ot rid of redundant meas/unmeas pixels, and removed randomization of dominant mode steplength computation (not needed)
…isson_unmeaspixels
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
see new commit, I think I'm caught up on the issues you raised?
…ly use measured pixels. 2) Fixed/simplified array broadcasting when computing the steplengths so we don't need to do goofy stuff like swap axes
…of "filtering" for exitwave updates; now working on unit tests using "filtering" as well as formatting docstrings
…s for "filtering" method of handling unmeasured pixels
4113609
to
4a7be6e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Now that there's no axis reordering, it's a lot more readable. Thanks!
Co-authored-by: Daniel Ching <[email protected]>
Purpose
This pull request adds the following features to TIKE:
Uses a binary mask to define unmeasured pixels from a ptycho imaging experiment and then only performs exitwave updates in Fourier space at the measured pixels and leaves unconstrained the unmeasured regions.
Introduces the option of using the Poisson noise model for the exitwave update, and performs step length computations using a) the method from ptychoshelves (which only computed steplengths for the dominant exitwave mode and uses that steplength for all the less dominant modes), or b) uses a similar method as ptychoshelves but computing steplengths for each mode individually.
I probably should have split this into two pull requests, but we’re at where we’re at.
Approach
For the unmeasured pixels part, I use a binary array that is loaded from an external source (if not found, we default to assuming no unmeasured pixels) which is then used to define regions where the exitwave gradients are defined and used in the exitwave updates, and regions where the gradient is undefined I leave unconstrained.
For the Poisson noise model exitwave updates, I implement the step length computation as we have discussed during our regular TIKE meetings...in a nutshell: I introduce two methods for computing steplengths for exitwave updates, 1) using the method found in ptychoshelves which only uses the dominant mode for steplength computation and a method I developed which does a vectorized computation of steplength for each exitwave mode separately.
Pre-Merge Checklists
Submitter
Reviewer