-
Notifications
You must be signed in to change notification settings - Fork 6
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
Explicit TGV #1986
Explicit TGV #1986
Conversation
I believe this code is ready to be tested by you @samtygier-stfc @JackEAllen |
Thanks, I'll take a look. |
@paskino Could you cherry-pick 746e96c faae8eb and bbd84dd from https://github.com/mantidproject/mantidimaging/commits/paskino_explicit_TGV. That should get the tests passing. Thanks |
Thanks that looks like it solves the non-negative part. The other issues was when stochastic is enabled:
|
@samtygier-stfc I need to think about how to make SPDHG work. Can it be disabled for now? |
Thanks. Ok. I'll merge as is, and will disable stochastic for TGV when I do the GUI.
|
closing as we have #1997 |
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.
Looks good, seems to match up with the paper and give good results with a higher number of iterations
Issue
closes #1985
Description
Implementation of a Total Generalised Variation regulariser for Least Squares problems. It works both with PDHG and the SPDHG algorithms.
Controls to from the interface that are required:
alpha
, regularisation parameter as in Eq. 3.5 https://royalsocietypublishing.org/doi/10.1098/rsta.2020.0193gamma
, ratiobeta/alpha
, wrt to Eq. 3.5 https://royalsocietypublishing.org/doi/10.1098/rsta.2020.0193regulariser
, whetherTV
orTGV
Add a description of the changes made.
Testing
Describe the tests that were used to verify your changes.
Acceptance Criteria
How should the reviewer test your changes?
Documentation
How have you changed the documentation to reflect your changes? All changes should be noted in the appropriate file in docs/release_notes