BSplines Transform CLP

From user's Wiki!
Jump to: navigation, search
BSplines Transform

General Information

  • Type: CLP
  • Category: Registration
  • Author: Nicolas Duchateau
  • Contributor: Xavi Planes
  • Contact: xavier.planes at
  • Description: Compute a non-rigid transformation between two images, using Mattes’ implementation of mutual information as a similarity metric [3]. The transformation is modeled using third-order B-splines [5]. The local deformations can be constrained, leading to a diffeomorphic (i.e. invertible) transformation [4]. The bulk transform is used as an initial transform but is not touched.

[3] Mattes, Haynor, Vesselle, Lewellen, Eubank. "PET-CT image registration in the chest using free-form deformations", IEEE Transactions on Medical Imaging 22(1):120-128, January 2003. Doi: 10.1109/TMI.2003.809072

[4] Rueckert, Aljabar, Heckemann, Hajnal, Hammers. "Diffeomorphic registration using B-splines", Proc. MICCAI 2006, LNCS vol. 4191, pp. 702-709. Doi: 10.1007/11866763_86

[5] Rueckert, Sonoda, Hayes, Hill, Leach, Hawkes. "Nonrigid registration using free-form deformations: Application to breast MR images", IEEE Transactions on Medical Imaging 18(8):712-721, August 1999. Doi: 10.1109/42.796284



Label Type Flag / Index Default value / Channel Description
Pre processing
Region region region 0,0,0,0,0,0 user specified region for fixed image
Sigma double sigma_smooth 0 Sigma for the Gaussian filter
Low Thresh Fixed double flaglowThreshFixed boolean Low Thresh Fixed
Low Thresh Fixed float lowThreshFixed 0 Pixels below this intensity are ignored for metric computation
High Thresh Fixed boolean flaghighThreshFixed false High Thresh Fixed
High Thresh Fixed float highThreshFixed 0 Pixels above this intensity are ignored for metric computation
Low Thresh Moving boolean flaglowThreshMoving false Low Thresh Moving
Low Thresh Moving float lowThreshMoving 0 Pixels below this intensity are ignored for metric computation
High Thresh Moving boolean flaghighThreshMoving false High Thresh Moving
High Thresh Moving float highThreshMoving 0 Pixels above this intensity are ignored for metric computation
Padding Value float paddingValue 0 Default pixel value
Add Observer boolean add_observer true show registration outputs
Optimizer string-enumeration optim LBFGSB LBFGSB, gradient descendent
spacing CP X float spac_CP_x 0 Spacing of control points along x axis (mm)
spacing CP Y float spac_CP_y 0 Spacing of control points along y axis (mm)
spacing CP Z float spac_CP_z 0 Spacing of control points along z axis (mm)
maxMovementOfCP float maxMovementOfCP 0 Maximum movement of the control points (in percentage of the control point spacing)
numberOfHBins integer nb_Bins 64 Number of histogram bins
Fraction of samples integer frac_S 100 Fraction of samples
Split TR boolean split_tr false Refine input transformation by factor 2
Bulk Transforms string-vector bulk_tr Refine input transformation by factor 2
Defo Field Moving Definition Specified boolean out_Def_M false Define output image dimensions that will be used for writing the Vector Field: true -> Moving Image, false -> Fixed image
Filenames series boolean series false Working with series filenames (e.g.: filename_0012.vtk)
Save BMP images boolean save_BMP false Save input images to bmp (2D data only)
Fixed Image image index 0 input Fixed Image
Moving Image image index 1 input Moving Image
Mask Image image maskMetric input A binary mask image defining in and out for computing the similarity metric
Input transform transform (fileExtensions=".dof") in_tr input Defines a pre-transform that will be altered by this registration
Output Image image outputImage output Output Image
Output transform transform (fileExtensions=".dof" reference="movingImageFileName") index 2 output
Output Deformation Field transform (fileExtensions=".vtk") out_Def output Output Deformation Field Name


BSplines Transform between two images. The last column is the result and the transformation grid.

BSplines Transform


Source code: C++ Source code and XML description

Go back to Users