-
Notifications
You must be signed in to change notification settings - Fork 29
Poisson noise generation script for PETRIC2 #1321
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
Conversation
|
@KrisThielemans I am afraid I find your instructions re Poisson noise generation script a bit cryptic:
I still hope that what I have done so far based on |
|
ah, this is far more than I thought. https://github.com/SyneRBI/SIRF-Exercises/blob/84eee654ad2ee2dee0387b783e5477174e1c1dc7/notebooks/PET/ML_reconstruction.ipynb has an example where However, exposing the STIR Poisson generator is of course a good strategy. It all looks fine to me (aside from missing documentation).
we'll have to find the
yes. same scale. The additive term is part of the acq_model is NOT noisy. So, no noise generation for it. The idea is to provide a function in PETRIC repo that does all this (with the scale factor as input). I wouldn't put it in SIRF. |
KrisThielemans
left a comment
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.
some comments.
Shouldn't we follow our standard scheme with process() and get_output, or whatever we do in other places?
src/xSTIR/pSTIR/STIR.py
Outdated
|
|
||
| A scaling_factor is used to multiply the input data before generating | ||
| the Poisson random number. This means that a scaling_factor larger than 1 | ||
| will result in less noisy data. |
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.
let's be explicit (STIR isn't) and say ""will result in data with lower relative noise"
KrisThielemans
left a comment
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.
I would rather have had process() and get_output() in the C++ version as well for 2 reasons:
- It's better for the developer if C++ and Python SIRF are similar
- I still hope to be able to get rid of the C layer by using SWIG in the future
but this has taken too much of our time already, so fine to merge.
Changes in this pull request
Poisson noise generation script for PETRIC2 to be added.
Testing performed
A simple example of Poisson noise generation added (temporarily?) to
examples/Python/PET/acquisition_data.pyRelated issues
Checklist before requesting a review
Contribution Notes
Please read and adhere to the contribution guidelines.
Please tick the following: