mia-2dmyopgt-nonrigid(1)
๐ mia-2dmyopgt-nonrigid(1) ๐
okay bestie, sit down, hydrate, because this is the mia-2dmyopgt-nonrigid manual page and it is lowkey a whole journey ๐ซถ it lives in the General Commands Manual section, and it is about to make your 2D image series look โจregisteredโจ
๐ธ NAME ๐ธ
mia-2dmyopgt-nonrigid โ Run a registration of a series of 2D images. no cap, that's literally the whole job ๐
โจ SYNOPSIS โจ
mia-2dmyopgt-nonrigid -i <in-file> -o <out-file> [options]
like. give it an input, give it an output, sprinkle options on top. that's the vibe ๐
๐ฆ DESCRIPTION ๐ฆ
mia-2dmyopgt-nonrigid implements the non-linear registration based on Pseudo Ground Thruth for motion compensation of series of myocardial perfusion images, and it wants those images handed to it as a data set, exactly as described in:
Chao Li and Ying Sun, 'Nonrigid Registration of Myocardial Perfusion MRI Using Pseudo Ground Truth' , In Proc. Medical Image Computing and Computer-Assisted Intervention MICCAI 2009, 165-172, 2009
so yeah, this is a Real Academic Situation and the program is the main character ๐๐
๐ OPTIONS ๐
๐ File-IO ๐
the boring-but-essential part. in goes data, out comes data. iconic behaviour honestly.
-i,--in-file=(input, required); stringโ input perfusion data set. this one is required, bestie, no input no party ๐-o,--out-file=(output, required); stringโ output perfusion data set. also required, we do not do silent nothingness here ๐-r,--registered=regโ file name base for registered files, and the image file type is the same as given in the input data set. so it inherits the format from your input, slay ๐
๐ฎ Pseudo Ground Thruth estimation ๐ฎ
this is where the actual science happens. the "Thruth" is spelled like that in the original, and honestly? she's earned it ๐
-A,--alpha=1โ spacial neighborhood penalty weight (default1) ๐-B,--beta=1โ temporal second derivative penalty weight (default1) โณ-R,--rho-thresh=0.85โ correlation threshold for neighborhood analysis (default0.85) ๐-k,--skip=0โ skip images at the beginning of the series, e.g. because as they are of other modalities (default0). so like, the first few frames are a different vibe entirely and you just walk past them ๐
๐ง Registration ๐ง
the minimisation era of your life. buckle up.
-O,--optimizer=gsl:opt=gd,step=0.1โ Optimizer used for minimization (defaultgsl:opt=gd,step=0.1). For supported plugins seePLUGINS:minimizer/singlecost๐-a,--start-c-rate=32โ start coefficinet rate in spines, gets divided by--c-rate-dividerwith every pass (default32) ๐--c-rate-divider=4โ cofficient rate divider for each pass (default4) โ-d,--start-divcurl=20โ start divcurl weight, gets divided by--divcurl-dividerwith every pass (default20) ๐--divcurl-divider=4โ divcurl weight scaling with each new pass (default4) ๐ช-w,--imageweight=1โ image cost weight (default1) โ๏ธ-l,--mg-levels=3โ multi-resolution levels (default3) ๐ช-P,--passes=4โ registration passes (default4) ๐
๐ Help & Info ๐
your little support system. they don't do the math, they just tell you things.
-V,--verbose=warningโ verbosity of output, print messages of given level and higher priorities (defaultwarning). Supported priorities starting at lowest level are:traceโ Function call tracedebugโ Debug outputinfoโ Low level messagesmessageโ Normal messageswarningโ Warningsfailโ Report test failureserrorโ Report errorsfatalโ Report only fatal errors
--copyrightโ print copyright information ๐-h,--helpโ print this help ๐-?,--usageโ print a short help ๐ซถ--versionโ print the version number and exit ๐ท๏ธ
๐ Processing ๐
the "how much of my CPU am I willing to sacrifice" section.
--threads=-1โ Maxiumum number of threads to use for processing. This number should be lower or equal to the number of logical processor cores in the machine. (-1: automatic estimation). so like,-1means "bestie just figure it out yourself" and it does ๐๐ฅ
still with me? good. there's more coming โ this page is a two-parter, so don't go anywhere ๐ธ
๐ PLUGINS: minimizer/singlecost ๐
okay so these are the minimizer plugins you can drop into singlecost โ pick your fighter, bestie, each one has its own little knobs โจ
gdasโ Gradient descent with automatic step size correction. The parameters it supports are:ftolr = 0;doublein[0, inf)โ stop when the relative change of the criterion dips below this.max-step = 2;doublein(0, inf)โ the biggest absolute step size allowed.maxiter = 200;uintin[1, inf)โ stopping criterion: max number of iterations.min-step = 0.1;doublein(0, inf)โ the smallest absolute step size allowed.xtola = 0.01;doublein[0, inf)โ stop when the inf-norm of the change applied to x is below this value.
gdsqโ Gradient descent with quadratic step estimation. Parameters:ftolr = 0;doublein[0, inf)โ stop when the relative change of the criterion is below this.gtola = 0;doublein[0, inf)โ stop when the inf-norm of the gradient is below this value.maxiter = 100;uintin[1, inf)โ stopping criterion: max number of iterations.scale = 2;doublein(1, inf)โ fallback fixed step size scaling.step = 0.1;doublein(0, inf)โ initial step size.xtola = 0;doublein[0, inf)โ stop when the inf-norm of the x-update is below this value.
gslโ optimizer plugin built on the multimin optimizers from the GNU Scientific Library (GSL), https://www.gnu.org/software/gsl/. Parameters:eps = 0.01;doublein(0, inf)โ for gradient based optimizers: stop when|grad| < eps; for simplex: stop when simplex size < eps.iter = 100;uintin[1, inf)โ maximum number of iterations.opt = gd;dictโ the specific optimizer to use. Supported values are:simplexโ Simplex algorithm of Nelder and Meadcg-frโ Flecher-Reeves conjugate gradient algorithmcg-prโ Polak-Ribiere conjugate gradient algorithmbfgsโ Broyden-Fletcher-Goldfarb-Shannbfgs2โ Broyden-Fletcher-Goldfarb-Shann (most efficient version)gdโ Gradient descent.
step = 0.001;doublein(0, inf)โ initial step size.tol = 0.1;doublein(0, inf)โ some tolerance parameter.
nloptโ minimizer algorithms using the NLOPT library. For a description of the optimizers, peep 'http://ab-initio.mit.edu/wiki/index.php/NLopt_Algorithms'. Parameters:ftola = 0;doublein[0, inf)โ stopping criterion: the absolute change of the objective value is below this value.ftolr = 0;doublein[0, inf)โ stopping criterion: the relative change of the objective value is below this value.higher = inf;doubleโ higher boundary (equal for all parameters).local-opt = none;dictโ local minimization algorithm that may be required for the main minimization algorithm. Supported values are:gn-directโ Dividing Rectanglesgn-direct-lโ Dividing Rectangles (locally biased)gn-direct-l-randโ Dividing Rectangles (locally biased, randomized)gn-direct-noscalโ Dividing Rectangles (unscaled)gn-direct-l-noscalโ Dividing Rectangles (unscaled, locally biased)gn-direct-l-rand-noscaleโ Dividing Rectangles (unscaled, locally biased, randomized)gn-orig-directโ Dividing Rectangles (original implementation)gn-orig-direct-lโ Dividing Rectangles (original implementation, locally biased)ld-lbfgs-nocedalโ Noneld-lbfgsโ Low-storage BFGSln-praxisโ Gradient-free Local Optimization via the Principal-Axis Methodld-var1โ Shifted Limited-Memory Variable-Metric, Rank 1ld-var2โ Shifted Limited-Memory Variable-Metric, Rank 2ld-tnewtonโ Truncated Newtonld-tnewton-restartโ Truncated Newton with steepest-descent restartingld-tnewton-precondโ Preconditioned Truncated Newtonld-tnewton-precond-restartโ Preconditioned Truncated Newton with steepest-descent restartinggn-crs2-lmโ Controlled Random Search with Local Mutationld-mmaโ Method of Moving Asymptotesln-cobylaโ Constrained Optimization BY Linear Approximationln-newuoaโ Derivative-free Unconstrained Optimization by Iteratively Constructed Quadratic Approximationln-newuoa-boundโ Derivative-free Bound-constrained Optimization by Iteratively Constructed Quadratic Approximationln-neldermeadโ Nelder-Mead simplex algorithmln-sbplxโ Subplex variant of Nelder-Meadln-bobyqaโ Derivative-free Bound-constrained Optimizationgn-isresโ Improved Stochastic Ranking Evolution Strategynoneโ don't specify algorithm
lower = -inf;doubleโ lower boundary (equal for all parameters).maxiter = 100;intin[1, inf)โ stopping criterion: the maximum number of iterations.opt = ld-lbfgs;dictโ main minimization algorithm. Supported values are:gn-directโ Dividing Rectanglesgn-direct-lโ Dividing Rectangles (locally biased)gn-direct-l-randโ Dividing Rectangles (locally biased, randomized)gn-direct-noscalโ Dividing Rectangles (unscaled)gn-direct-l-noscalโ Dividing Rectangles (unscaled, locally biased)gn-direct-l-rand-noscaleโ Dividing Rectangles (unscaled, locally biased, randomized)gn-orig-directโ Dividing Rectangles (original implementation)gn-orig-direct-lโ Dividing Rectangles (original implementation, locally biased)ld-lbfgs-nocedalโ Noneld-lbfgsโ Low-storage BFGSln-praxisโ Gradient-free Local Optimization via the Principal-Axis Methodld-var1โ Shifted Limited-Memory Variable-Metric, Rank 1ld-var2โ Shifted Limited-Memory Variable-Metric, Rank 2ld-tnewtonโ Truncated Newtonld-tnewton-restartโ Truncated Newton with steepest-descent restartingld-tnewton-precondโ Preconditioned Truncated Newtonld-tnewton-precond-restartโ Preconditioned Truncated Newton with steepest-descent restartinggn-crs2-lmโ Controlled Random Search with Local Mutationld-mmaโ Method of Moving Asymptotesln-cobylaโ Constrained Optimization BY Linear Approximationln-newuoaโ Derivative-free Unconstrained Optimization by Iteratively Constructed Quadratic Approximationln-newuoa-boundโ Derivative-free Bound-constrained Optimization by Iteratively Constructed Quadratic Approximationln-neldermeadโ Nelder-Mead simplex algorithmln-sbplxโ Subplex variant of Nelder-Meadln-bobyqaโ Derivative-free Bound-constrained Optimizationgn-isresโ Improved Stochastic Ranking Evolution Strategyauglagโ Augmented Lagrangian algorithmauglag-eqโ Augmented Lagrangian algorithm with equality constraints onlyg-mlslโ Multi-Level Single-Linkage (require local optimization and bounds)g-mlsl-ldsโ Multi-Level Single-Linkage (low-discrepancy-sequence, require local gradient based optimization and bounds)ld-slsqpโ Sequential Least-Squares Quadratic Programming
step = 0;doublein[0, inf)โ initial step size for gradient free methods.stop = -inf;doubleโ stopping criterion: function value falls below this value.xtola = 0;doublein[0, inf)โ stopping criterion: the absolute change of all x-values is below this value.xtolr = 0;doublein[0, inf)โ stopping criterion: the relative change of all x-values is below this value.
๐ EXAMPLE ๐
Register the perfusion series given in segment.set by using Pseudo Ground Truth estimation. Skip two images at the beginning and otherwiese use the default parameters. Store the result in registered.set.
mia-2dmyopgt-nonrigid -i segment.set -o registered.set -k 2
๐ AUTHOR(s) ๐
Gert Wollny
๐ COPYRIGHT ๐
This software is Copyright (c) 1999โ2015 Leipzig, Germany and Madrid, Spain. It comes with ABSOLUTELY NO WARRANTY and you may redistribute it under the terms of the GNU GENERAL PUBLIC LICENSE Version 3 (or later). For more information run the program with the option --copyright.
and that's the whole page, bestie ๐ this was USER COMMANDS, version v2.4.7, and the date slot is just vibing as that same version energy. catch you in the terminal โจ๐ฆ๐
๐ฆ where this page comes from
- debian bookworm: mia-tools 2.4.7-11+b1 ยท GPL-3.0-or-later
- ubuntu jammy: mia-tools 2.4.7-8ubuntu1 ยท GPL-3.0-or-later
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms