Closed carterbox closed 4 years ago
Hello @carterbox! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found:
There are currently no PEP 8 issues detected in this Pull Request. Cheers! :beers:
@nikitinvv I didn't do a comprehensive study of different plan shapes and sizes, but when I initially implemented the plan cache for the Propagation operator, using the cache was faster than recomputing the plan every time. CuPy will make a plan by default, but it doesn't yet have a built-in plan cache. However, I did not compare the cached-plan implementation with no plan. You can tell CuPy not to use a plan; I believe this means it does a series of 1D transforms. Do you think no plan is worth benchmarking?
Purpose
Adds Fourier-based shift operator and Fourier-based alignment solver to use for alignment problems.
Approach
Ported the shift operator and translation registration functions from nikitinvv/deformcg. These functions use multiplication and cross-correlation in the Fourier space to shift or align stacks of 2D images.
I also moved the FFT plan caching functionality into its own class because I wanted to use the same functionality for both the Propagation and Shift operators.
Pre-Merge Checklists
Submitter
yapf
to format python code.Reviewer