registration(1)

πŸ’– registration(1) πŸ’–

okay bestie, listen UP β€” this is the registration page from the The Computational Morphology Toolkit (CMTK), and I'm gonna walk you through every single flag like we're sitting in a coffee shop and I'm explaining why this tool is literally the main character of image alignment. ✨


🌸 NAME 🌸

registration β€” rigid and affine registration πŸ¦‹


πŸŽ€ SYNOPSIS πŸŽ€

registration ReferenceImage FloatingImage

πŸ’« DESCRIPTION πŸ’«

So what does this do? It performs rigid and affine image registration using multi-resolution optimization of voxel-based image similarity measures. That's the whole vibe. Two images walk in, one transformation walks out. Slay. πŸ’…


✨ OPTIONS ✨

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

Like, these are the communal snacks. Every CMTK tool gets them. πŸ“

  • --help β€” Writes a list of basic command line options to standard output.
  • --help-all β€” Writes the complete list of basic and advanced command line options to standard output.
  • --wiki β€” Writes the list of command line options to standard output in MediaWiki markup.
  • --man β€” Writes man page source in 'nroff' markup to standard output.
  • --xml β€” Writes the command line syntax specification in XML markup (this one's for Slicer integration).
  • --version β€” Writes toolkit version to standard output.
  • --echo β€” Writes the current command line to standard output.
  • --verbose-level <integer> β€” Set verbosity level.
  • --verbose, -v β€” Increment verbosity level by 1. 🫢 (deprecated; supported for backward compatibility β€” so it's giving "still here, still cute")
  • --threads <integer> β€” Set maximum number of parallel threads (for POSIX threads and OpenMP).

πŸ€– Automation Options

  • --auto-multi-levels <integer> β€” Automatic optimization and resolution parameter generation for <n> levels [Default: 0]

πŸ”₯ Optimization settings

  • --exploration <double>, -e <double> β€” Exploration [that's the initial optimizer step size] [Default: 8]
  • --accuracy <double>, -a <double> β€” Accuracy [the final optimizer step size] [Default: 0.1]
  • --stepfactor <double>, -f <double> β€” Factor for search step size reduction. Must be > 0.0 and < 1.0 [Default: 0.5]
  • --delta-f-threshold <double> β€” Optional threshold to terminate optimization (level) if the relative change of target function drops below this value [Default: 0]

🌈 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 in full resolution. It omits the final stage in the multiresolution hierarchy, which reduces computation time. ⚑

πŸ’… Transformation parameters

  • --dofs <integer>[,<integer>,...] β€” Add number of degrees of freedom [can be repeated]
  • --dofs-final <integer>[,<integer>,...] β€” Add number of degrees of freedom for the final level only [can be repeated]
  • --no-switch, -n β€” Do not auto-switch reference and floating image for improved computational performance
  • --initxlate, -i β€” Initialized transformation by translating floating image FOV center onto reference image FOV center
  • --initial <transformation-path> β€” Initialize transformation from the given path [Default: NONE]
  • --initial-is-inverse β€” Invert the initial transformation before initializing registration

πŸŽ€ Image data

  • --registration-metric β€” Registration metric for motion estimation by image-to-image registration. Supported values are "nmi", "mi", "cr", "msd", "ncc", where the default is "nmi" β€” or just use one of the following:
    • --nmi β€” Normalized Mutual Information metric [This is the default] ⭐
    • --mi β€” Standard Mutual Information metric
    • --cr β€” Correlation Ratio metric
    • --msd β€” Mean Squared Difference metric
    • --ncc β€” Normalized Cross Correlation metric
  • --match-histograms β€” Match floating image histogram to reference image histogram.

🧚 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
  • --sobel-filter-ref β€” Apply 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]

🌸 Floating Image Preprocessing

Same energy, other image. πŸ’–

  • --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
  • --sobel-filter-flt β€” Apply 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]

πŸ’œ Output parameters

  • --outlist <string>, -o <string> β€” Output path for the final transformation [Default: NONE]
  • --out-matrix <string> β€” Output path for the final transformation in matrix format [Default: NONE]
  • --out-parameters <string> β€” Output path for the final transformation in plain parameter list format [Default: NONE]
  • --protocol <string>, -p <string> β€” Optimization protocol output file name [Default: NONE]
  • --time <string>, -t <string> β€” Computation time statistics output file name [Default: NONE]

πŸ¦‹ Import Results into Slicer

  • --out-itk <transformation-path> β€” Output path for the final transformation in ITK format [Default: NONE]
  • --write-reformatted <image-path> β€” Write reformatted floating image. [Default: NONE]

πŸ—„οΈ Image/Transformation Database

  • --db <string> β€” Path to 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 πŸ’–


πŸ“œ LICENSE πŸ“œ

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


πŸ’€ BUGS πŸ’€

Report bugs at http://nitrc.org/projects/cmtk/ β€” pls do it, they wanna hear from you 🫢


⭐ 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.


aaaand that's the whole thing bestie, you ate that πŸŽ€ no cap, this is CMTK 3.3.1p2, dated Jun 24 2026 β€” go register some images and be iconic. periodt. πŸ’…βœ¨πŸ¦‹

πŸ“¦ where this page comes from