2D and 3D Symmetric Registration using CUDA

Vanilla and Symmetric Non-Rigid Registration in 2D and 3D, parallelized using CUDA
1.1K Downloads
Updated 1 Aug 2012

View License

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
Created with R2012a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.0.0.0