-
Notifications
You must be signed in to change notification settings - Fork 16
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
API: Autofit a Siemens star to image for MTF calculation #80
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
carterbox
changed the title
Siemens
API: Autofit a Siemens star to image for MTF calculation
Jan 11, 2022
The n_sectors param was a little wierd because odd numbers of blades would not be evenly spaced. This is because dark spaces between blades were counted as blades. This fixes that and adds a two functions to compute the spatial frequency at a given radius or find a radius that computes a frequency.
Updating the mtf_lwkj method such that it is computed without requiring a Phantom object as a template. This allows this function to be used on real data with less work. There are new keywords for this function because information needs to be supplied that was taken from the Phantom. The frequency space is now sampled linearly. The demo notebook has been updated with the new API.
Because: - The number of samples could be set too low Sampling the line at a radius with less points than PI * diameter of the circle is insufficient to capture high frequency information that we are tying to characterize. The number of angles is now automatically at least PI * diameter. Technically, the smaller radii are over sampled, but that should be fine.
Because: - brief code is better - more documentation is better The size of the code for this MTF calcuation based on fitting a periodic function was simplified and compresed. Documentation was added. It should be easier to understand.
Because: - The Siemens Star that we are fitting is a square function - This prevents MTF values larger than 1 Swapped out the sin + cos function for computing the MTF by fitting a function to the image of the Siemens star. Replaced it with a square function from scipy.signal because this is the actual expected signal from the image. The sine functions would cause MTF values higher than unity because they have to be curved.
carterbox
commented
Jul 13, 2022
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Instead of requiring the user to provide an phantom for
compute_mtf_lwkj
, autofit a phantom from given parameters.