warpx(1)

πŸŽ€ warpx πŸŽ€

pssst bestie, you landed on the man page for warpx, which lives in The Computational Morphometry Toolkit (CMTK β€” that's the manual name, say it with me). it does B-spline nonrigid registration and it does it with main character energy. let's go πŸ’–


πŸ’– NAME πŸ’–

warpx β€” B-spline nonrigid registration. short, sweet, iconic, no notes.

🌸 SYNOPSIS 🌸

warpx ReferenceImage FloatingImage InitialXform

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so here's the whole tea: this program performs nonrigid image registration. it does that with multi-resolution optimization of voxel-based image similarity measures, plus a multi-resolution B-spline transformation model. so it's not just nudging your images around like a sticker on a laptop, it's bending them. respectfully. ✨


πŸ’… OPTIONS πŸ’…

πŸ‘‘ Global Toolkit Options (these are shared by all CMTK tools)

bestie these ones show up in every CMTK tool, that's the whole point of them. 🫢

  • --help β€” writes the list of basic command line options to standard output. your little starter pack.
  • --help-all β€” writes the complete list of basic and advanced command line options to standard output. the extended director's cut.
  • --wiki β€” writes the list of command line options to standard output in MediaWiki markup.
  • --man β€” writes the man page source in 'nroff' markup to standard output.
  • --xml β€” writes the command line syntax specification in XML markup (this one exists for Slicer integration).
  • --version β€” writes the toolkit version to standard output.
  • --echo β€” writes the current command line to standard output.
  • --verbose-level <integer> β€” sets the verbosity level.
  • --verbose, -v β€” increments the verbosity level by 1. it's deprecated, but it's supported for backward compatibility, so it still works if you need it.
  • --threads <integer> β€” sets the maximum number of parallel threads (for POSIX threads and OpenMP).

πŸ”„ Transformation import/export

  • --initial <transformation-path> β€” initialize the transformation from the given path. [Default: NONE]
  • --invert-initial β€” invert the (affine) initial transformation you handed over.
  • --write-itk-xform <transformation-path> β€” output path for the final transformation, in ITK format. [Default: NONE]
  • --write-reformatted <image-path> β€” write the reformatted floating image. [Default: NONE]

🧡 Transformation parameters

  • --grid-spacing <double> β€” control point grid spacing. [Default: 10]
  • --grid-refine <integer> β€” number of refinements (aka control point grid resolution levels). [Default: 0]
  • --delay-refine β€” delay the control point grid refinement; first switch to the next higher image resolution.
  • --exact-spacing β€” use the exact control point spacing; do not modify the spacing to fit the reference image bounding box.
  • --ignore-edge <integer> β€” ignore n control point layers along each image face. [Default: 0]
  • --restrict <string> β€” restrict the deformation to coordinate dimension(s) [one or more of 'x','y','z']. [Default: NONE]
  • --no-adaptive-fix β€” disable adaptive fixing of control points; optimize all the deformation parameters.
  • --adaptive-fix-thresh <float> β€” threshold factor for the entropy criterion used to fix local control points. [Default: 0.5]
  • --accurate β€” accurate computation mode: may give slightly better results after substantially longer computation. [This is the default]
  • --fast β€” fast computation mode: may give slightly worse results than accurate mode, but it saves substantial CPU time.

🧘 Regularization parameters

  • --jacobian-constraint-weight <float> β€” weight for the Jacobian-based local volume preservation constraint. [Default: 0]
  • --smoothness-constraint-weight <float> β€” weight for the smoothness constraint, which is based on second-order grid bending energy. [Default: 0]
  • --inverse-consistency-weight <float> β€” weight for the inverse consistency constraint. [Default: 0]
  • --constraint-relaxation-factor <float> β€” weight relaxation factor for alternating under-constrained iterations. [Default: -1]
  • --relax-to-unfold β€” before each resolution level, regularize the negative-Jacobian areas of the deformation so they unfold.

🎯 Optimization parameters

  • --max-stepsize <double> β€” maximum optimizer step size, which determines search space exploration. [Default: -1]
  • --min-stepsize <double> β€” minimum optimizer step size, which determines precision. [Default: -1]
  • --stepfactor <double> β€” factor for search step size reduction. must be > 0.0 and < 1.0 [default: 0.5] [Default: 0.5]
  • --delta-f-threshold <double> β€” optional threshold to terminate optimization (level) if the relative change of the target function drops below this value. [Default: 0]
  • --no-maxnorm β€” use the Euclid norm for gradient normalization in optimization, rather than the maximum norm.

πŸ” Image resolution parameters

  • --sampling <double>, -s <double> β€” image sampling (the finest resampled image resolution). [Default: -1]
  • --coarsest <double> β€” upper limit for image sampling in the multiresolution hierarchy. [Default: -1]
  • --omit-original-data β€” do not use the original data at full resolution for the final registration stage.

πŸ–ΌοΈ Image data

  • --registration-metric β€” registration metric for motion estimation by image-to-image registration. supported values are "nmi", "mi", "cr", "rms", "msd", "ncc", where the default is "nmi", or use one of the following:
    • --nmi β€” Normalized Mutual Information metric. [This is the default]
    • --mi β€” Standard Mutual Information metric.
    • --cr β€” Correlation Ratio metric.
    • --rms β€” Root of Mean Squares metric (this is the square root of MSD).
    • --msd β€” Mean Squared Difference metric.
    • --ncc β€” Normalized Cross Correlation metric.

🧚 Floating Image Interpolation Options

  • --interpolation β€” interpolation method for floating image sampling. supported values are "nearest-neighbor", "linear", "cubic", "cosine-sinc", "partial-volume", "automatic", where the default is "automatic", or use one of the following:
    • --nearest-neighbor β€” nearest neighbor interpolation (for intensity and label data).
    • --linear β€” trilinear interpolation.
    • --cubic β€” tricubic interpolation.
    • --cosine-sinc β€” cosine-windowed sinc interpolation (most accurate but slowest).
    • --partial-volume β€” partial volume interpolation (for label data).
    • --automatic β€” select the interpolation automatically based on the data type: linear for grey-level data, nearest neighbor for label data. [This is the default]
  • --match-histograms β€” match the floating image histogram to the reference image histogram.
  • --repeat-match-histograms β€” repeat the histogram matching after every level of the registration, to account for volume changes. when you're registering masked data, it's advisable to also use the --force-outside-value option so you don't end up with poorly matched histograms.
  • --force-outside-value <double> β€” force values outside the field of view to this value rather than dropping incomplete pixel pairs. [Default: disabled]

🌸 Reference Image Preprocessing

  • --class-ref <string> β€” data class: grey (default) or label. [Default: NONE]
  • --pad-ref <double> β€” padding value. [Default: disabled]
  • --thresh-min-ref <double> β€” minimum value truncation threshold. [Default: disabled]
  • --thresh-max-ref <double> β€” maximum value truncation threshold. [Default: disabled]
  • --prune-histogram-ref <integer> β€” number of bins for histogram-based pruning. [Default: disabled]
  • --histogram-equalization-ref β€” apply histogram equalization.
  • --median-filter-radius-ref <integer> β€” apply a median filter with the given radius. [Default: 0]
  • --sobel-filter-ref β€” apply the Sobel edge detection filter.
  • --crop-index-ref <string> β€” cropping region in pixel index coordinates [parsed as %d,%d,%d,%d,%d,%d for i0,j0,k0,i1,j1,k1]. [Default: NONE]
  • --crop-world-ref <string> β€” cropping region in world coordinates [parsed as %f,%f,%f,%f,%f,%f for x0,y0,z0,x1,y1,z1]. [Default: NONE]
  • --crop-thresh-ref <double> β€” automatic cropping based on threshold. [Default: disabled]

πŸ¦‹ Floating Image Preprocessing

  • --class-flt <string> β€” data class: grey (default) or label. [Default: NONE]
  • --pad-flt <double> β€” padding value. [Default: disabled]
  • --thresh-min-flt <double> β€” minimum value truncation threshold. [Default: disabled]
  • --thresh-max-flt <double> β€” maximum value truncation threshold. [Default: disabled]
  • --prune-histogram-flt <integer> β€” number of bins for histogram-based pruning. [Default: disabled]
  • --histogram-equalization-flt β€” apply histogram equalization.
  • --median-filter-radius-flt <integer> β€” apply a median filter with the given radius. [Default: 0]
  • --sobel-filter-flt β€” apply the Sobel edge detection filter.
  • --crop-index-flt <string> β€” cropping region in pixel index coordinates [parsed as %d,%d,%d,%d,%d,%d for i0,j0,k0,i1,j1,k1]. [Default: NONE]
  • --crop-world-flt <string> β€” cropping region in world coordinates [parsed as %f,%f,%f,%f,%f,%f for x0,y0,z0,x1,y1,z1]. [Default: NONE]
  • --crop-thresh-flt <double> β€” automatic cropping based on threshold. [Default: disabled]

πŸ“€ Output parameters

  • --outlist <string>, -o <string> β€” output path for the final transformation. [Default: NONE]
  • --time <string>, -t <string> β€” computation time statistics output file name. [Default: NONE]
  • --output-intermediate β€” write the transformation for each level [default: only write final transformation].

πŸ—„οΈ Image/Transformation Database

  • --db <string> β€” path to the image/transformation database that should be updated with the new registration and/or reformatted image. [Default: NONE]

🫢 AUTHORS 🫢

Torsten Rohlfing, with contributions from Michael P. Hasak, Greg Jefferis, Calvin R. Maurer, Daniel B. Russakoff, and Yaroslav Halchenko. legends, all of them. πŸ’œ

πŸ“œ LICENSE πŸ“œ

http://www.fsf.org/licensing/licenses/gpl.html

πŸ› BUGS πŸ›

report bugs at http://nitrc.org/projects/cmtk/. not me manifesting a bug-free run for you though πŸ™ˆ

🌈 ACKNOWLEDGMENTS 🌈

CMTK is developed with support from the NIAAA under Grant AA021697, National Consortium on Alcohol and Neurodevelopment in Adolescence (N-CANDA): Data Integration Component. from April 2009 through September 2011, CMTK development and maintenance was supported by the NIBIB under Grant EB008381.


and that's the whole page, bestie πŸ’– you just read the warpx(1) manual from CMTK 3.3.1p2, dated Jun 24 2026. go register something nonrigidly. periodt. πŸ‘‘

πŸ“¦ where this page comes from