Optimization-based Image Registration including the neural field representation and grid parameter representation.
This repo includes deformable and diffeomorphic registration by using neural filed to represent the displacement field and velocity field. They both come with two implementation, single-scale and multi-scale.
The neural field is represented by a multilayer perceptron, where the input is normalized coordinate [-1, 1], and the output is either the displacement or velocity vector. In multi-scale coarse-to-fine methods, optimized neural filed at coarse scale will continue being optimized at the finer scale because the neural field representation is continuous and adaptive to any resolution input.
"opt_nf_disp.py" and "opt_nf_disp_ms.py" are for the deformable registration with displacement field.
"opt_nf_diff.py" and "opt_nf_diff_ms.py" are for the diffeomorphic registration with velocity field.
Please check the "run_disp.sh" and "run_diff.sh" for command line example.
Generally spearking, neural field will consume more GPU memory and can not support full resolution coordinate grid input.
This repo includes deformable and diffeomorphic registration by using grid parameter to represent the displacement field and velocity field. They both come with two implementation, single-scale and multi-scale.
The grid is represented by a learnable 3D grid parameter, and the optimization is directly applied on this 3D parameter. In multi-scale coarse-to-fine methods, optimized coarse grid value will be upsampled and be used as the initialization of the finer scale.
"opt_grid_disp.py" and "opt_grid_disp_ms.py" are for the deformable registration with displacement field.
"opt_grid_diff.py" and "opt_grid_diff_ms.py" are for the diffeomorphic registration with velocity field.
Please check the "run_disp_grid.sh" and "run_diff_grid.sh" for command line example.
Generally spearking, full resolution grid parameter might not achieve highest evaluation score compared to downsampled grid, because it might be restricted to local minimum and can not capture the large deformation.