groupwise_warp(1)

πŸ’– groupwise_warp(1) πŸ’–

okay bestie, buckle up, this is groupwise_warp from the CMTK (The Computational Morphology Toolkit) crew β€” a whole entire vibe of a registration tool, and yes, it's from section 1 of the manual, so it's a command you actually run. 🫢


✨ NAME ✨

groupwise_warp β€” Nonrigid population registration. that's it, that's the whole elevator pitch. πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

groupwise_warp [options] affineGroupRegistration

🌸 DESCRIPTION 🌸

so like, this tool nonrigidly registers a whole population of input images at the same time, no template needed, no cap. it does it one of two ways, and you get to pick:

  • using the 'congealing' algorithm, or
  • using a groupwise similarity measure based on a continuous approximation of mutual information, aka 'RMI'.

that's the tea. it's giving "everybody gets aligned together, main character energy for the entire squad". ✨


πŸ‘‘ OPTIONS πŸ‘‘

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

like, every CMTK tool has these, they're the group chat everyone's in:

  • --help β€” writes the list of basic command line options to standard output. baby's first flag. 🍼
  • --help-all β€” writes the complete list of basic and advanced command line options to standard output. the full lore. πŸ“š
  • --wiki β€” writes the list of command line options to standard output in MediaWiki markup. for when you're being wiki-famous. πŸ“
  • --man β€” writes man page source in 'nroff' markup to standard output. so meta, we're literally inside this. 😭
  • --version β€” writes toolkit version to standard output.
  • --echo β€” writes the current command line to standard output. it's giving receipts. 🧾
  • --verbose-level <integer> β€” set verbosity level. how much it yaps.
  • --verbose, -v β€” increment verbosity level by 1 (deprecated; supported for backward compatibility). yes queen, still works, just old. πŸ™ˆ
  • --threads <integer> β€” set maximum number of parallel threads (for POSIX threads and OpenMP). multitasking icon. ⚑

πŸ’« Registration Metric Options

pick your fighter, bestie:

  • --rmi β€” use the RMI (a.k.a. regional mutual information) metric to drive the registration). (yes the paren situation is a little unhinged, we keep it exactly how it is) πŸ’–
  • --congeal β€” use the congealing algorithm using pixelwise stack entropies to drive the registration. [This is the default] ← so if you say nothing, this is what you get, no questions asked.

πŸ’« Template Image Options

  • --template <string>, -t <string> β€” override template image with given file. [Default: NONE]
  • --template-with-data <string>, -T <string> β€” use user-supplied template image's pixel data in registration. [Default: disabled] β€” note it's off by default, so don't be surprised when it doesn't do the thing.

πŸ’« Multuresolution Parameters

(yes the heading says "Multuresolution", that's canon, I don't make the rules, I just report them) 🌈

  • --downsample-from <integer>, -d <integer> β€” Initial downsampling factor [4]. [Default: 4]
  • --downsample-to <integer>, -D <integer> β€” Final downsampling factor [1]. [Default: 1]
  • --sampling-density <float>, -s <float> β€” Probabilistic sampling density [default: off]. [Default: -1]

πŸ’« Output Options

  • --output-root <string>, -O <string> β€” Root directory for all output files. [Default: NONE]
  • --output <string>, -o <string> β€” Output filename for groupwise registration archive. [Default: groupwise.xforms]
  • --output-average <string> β€” Output filename for registered average image. [Default: average.nii]
  • --no-output-average β€” Do not write average image. sometimes you just don't want the average, and that's valid. πŸ™…
  • --average-cubic β€” Use cubic interpolation for average image (default: linear). fancy smoothing unlocked. ✨

πŸ’« Image Options and Operations

  • --force-background <integer>, -B <integer> β€” Force background pixels (outside FOV) to given (bin) value. [Default: disabled]
  • --histogram-bins <integer>, -H <integer> β€” Set number of histogram bins for entropy evaluation. [Default: disabled]
  • --crop-histograms β€” Crop image histograms to make better use of histogram bins. waste not, want not. πŸ“
  • --match-histograms β€” Match all image histograms to template data (or first image, if no template image is given). (no period, we don't gatekeep punctuation)
  • --repeat-match-histograms β€” Frequetly repeat histogram-based intensity matching to account for changing volume proportions. (yes, "Frequetly". verbatim. iconic typo behavior, we stan.) πŸŽ€
  • --smooth-pixels <double> β€” Sigma of Gaussian smoothing kernel in multiples of template image pixel size. [Default: disabled]
  • --smooth-cps <double> β€” Sigma of Gaussian smoothing kernel in multiples of control point delta. [Default: disabled]

πŸ’« Transformation Parameters

  • --grid-spacing <double> β€” Control point grid spacing. [Default: 40]
  • --grid-spacing-fit β€” Use grid spacing that fits volume FOV. ✨ tailored, bespoke, custom.
  • --refine-grid <integer>, -r <integer> β€” Number of times to refine transformation grid [default: 0]. [Default: 0]

πŸ’« Transformation Constraint Options

  • --zero-sum, -z β€” Enforce zero-sum computation.
  • --zero-sum-no-affine β€” Enforce zero-sum computation EXCLUDING affine components. lowercase bestie is not invited here.
  • --normal-group-first-n <integer>, -N <integer> β€” First N images are from the normal group and should be registered unbiased. [Default: 0]
  • --zero-sum-first-n <integer>, -Z <integer> β€” Enforce zero-sum computation for first N images. [Default: disabled]
  • --jacobian-weight <float>, -J <float> β€” Weight for Jacobian volume preservation constraint [default: off]. [Default: 0]
  • --bending-energy-weight <float>, -E <float> β€” Weight for grid bending energy regularization constraint [default: off]. [Default: 0]

πŸ’« Optimization Parameters

  • --exploration <double>, -e <double> β€” Exploration of optimization in pixels. [Default: 0.25]
  • --accuracy <double>, -a <double> β€” Accuracy of optimization in pixels. [Default: 0.01]
  • --step-factor <double>, -S <double> β€” Step factor for successive optimization passes. [Default: 0.5]
  • --delta-f-threshold <double> β€” Optional threshold to terminate optimization (level) if relative change of target function drops below this value. [Default: 0]
  • --partial-gradient-thresh <float>, -p <float> β€” Threshold factor for partial gradient zeroing [<0 turn off]. [Default: 0] β€” heads up: below zero turns it off, that's the escape hatch.
  • --activate-uninformative β€” Activate potentially uninformative control points. let them speak, honestly. πŸ—£οΈ
  • --disable-cp-mask <string> β€” Path to mask image (matching template grid) defining areas in which control points should be disabled. This guarantees that mask foreground areas remain undeformed. [Default: NONE] β€” so if you want certain areas to stay exactly as they are, this is your girl.
  • --disable-optimization β€” Disable optimization and output initial configuration. the "I'm just here to observe" mode. πŸ‘€

🫢 AUTHORS 🫢

Torsten Rohlfing, with contributions from Michael P. Hasak, Greg Jefferis, Calvin R. Maurer, Daniel B. Russakoff, and Yaroslav Halchenko. the whole squad ate. πŸ’œ


πŸ“œ LICENSE πŸ“œ

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


😭 BUGS 😭

Report bugs at http://nitrc.org/projects/cmtk/ β€” they're not gonna fix themselves bestie, speak up!


🌟 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 πŸ’– this was CMTK 3.3.1p2, dated Jun 24 2026, and honestly? iconic. slay. periodt. πŸ’…βœ¨πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from