volume...ruction(1)

πŸ’– volume_reconstruction πŸ’–

okay bestie, welcome to the manual page for volume_reconstruction β€” yeah the header up top squishes it down to volume...ruction(1) bc man page headers are dramatic like that, but we know her real name. She lives in CMTK, the Computational Morphology Toolkit, section 1 of the manual. πŸŽ€


✨ NAME ✨

volume_reconstruction β€” Volume reconstruction. that's it, that's the vibe. πŸ’…


✨ SYNOPSIS ✨

volume_reconstruction [options] refImage xform0 inImage0 [xform1
inImage1 ...]

like. give her your refImage, then a whole little parade of xform0 inImage0, optionally xform1 inImage1, and so on forever. she eats. πŸ”₯


✨ DESCRIPTION ✨

Iterative volume reconstruction from co-registered images using inverse interpolation or joint deblurring.

so basically: you've got a bunch of co-registered images, and she iteratively reconstructs a volume out of them. two whole modes, two whole personalities: inverse interpolation or joint deblurring. pick your fighter. πŸ¦‹


✨ OPTIONS ✨

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

these ones are like the group chat everyone in CMTK is in. shared by literally all the tools. no cap.

  • --help β€” writes the list of basic command line options to standard output. starter pack energy.
  • --help-all β€” writes the complete list of basic AND advanced command line options to standard output. she shows you everything. πŸ‘‘
  • --wiki β€” writes the list of command line options to standard output in MediaWiki markup. for the wiki girlies.
  • --man β€” writes man page source in 'nroff' markup to standard output. meta. she's writing her own manual. 😭
  • --version β€” writes toolkit version to standard output. identity check βœ…
  • --echo β€” writes the current command line to standard output. so you can see exactly what you just did. receipts!
  • --verbose-level <integer> β€” sets verbosity level. how much she talks to you. pick a number.
  • --verbose, -v β€” increments verbosity level by 1. ⚠️ deprecated β€” supported for backward compatibility only, so it's giving legacy but she still shows up for you.
  • --threads <integer> β€” sets the maximum number of parallel threads (for POSIX threads and OpenMP). more threads = more girlies working at once. ✨

🌸 Input Options 🌸

  • --exclude-first-image, -x β€” excludes the first image from reconstruction as a separate registration target image) β€” yeah the original has a stray closing paren, we're keeping it, it's iconic. first image gets benched. πŸ™ˆ
  • --crop <string> β€” crops the reference to pixel region x0,y0,z1:x1,y1,z1. yes, it really is z1 in there where you'd expect z0. that's what it says, that's what you type. πŸ’€
  • --pass-weight <string>, -W <string> β€” sets the contribution weight for a pass, in the form 'pass:weight'. so like, how much each pass gets to matter. main character weighting. πŸ‘‘

🌸 Reconstruction Grid 🌸

  • --recon-grid <string> β€” defines the reconstruction grid as Nx,Ny,Nz:dX,dY,dZ[:Ox,Oy,Oz] β€” that's dims:pixel:offset if you were wondering. she's structured. ✨
  • --recon-grid-path <string>, -R <string> β€” gives the path to a grid that defines the reconstructed image grid [including offset] [Default: NONE]. hand her a whole grid file instead. πŸŽ€

🌸 Initial Volume Injection Parameters 🌸

  • --isotropic-injection β€” uses isotropic volume injection [otherwise: scaled with pass image pixel size per dimension]. so by default it's scaled per-dimension, but flip this and she goes isotropic. 🌈
  • --injection-kernel-sigma <double>, -S <double> β€” standard deviation of the Gaussian kernel for volume injection, in multiples of pixel size in each direction. [Default: 1]. one sigma. she's calibrated. πŸ’œ
  • --injection-kernel-radius <double>, -r <double> β€” truncation radius factor of the injection kernel. the kernel is truncated at sigma*radius, where sigma is the kernel standard deviation. [Default: 2]. periodt, that's the math. βœ‚οΈ

