mia-2dmyoica-nonrigid2 {-i string} {-o string} [ options ...]


This program runs the non-rigid registration of an perfusion image series.In each pass, first an ICA analysis is run to estimate and eliminate the periodic movement and create reference images with intensities similar to the corresponding original image. Then non-rigid registration is run using the an "ssd + divcurl" cost model. The B-spline c-rate and the divcurl cost weight are changed in each pass according to given parameters.In the first pass a bounding box around the LV myocardium may be extractedto speed up computation Special note to this implemnentation: the registration is always run from the original images to avoid the accumulation of interpolation errors.



-i, --in-file=(input, required); string

input perfusion data set

-o, --out-file=(output, required); string

output perfusion data set

-r, --registered=reg; stringSTRING

file name base for registered fiels


save cropped set to this file


save segmentation feature images and initial ICA mixing matrix


-C, --components=0; ulong

ICA components 0 = automatic estimation


don't normalized ICs


don't strip the mean from the mixing curves

-s, --segscale=0; float

segment and scale the crop box around the LV (0=no segmentation)

-k, --skip=0; ulong

skip images at the beginning of the series e.g. because as they are of other modalities

-m, --max-ica-iter=400; ulong

maximum number of iterations in ICA

-E, --segmethod=features; dict

Segmentation method

delta-peak:difference of the peak enhancement images
features:feature images
delta-feature:difference of the feature images


-O, --optimizer=gsl:opt=gd,step=0.1; factory

Optimizer used for minimization. For supported plug-ins see Plugin type: minimizer/singlecost

-a, --start-c-rate=32; double

start coefficinet rate in spines, gets divided by --c-rate-divider with every pass

--c-rate-divider=4; double

cofficient rate divider for each pass

-d, --start-divcurl=20; double

start divcurl weight, gets divided by --divcurl-divider with every pass

--divcurl-divider=4; double

divcurl weight scaling with each new pass

-w, --imageweight=1; double

image cost weight

-p, --interpolator=bspline:d=3; factory

image interpolator kernel. For supported plug-ins see Plugin type: 1d/splinekernel

-l, --mg-levels=3; ulong

multi-resolution levels

-P, --passes=3; ulong

registration passes

Help & Info

-V, --verbose=warning; dict

verbosity of output, print messages of given level and higher priorities. Supported priorities starting at lowest level are:

info:Low level messages
trace:Function call trace
fail:Report test failures
error:Report errors
debug:Debug output
message:Normal messages
fatal:Report only fatal errors
--copyright=(); bool

print copyright information

-h, --help=(); bool

print this help

-?, --usage=(); bool

print a short help

--version=(); bool

print the version number and exit


--threads=-1; int

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).


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-2dmyoica-nonrigid2   -i segment.set -o registered.set -k 2


Gert Wollny