-
Notifications
You must be signed in to change notification settings - Fork 45
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
Adds WaveletOperator, WaveletNorm #1615
Conversation
@paskino This PR has reviews requested but it is in draft mode, mentions WIP, and all todo and checklist boxes not checked. Please can you let me know if/when it is ready for me to review. |
#1627) * Fixes for 1D and odd sized geometry * Better way to slice to odd sized arrays
From #1627, some suggestions for unit tests of
|
* Fixed missing wavelet adjoint in the proximal
…nge_geometry` size (#1638) * Fixes for 1D and odd sized geometry * Forgot .length property from VectorGeometry * Better way to slice to odd sized arrays * Fixed missing wavelet adjoint in the proximal * Correlation, padding mode and small fixes - Added string-based `correlation` keywords for defining decomposition `axes`. Specifying `axes` still takes priority though. This is similar behaviour as `GradientOperator` - Added string-based convolution boundary condition `bnd_cond` to set the wavelet extension mode. This is similar behaviour as `GradientOperator` - Removed special case for `VectorGeometry`, the user should give the geometry as with 2D and 3D. There was no reason to have this behaviour. * Checks for range geometry The size of `range_geometry` is now checked upon initialization to make sure its size matches the wavelet coefficient array size.
Unit tests to develop:
What to do with:
|
…WaveletNorm (#1665) Wavelet-related tests and corresponding fixes to WaveletOperator and WaveletNorm
Work from @tommheik Describe your changes
Describe any testing you have performed
TODO
|
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 like my comments have been addressed and I only now mention two places where I think possibly "positive" should be replaced by "non-negative" if weights can be zero. I hope @tommheik can/has do/ne a final check the maths. Thanks all!
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 tried going through everything with a very nitpicking attitude and found some places for minor improvements or changes. Mainly in the documentation.
Luckily the code seems to be mostly fine.
The tests are maybe bit all over the place. Especially test_functions.py
is really difficult to read and maybe in the future it should be split into smaller parts or somehow reorganized...
…g/CIL into wavelet_regularisation
…g/CIL into wavelet_regularisation
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.
Thank you @MargaretDuff for your great efforts! Everything seems to be in order.
Apparently I lack the permissions to directly approve this but I assume you are able to merge anyways.
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.
Approving on behalf of Tommi!
Signed-off-by: Margaret Duff <43645617+MargaretDuff@users.noreply.github.com>
Signed-off-by: Margaret Duff <43645617+MargaretDuff@users.noreply.github.com>
Describe your changes
WIP for wavelet operator and regularisation.
Joint work with @tommiheik
TODO:
OperatorCompositionFunction
instead ofWaveletNorm
by addingproximal
OperatorCompositionFunction
can be used straight. Requires some way of assessing if anOperator
is orthogonalDescribe any testing you have performed
Please add any demo scripts to CIL-Demos/misc/
Demos added https://github.com/TomographicImaging/CIL-Demos/blob/main/misc/xct_spheres.py
Unit tests to develop:
What to do with:
Link relevant issues
Closes #1098
Checklist when you are ready to request a review
Contribution Notes
Please read and adhere to the developer guide and local patterns and conventions.