mcaffine(1)

πŸ’– NAME πŸ’–

okay so bestie, meet mcaffine β€” multi-channel affine registration. that's the whole name, that's the whole vibe. it lives in The Computational Morphometry Toolkit (CMTK, iykyk) and it's the manual page mcaffine(1). slay. let's get into it ✨


🌸 SYNOPSIS 🌸

mcaffine [options] refChannel0 [refChannel1 ...] -- fltChannel0 [fltChannel1 ...]

like, see that -- in the middle? that's the moment. everything before it? reference channels. everything after? floating channels. no cap 🫢


πŸ¦‹ DESCRIPTION πŸ¦‹

Multi-channel affine image registration using histogram-based or covariance-based joint entropy measures. that's it, that's the whole plot. it lines your images up and it does it the fancy way πŸ’…


✨ OPTIONS ✨

🌈 Global Toolkit Options (these are shared by all CMTK tools)

these are the group-chat-wide rules, bestie. every CMTK tool has them, so nobody's special here 😌

  • --help β€” writes the list of basic command line options to standard output. a lil snack, not the full meal πŸ“
  • --help-all β€” writes the complete list of basic and advanced command line options to standard output. the whole menu, go off πŸ‘‘
  • --wiki β€” writes the list of command line options to standard output in MediaWiki markup. for when you're feeling wiki-coded.
  • --man β€” writes the man page source in 'nroff' markup to standard output. meta moment fr 😭
  • --version β€” writes the toolkit version to standard output. who am i, when was i born πŸ’€
  • --echo β€” writes the current command line to standard output. it reads you back to yourself.
  • --verbose-level <integer> β€” sets the verbosity level. numbers, we love numbers ✨
  • --verbose, -v β€” increments verbosity level by 1. deprecated, but still supported for backward compatibility β€” like your fave song from 2019, nostalgic but lowkey outdated πŸ™ˆ
  • --threads <integer> β€” sets the maximum number of parallel threads (for POSIX threads and OpenMP). more threads, more main character energy πŸ’…

πŸ’œ Main Options

okay this is the actual tea, bestie. sip slowly β˜•

  • --out-archive <string>, -o <string> β€” output archive path. [Default: NONE] 😭 the default is literally nothing, so if you want an archive you have to say so. no archive for free, periodt.
  • --initial-xform <string> β€” optional path of a file with the initial transformation. [Default: NONE] a lil head start if you have one, otherwise nada.
  • --downsample-from <integer>, -d <integer> β€” initial downsampling factor [1]. [Default: 1] where the downsampling journey begins πŸš—
  • --downsample-to <integer>, -D <integer> β€” final downsampling factor [1]. factor 0 is full resolution with smoothing turned off. [Default: 1] β€” and yes, 0 is that girl who does the absolute most and the absolute least at the same time. iconic.
  • --smooth <float> β€” sigma of Gaussian smoothing kernel in multiples of template image pixel size [default: off] ) [Default: 0] 🫧 blurry but make it purposeful. (yes, that stray ) in the original is real and I am respectfully not touching it πŸ’€)
  • --downsample-average <boolean> β€” downsample using sliding-window averaging [default: off] ) [Default: 0] β€” the smooth way to shrink instead of just yeeting pixels. (another stray ), preserve her 🌸)
  • --dofs <integer>[,<integer>,...] β€” set sequence of numbers of DOFs for optimization schedule [can be repeated]. supported values are: 0, 3, 6, 7, 9, 12. that's the whole roster, don't try to smuggle in a 5 bestie, it's NOT on the list 🚫
  • --nmi β€” use normalized mutual information metric [default] [This is the default] β€” yes they said default twice, and yes that's extra in the most correct way πŸ’…
  • --mi β€” use standard mutual information metric. the un-normalized cousin, no drama attached.
  • --histograms, -H β€” use multi-dimensional histograms to compute entropies [default] [This is the default] β€” again with the double default, obsessed honestly 😭
  • --covariance, -C β€” use covariance matrix determinants to compute entropies. determinants are so girlboss.
  • --cubic, -c β€” use cubic interpolation [default: linear]. smoother reads, higher key rendering ✨
  • --initial-step-size <double> β€” initial optimizer step size in pixels. [Default: 1] first steps, big dreams πŸ‘Ÿ
  • --final-step-size <double> β€” initial optimizer step size in pixels. [Default: 0.125] (yes, it says "initial" in the final one. the original said that, I am merely the messenger πŸ™ˆ)
  • --delta-f-threshold <double> β€” optional threshold to terminate optimization (level) if relative change of target function drops below this value. [Default: 0] like a "you can stop now, we've plateaued" button πŸ›‘
  • --crop-reference-from-index <string> β€” crop reference image from index x,y,z. [Default: NONE] βœ‚οΈ
  • --crop-reference-to-index <string> β€” crop reference image to index x,y,z. [Default: NONE] βœ‚οΈ and you need both, otherwise it's giving "unfinished sentence".

πŸ‘‘ AUTHORS πŸ‘‘

Torsten Rohlfing, with contributions from Michael P. Hasak, Greg Jefferis, Calvin R. Maurer, Daniel B. Russakoff, and Yaroslav Halchenko. a whole squad, a whole friend group, a whole collab era 🫢


πŸ“œ LICENSE πŸ“œ

http://www.fsf.org/licensing/licenses/gpl.html β€” that's the GPL door, walk through it respectfully bestie πŸ’œ


πŸ’€ BUGS πŸ’€

Report bugs at http://nitrc.org/projects/cmtk/ β€” pls be nice and describe the bug, don't just say "it's broken" and leave, that's not the vibe πŸ™ˆ


🌟 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. funding bodies ate and left no crumbs, we love to see it πŸ’–


and that's the whole page, bestie πŸŽ€

this was version CMTK 3.3.1p2, dated Jun 24 2026, section mcaffine(1) β€” that's the source, the date, and the manual, all wrapped up with a bow 🎁 go register something multi-channel, you absolute icon ⭐

πŸ“¦ where this page comes from