mia-2dmyomilles(1)
โจ mia-2dmyomilles(1) โจ โ General Commands Manual ๐
okay bestie, welcome to the mia-2dmyomilles manual. yes, that's a whole word. iykyk. this is the general commands manual page for it, and it is long, so buckle up ๐ฆ
๐ NAME
mia-2dmyomilles โ run a registration of a series of 2D images ๐ธ
๐ฆ SYNOPSIS
mia-2dmyomilles -i <in-file> -o <out-file> [options]
like... that's the whole vibe. in-file, out-file, sprinkle options on top ๐
๐ DESCRIPTION
mia-2dmyomilles โ this program is used to run a modified version of the ICA-based registration approach described in:
Milles et al. 'Fully Automated Motion Correction in First-Pass Myocardial Perfusion MR Image Sequences', Trans. Med. Imaging., 27(11), 1611-1621, 2008.
and the changes, bestie, are:
- extraction of the quasi-periodic movement in free-breathingly acquired data sets ๐ซโจ
- the option to run affine or rigid registration instead of only optimizing translations
so yeah, it ate and left no crumbs ๐ฅ
๐ OPTIONS
๐ File-IO
-i,--in-file=(input, required); stringโ the input perfusion data set. required, so no skipping ๐-o,--out-file=(output, required); stringโ the output perfusion data set. also required ๐-r,--registered=โ file name base for registered files--save-references=โ save synthetic reference images to this file base--save-cropped=โ save the cropped image set to this file--save-feature=โ save the features images resulting from the ICA, plus some intermediate images used for the RV-LV segmentation, as PNG files, using the given file name base. It also saves the coefficients of the initial best IC mixing matrix and the final IC mixing matrix. literally saving the receipts ๐ธ
๐ Help & Info
-V,--verbose=warningโ verbosity of output; prints messages of the given level and higher priorities. The supported priorities, starting at the 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
โจ ICA
--fastica=internalโ which FastICA implementation to use. For supported plugins seePLUGINS:fastica/implementation-C,--components=0โ ICA components.0= automatic estimation ๐ฎ--normalizeโ normalized ICs--no-meanstripโ don't strip the mean from the mixing curves-g,--guessโ use initial guess for myocardial perfusion-s,--segscale=1.4โ segment and scale the crop box around the LV (0= no segmentation)-k,--skip=0โ skip images at the beginning of the series, since they're of other modalities ๐-m,--max-ica-iter=400โ maximum number of iterations in ICA-E,--segmethod=featuresโ segmentation method. the options are:delta-featureโ difference of the feature imagesdelta-peakโ difference of the peak enhancement imagesfeaturesโ feature images
๐ฅ Processing
--threads=-1โ maximum number of threads to use for processing. This number should be lower than or equal to the number of logical processor cores in the machine.-1means automatic estimation. be nice to your CPU bestie ๐
๐ Registration
-c,--cost=ssdโ registration criterion-O,--optimizer=gsl:opt=simplex,step=1.0โ optimizer used for minimization. For supported plugins seePLUGINS:minimizer/singlecost-f,--transForm=rigidโ transformation type. For supported plugins seePLUGINS:2dimage/transform-l,--mg-levels=3โ multi-resolution levels-R,--reference=-1โ the global reference all images should be aligned to. If set to a non-negative value, the images will be aligned to this reference, and the cropped output image data will be injected into the original images. Leave it at-1if you don't care โ in that case all images will be registered to a mean position of the movement.-P,--passes=2โ registration passes
๐ง PLUGINS: 1d/splinebc
mirror
Spline interpolation boundary conditions that mirror on the boundary ๐ช
(no parameters)
repeat
Spline interpolation boundary conditions that repeat the value at the boundary ๐
(no parameters)
zero
Spline interpolation boundary conditions that assume zero for values outside โญ
(no parameters)
๐ธ PLUGINS: 1d/splinekernel
bspline
B-spline kernel creation. supported parameters are:
d = 3; int in [0, 5]โ spline degree.
omoms
OMoms-spline kernel creation. supported parameters are:
d = 3; int in [3, 3]โ spline degree.
๐ฆ PLUGINS: 2dimage/transform
affine
Affine transformation (six degrees of freedom). supported parameters are:
imgboundary = mirror; factoryโ image interpolation boundary conditions. For supported plug-ins seePLUGINS:1d/splinebcimgkernel = [bspline:d=3]; factoryโ image interpolator kernel. For supported plug-ins seePLUGINS:1d/splinekernel
rigid
Rigid transformations (i.e. rotation and translation, three degrees of freedom). supported parameters are:
imgboundary = mirror; factoryโ image interpolation boundary conditions. For supported plug-ins seePLUGINS:1d/splinebcimgkernel = [bspline:d=3]; factoryโ image interpolator kernel. For supported plug-ins seePLUGINS:1d/splinekernelrot-center = [[0,0]]; 2dfvectorโ relative rotation center, i.e.<0.5,0.5>corresponds to the center of the support rectangle.
rotation
Rotation transformations (i.e. rotation about a given center, one degree of freedom). supported parameters are:
imgboundary = mirror; factoryโ image interpolation boundary conditions. For supported plug-ins seePLUGINS:1d/splinebcimgkernel = [bspline:d=3]; factoryโ image interpolator kernel. For supported plug-ins seePLUGINS:1d/splinekernelrot-center = [[0,0]]; 2dfvectorโ relative rotation center, i.e.<0.5,0.5>corresponds to the center of the support rectangle.
spline
A free-form transformation that can be described by a set of B-spline coefficients and an underlying B-spline kernel. supported parameters are:
anisorate = [[0,0]]; 2dfvectorโ anisotropic coefficient rate in pixels; nonpositive values will be overwritten by theratevalue.imgboundary = mirror; factoryโ image interpolation boundary conditions. For supported plug-ins seePLUGINS:1d/splinebcimgkernel = [bspline:d=3]; factoryโ image interpolator kernel. For supported plug-ins seePLUGINS:1d/splinekernelkernel = [bspline:d=3]; factoryโ transformation spline kernel. For supported plug-ins seePLUGINS:1d/splinekernelpenalty = ; factoryโ transformation penalty term. For supported plug-ins seePLUGINS:2dtransform/splinepenaltyrate = 10; float in [1, inf)โ isotropic coefficient rate in pixels.
translate
Translation only (two degrees of freedom). supported parameters are:
imgboundary = mirror; factoryโ image interpolation boundary conditions. For supported plug-ins seePLUGINS:1d/splinebcimgkernel = [bspline:d=3]; factoryโ image interpolator kernel. For supported plug-ins seePLUGINS:1d/splinekernel
vf
This plug-in implements a transformation that defines a translation for each point of the grid defining the domain of the transformation. supported parameters are:
imgboundary = mirror; factoryโ image interpolation boundary conditions. For supported plug-ins seePLUGINS:1d/splinebcimgkernel = [bspline:d=3]; factoryโ image interpolator kernel. For supported plug-ins seePLUGINS:1d/splinekernel
๐ PLUGINS: 2dtransform/splinepenalty
divcurl
divcurl penalty on the transformation. supported parameters are:
curl = 1; float in [0, inf)โ penalty weight on curl.div = 1; float in [0, inf)โ penalty weight on divergence.norm = 0; boolโ set to1if the penalty should be normalized with respect to the image size.weight = 1; float in (0, inf)โ weight of penalty energy.
๐ PLUGINS: fastica/implementation
internal
This is the MIA implementation of the FastICA algorithm ๐ง โจ
(no parameters)
itpp
This is the IT++ implementation of the FastICA algorithm.
(no parameters)
gdas โ gradient descent with automatic step size correction ๐โโ๏ธ
The supported parameters are:
ftolr = 0; double in [0, inf)โ stop if the relative change of the criterion is below. (yes the original sentence just ends there, period and all, we respect it ๐)max-step = 2; double in (0, inf)โ the maximal absolute step size, like the biggest leap it's allowed to take.maxiter = 200; uint in [1, inf)โ stopping criterion: the maximum number of iterations.min-step = 0.1; double in (0, inf)โ the minimal absolute step size, so no baby steps below this.xtola = 0.01; double in [0, inf)โ stop if the inf-norm of the change applied to x is below this value.
gdsq โ gradient descent with quadratic step estimation ๐ฆ
The supported parameters are:
ftolr = 0; double in [0, inf)โ stop if the relative change of the criterion is below.gtola = 0; double in [0, inf)โ stop if the inf-norm of the gradient is below this value.maxiter = 100; uint in [1, inf)โ stopping criterion: the maximum number of iterations.scale = 2; double in (1, inf)โ fallback fixed step size scaling.step = 0.1; double in (0, inf)โ initial step size.xtola = 0; double in [0, inf)โ stop if the inf-norm of x-update is below this value.
gsl โ the GNU Scientific Library optimizer plug (GSL) ๐
An optimizer plugin based on the multimin optimizers of the GNU Scientific Library (GSL) https://www.gnu.org/software/gsl/. The supported parameters are:
eps = 0.01; double in (0, inf)โ for gradient based optimizers: stop when|grad| < eps; for simplex: stop when simplex size< eps.iter = 100; uint in [1, inf)โ maximum number of iterations.opt = gd; dictโ the specific optimizer to be used. 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; double in (0, inf)โ initial step size.tol = 0.1; double in (0, inf)โ some tolerance parameter.
nlopt โ minimizer algorithms using the NLOPT library ๐ฅ
Bestie, for a description of the optimizers please see http://ab-initio.mit.edu/wiki/index.php/NLopt_Algorithms. The supported parameters are:
ftola = 0; double in [0, inf)โ stopping criterion: the absolute change of the objective value is below this value.ftolr = 0; double in [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; int in [1, inf)โ stopping criterion: the maximum number of iterations.opt = ld-lbfgs; dictโ 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 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; double in [0, inf)โ initial step size for gradient free methods.stop = -inf; doubleโ stopping criterion: function value falls below this value.xtola = 0; double in [0, inf)โ stopping criterion: the absolute change of all x-values is below this value.xtolr = 0; double in [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 automatic ICA estimation. Skip two images at the beginning and otherwiese use the default parameters. Store the result in registered.set.
mia-2dmyomilles -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.
fr fr, that's the whole thing. no warranty, but all the vibes. ๐
That's a wrap bestie ๐ this page lived in the USER COMMANDS section of the manual, version v2.4.7, filed under mia-2dmyomilles(1) โ go forth and register those series, you absolute icon ๐โจ
๐ฆ where this page comes from
- ubuntu resolute: mia-tools 2.4.7-18 ยท GPL-3.0-or-later
- ubuntu stonking: mia-tools 2.4.7-19build1 ยท 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