2D and 3D Symmetric Registration using CUDA
This package contains tools for CUDA-accelerated non-rigid registration.
The registration code uses gradient descent to create a set of functions that transform one image to another.
The symmetric algorithm uses the determinant of the Jacobian matrix to impose mathematical symmetry on the process. Additionally, both images are transformed to some image in between the two, providing numerical symmetry as well. In unison these properties mean that the algorithm will produce the same registration even if the order of the images is switched.
For more information on symmetric non-rigid registration, see "Symmetric Non-rigid Registration: A Geometric Theory and Some Numerical Techniques" by Tagare et al., JMIV, 2009.
The vanilla algorithm transforms one image to another with no symmetry constraints.
All registration code interfaces with included CUDA kernels to accelerate the process. The CUDA code has been tested on a Tesla M2090 card with CUDA 4.X and compute capability 2.X. It should work on cards with compute capability 1.3 as well but has not been tested.
Also included is code to generate synthetic data that can be used to test the registration functions.
Cite As
Henry Davidge (2024). 2D and 3D Symmetric Registration using CUDA (https://www.mathworks.com/matlabcentral/fileexchange/37685-2d-and-3d-symmetric-registration-using-cuda), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
- Image Processing and Computer Vision > Image Processing Toolbox > Geometric Transformation and Image Registration >
- Parallel Computing > Parallel Computing Toolbox > GPU Computing >
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
Version | Published | Release Notes | |
---|---|---|---|
1.0.0.0 |