🌸 Volume Reconstruction Options 🌸

  • --inverse-interpolation-kernel β€” kernel for the inverse interpolation reconstruction. supported values: "cubic", "linear", "hamming-sinc", "cosine-sinc", where the default is "cubic". or, alternatively, use one of the following cuties:
    • --cubic, -C β€” Tricubic interpolation [This is the default]. the standard. the moment. πŸ‘‘
    • --linear, -L β€” Trilinear interpolation (faster but less accurate). speed over perfection, we respect it. ⚑
    • --hamming-sinc, -H β€” Hamming-windowed sinc interpolation. windowed!! fancy.
    • --cosine-sinc, -O β€” Cosine-windowed sinc interpolation (most accurate but slowest). she takes her time bc she's worth it. πŸ’…
  • --deblurring β€” kernel shape to approximate the point spread function for joint deblurring reconstruction (selecting one of these disables inverse interpolation reconstruction). supported values: "box", "gaussian", or use one of the following:
🚨 heads up bestie: picking one of these disables inverse interpolation reconstruction. it's a whole mode switch, not a lil add-on. choose wisely.
  • --box β€” Box-shaped kernel. simple. square. iconic in its own way.
  • --gaussian β€” Gaussian kernel. the classic bell. πŸ””
  • --psf <string> β€” explicitly sets the point spread function size as x,y,z. use with 'deblurring' kernel reconstrunction. (yes, "reconstrunction." we keep the typo. it's part of the lore now. 😭)
  • --psf-scale <double> β€” scales the point spread function size by this value. use with 'deblurring' kernel reconstrunction. (again. keeping it.) [Default: 1].

🌸 Optimization Parameters 🌸

  • --num-iterations <integer>, -n <integer> β€” maximum number of inverse interpolation iterations. [Default: 20]. twenty lil glow-ups. ✨
  • --fourth-order-error, -f β€” use fourth-order (rather than second-order) error for optimization. she counted higher. 🧚

🌸 Regularization Parameters 🌸

  • --l-norm-weight <double> β€” sets the constraint weight for Tikhonov-type L-Norm regularization (0 disables the constraint). [Default: 0]. so default = constraint off. zero means off, bestie.
  • --no-truncation, -T β€” turns off non-linear regional intensity truncation. no clipping, no limits, we ride. 🌈

🌸 Output Options 🌸

  • --output <string>, -o <string> β€” output path for the final reconstructed image. [Default: reconstructed.nii]. she names it herself if you don't. 🫢
  • --write-injected-image <string> β€” writes the initial volume-injected image to this path. [Default: NONE]. off by default, as she should be.
  • --write-lowest-max-error-image <string> β€” optional path to write the reconstructed image with the lowest MAXIMUM error. [Default: NONE]. MAXIMUM. in caps. pay attention. πŸ’…
  • --write-images-as-float, -F β€” writes output images as floating point. decimal girlies rise. πŸ”₯

✨ AUTHORS ✨

Torsten Rohlfing, with contributions from Michael P. Hasak, Greg Jefferis, Calvin R. Maurer, Daniel B. Russakoff, and Yaroslav Halchenko.

the whole squad. give them their flowers. πŸ’πŸ‘‘


✨ LICENSE ✨

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

go read it, it's important, fr fr. πŸ“œ


✨ BUGS ✨

Report bugs at http://nitrc.org/projects/cmtk/

not me telling you where to file them β€” if something's broken, tell the devs, don't just suffer in silence bestie. πŸ›πŸ˜­


✨ 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 lore. we love a grant. πŸŽ€βœ¨


and that's the whole page bestie!! πŸ’– this one came from CMTK 3.3.1p2, dated Jun 24 2026 β€” and yeah the footer's out here calling her volume...ruction(1) again, she's shy about her full name in the footer, whatever. go reconstruct a volume. slay. πŸ’…πŸ¦‹πŸŒΈ

πŸ“¦ where this page comes from