mia-3dflui...gistration(1)
π mia-3dfluid-syn-registration π
okay so bestie, welcome to the General Commands Manual page for mia-3dfluid-syn-registration, and I am so excited to walk you through it π this one is a whole journey, so grab a snack, we're doing this properly.
β¨ NAME β¨
mia-3dfluid-syn-registration β non-linear registration of 3D images by using a diffeomorphic SyN registration π¦
πΈ SYNOPSIS πΈ
mia-3dfluid-syn-registration -i <in-image> -r <ref-image> -o <transform>
-O <inverse-transform> [options]
literally just feed it your two images and it hands you back transforms, no cap β¨
π DESCRIPTION π
so mia-3dfluid-syn-registration is the program that implements the registration of two gray scale 3D images. the transformation it applies is a symmeric diffeomorpic fluid dynamic registration β yes, symmetric, diffeomorphic, fluid, dynamic, all of it, the whole vibe π
and listen, to work most efficiently, this program makes a few assumptions about the imput data, so let me put those front and center:
the image must be of the same size, have the same voxel spacing, and any intensity range normalization or equalization should also be done before calling this program.
so do your homework first, bestie, the program is not gonna do it for you π
π OPTIONS π
π«Ά Help & Info π«Ά
-V,--verbose=warningβ verbosity of output, print messages of given level and higher priorities. 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
π IO π
-i,--in-image=(input, required); ioβ test image For supported file types seePLUGINS:3dimage/io-r,--ref-image=(input, required); ioβ reference image For supported file types seePLUGINS:3dimage/io-o,--transform=(output, required); ioβ output transformation For supported file types seePLUGINS:3dtransform/io-O,--inverse-transform=(output, required); ioβ inverse output transformation For supported file types seePLUGINS:3dtransform/io
π Processing π
--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). let it cook on auto if you're unsure, fr fr π₯
π Registration π
-l,--mg-levels=3β Number of multi-resolution levels to run the registration on. Not that some registration parameters can be given as a coma seperated list to indicate per level values. In these cases if the number of given values is smaller than the number of multi-resolution levels (this parameter), the the last given value is used for all subsequest multi-resolution levels. πͺ-S,--step=0.25; float in (0, 0.5]β Initial step size for all levels-c,--cost=ssdβ Image similarity function to be minimized For supported plugins seePLUGINS:3dimage/cost-R,--regularizer=sor:kernel=fluid,maxiter=50β Regularization for the force to transformation update For supported plugins seePLUGINS:3dvf/regularizer-T,--conv-test-interval=; vuint in [4, 40]β Convergence test interations intervall: In order to measure convergence the cost function value is averaged over this amount of iterations, and the decline rate is evaluated based on the linare regression of the cost function values in this intervall. This parameter can be given as a coma-seperated list with values corresponding to the multi-resolution levels, see option--mg-levelsfor more information. π-D,--stop-decline-rate=; vdouble in [0, inf)β Stopping criterium for registration based on the cost decline rate. If the rate below this value, the iteration is stopped. This parameter can be given as a coma-seperated list with values corresponding to the multi-resolution levels, see option--mg-levelsfor more information. π-C,--stop-cost=β Stopping criterium for registration based on the cost value. If the cost drops below this value, the iteration is stopped. This parameter can be given as a coma-seperated list with values corresponding to the multi-resolution levels, see option--mg-levelsfor more information.-I,--iter=; vuint in [4, inf)β Naximum number if iterations done on each multi-resolution level. This parameter can be given as a coma-seperated list with values corresponding to the multi-resolution levels, see option--mg-levelsfor more information. π
π§ 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: 3dimage/cost π
lnccβ local normalized cross correlation with masking support., supported parameters are:w = 5; uint in [1, 256]β half width of the window used for evaluating the localized cross correlation.
miβ Spline parzen based mutual information., supported parameters are:cut = 0; float in [0, 40]β Percentage of pixels to cut at high and low intensities to remove outliers.mbins = 64; uint in [1, 256]β Number of histogram bins used for the moving image.mkernel = [bspline:d=3]; factoryβ Spline kernel for moving image parzen hinstogram. For supported plug-ins seePLUGINS:1d/splinekernelrbins = 64; uint in [1, 256]β Number of histogram bins used for the reference image.rkernel = [bspline:d=0]; factoryβ Spline kernel for reference image parzen hinstogram. For supported plug-ins seePLUGINS:1d/splinekernel
nccβ normalized cross correlation. (no parameters) β yeah bestie, this one just vibes, nothing to configure π«Άngfβ This function evaluates the image similarity based on normalized gradient fields. Given normalized gradient fields$ _S$of the src image and$ _R$of the ref image various evaluators are implemented., supported parameters are:eval = ds; dictβ plugin subtype (sq,ds,dot,cross). Supported values are:dsβ square of scaled differencedotβ scalar product kernelcrossβ cross product kernel
ssdβ 3D image cost: sum of squared differences, supported parameters are:autothresh = 0; float in [0, 1000]β Use automatic masking of the moving image by only takeing intensity values into accound that are larger than the given threshold.norm = 0; boolβ Set whether the metric should be normalized by the number of image pixels.
ssd-automaskβ 3D image cost: sum of squared differences, with automasking based on given thresholds, supported parameters are:rthresh = 0; doubleβ Threshold intensity value for reference image.sthresh = 0; doubleβ Threshold intensity value for source image.
π¦ PLUGINS: 3dimage/io π¦
okay bestie, this is the whole roster of image-format plugins, like a little friend group of file readers and writers. each one's got its own vibe, its own extensions, its own element types. let's meet them π
πΈ analyze β Analyze 7.5 image
- Recognized file extensions:
.HDR,.hdr - Supported element types:
unsigned 8 bitsigned 16 bitsigned 32 bitfloating point 32 bitfloating point 64 bit
π datapool β Virtual IO to and from the internal data pool
- Recognized file extensions:
.@
β¨ dicom β Dicom image series as 3D
- Recognized file extensions:
.DCM,.dcm - Supported element types:
signed 16 bitunsigned 16 bit
π hdf5 β HDF5 3D image IO
- Recognized file extensions:
.H5,.h5 - Supported element types:
binary datasigned 8 bitunsigned 8 bitsigned 16 bitunsigned 16 bitsigned 32 bitunsigned 32 bitsigned 64 bitunsigned 64 bitfloating point 32 bitfloating point 64 bit
π inria β INRIA image
- Recognized file extensions:
.INR,.inr - Supported element types:
signed 8 bitunsigned 8 bitsigned 16 bitunsigned 16 bitsigned 32 bitunsigned 32 bitfloating point 32 bitfloating point 64 bit
π«Ά mhd β MetaIO 3D image IO using the VTK implementation (experimental).
heads up bestie, this one is experimental β it's still in its main character development arc, so treat it gently π«Ά
- Recognized file extensions:
.MHA,.MHD,.mha,.mhd - Supported element types:
signed 8 bitunsigned 8 bitsigned 16 bitunsigned 16 bitsigned 32 bitunsigned 32 bitfloating point 32 bitfloating point 64 bit
π nifti β NIFTI-1 3D image IO.
and here's the tea on this one: The orientation is transformed in the same way like it is done with 'dicomtonifti --no-reorder' from the vtk-dicom package. no cap, that's exactly how it goes down.
- Recognized file extensions:
.NII,.nii - Supported element types:
signed 8 bitunsigned 8 bitsigned 16 bitunsigned 16 bitsigned 32 bitunsigned 32 bitsigned 64 bitunsigned 64 bitfloating point 32 bitfloating point 64 bit
π vff β VFF Sun raster format
- Recognized file extensions:
.VFF,.vff - Supported element types:
unsigned 8 bitsigned 16 bit
π vista β Vista 3D
- Recognized file extensions:
.-,.V,.VISTA,.v,.vista - Supported element types:
binary datasigned 8 bitunsigned 8 bitsigned 16 bitunsigned 16 bitsigned 32 bitunsigned 32 bitfloating point 32 bitfloating point 64 bit
π¦ vti β 3D image VTK-XML in- and output (experimental).
again with the experimental label, so like, don't build your whole personality on it yet π
- Recognized file extensions:
.VTI,.vti - Supported element types:
signed 8 bitunsigned 8 bitsigned 16 bitunsigned 16 bitsigned 32 bitunsigned 32 bitfloating point 32 bitfloating point 64 bit
β vtk β 3D VTK image legacy in- and output (experimental).
yep, experimental too. legacy + experimental is giving "vintage but also unpredictable" π
- Recognized file extensions:
.VTK,.VTKIMAGE,.vtk,.vtkimage - Supported element types:
signed 8 bitunsigned 8 bitsigned 16 bitunsigned 16 bitsigned 32 bitunsigned 32 bitfloating point 32 bitfloating point 64 bit
π§ PLUGINS: 3dtransform/io π§
the transformation-file squad. these are the ones that read and write your 3D transformations, slay π
bbs β Binary (non-portable) serialized IO of 3D transformations
- Recognized file extensions:
.bbs
datapool β Virtual IO to and from the internal data pool
- Recognized file extensions:
.@
vista β Vista storage of 3D transformations
- Recognized file extensions:
.v,.v3dt
xml β XML serialized IO of 3D transformations
- Recognized file extensions:
.x3dt
π₯ PLUGINS: 3dvf/regularizer π₯
sor
This plugin implements successive (over-)relaxation as a solver to regularize the vector field., supported parameters are:
abs_f = 0.01; float in [0, inf)β breaking condition: absolute residuum.kernel = fluid; factoryβ solver kernel to be used. For supported plug-ins see PLUGINS:3dvf/regularizerkernelmaxiter = 100; uint in [0, inf)β maximum number of iterations.rel_f = 1e-05; float in (0, 1)β breaking condition: relative residuum.
π« PLUGINS: 3dvf/regularizerkernel π«
fluid
Evaluation kernel for the fluid-dynamics solver, either using successive (over-)relaxation, or a Gauss-Southwell relaxation. This implementation is generic and doesn't implement any architecture specific optimizations., supported parameters are:
lambda = 1; float in [0, 10000]β bulk viscosity (compressibility).mu = 1; float in (0, 10000]β dynamic viscosity (shear).relax = 1; float in [0.1, 2]β Relaxation parameter for the solver.
π EXAMPLE π
Register image test.v to image ref.v saving the transformation to transform.v and the inverse transform to inverse-transform.v. Use three multiresolution levels, ssd as image cost function.
mia-3dfluid-syn-registration -i test.v -r ref.v -t transform.v -T
inverse-transform.v -l 3 ssd
like, look at her go. registering, transforming, inverse-transforming, three levels deep. main character energy fr fr π
βοΈ 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.
bestie, the "ABSOLUTELY NO WARRANTY" is in all caps for a reason. it means it. π
okay that's the whole page, you made it to the end, iconic behavior honestly π this was v2.4.7 of the USER COMMANDS section, the mia-3dflui...gistration(1) page, and you're officially done. go register something, you've earned it πβ¨
π¦ 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