Deletions are marked like this. | Additions are marked like this. |
Line 14: | Line 14: |
mri_robust_register - computes symmetric robust registration of two volumes | mri_robust_register - computes symmetric robust registration of two volumes (within modality) |
Line 29: | Line 29: |
|| - -satit || automatic saturation || determine outlier sensitivity from image (recommended for head/brain scans) || If a non-robust approach ( - -leastsquares ) is used, - -satit is not necessary. The saturation can alternatively be manually specified by - -sat <float> (see below), which can be usefull when dealing with different input volumes (not head or full brain). |
|
Line 31: | Line 34: |
|| - -sat <float> || saturation || manually set outlier sensitivity instead of - -satit (e.g. - - sat 4.685, higher values mean less sensitivity) || | |
Line 39: | Line 43: |
|| - -iscaleout <iscale.txt> || iscale output || specify filename for final intensity scale (only with --iscale), default if not specified is: <m2d>-intensitiy.txt (where <m2d> is the - -lta registration name) || | |
Line 40: | Line 45: |
|| - -transform <x.lta> || initial xform || use initial transform lta on source ('id'=identity), default is geometry (RAS2VOX_dst * VOX2RAS_mov)|| | || - -transform <x.lta> || initial xform || use initial transform lta on source ('id'=identity), default is to align center using moments|| |
Line 42: | Line 47: |
|| - -noinit || skip initialization || skip aligning centers (which is default) || | |
Line 45: | Line 51: |
|| - -highit <#> || max iterations || iterate max # times on highest resolution (default 5)|| | |
Line 46: | Line 53: |
|| - -nomulti || no multiscale || work on highest resolution || || - -sat <float> || saturation || set saturation for robust estimator (default 4.685) || |
|| - -nomulti || no multiscale || work on highest resolution (no multiscale)|| || - -wlimit <float> || outlier limit || set maximal center weighted outlier limit in satit (you need to know what you are doing)|| |
Line 49: | Line 56: |
|| - -doubleprec || precision type || use double precision internally (high memory usage!!!), default is float|| | |
Line 51: | Line 59: |
|| - -uchar || convert to uchar ||set volumes type to UCHAR (with intens. scaling) || || - -conform || conform volumes ||conform volumes to 1mm vox (256^3) || || - -satit || for testing ||iterate on highest res with different sat, for testing only || |
|| - -floattype || image type || convert input volumes to float for processing (default keep input type) || |
Line 55: | Line 61: |
|| - -verbose || talkativiy || 0 quiet, 1 normal (default), 2 detail || | |
Line 58: | Line 65: |
= Important Note = This webpage describes the version of mri_robust_register that is distributed with FreeSurfer 5.0. We encourage the use of that version or possible newer versions, that can be downloaded [[http://reuter.mit.edu/index.php/software/robust/|here]]. |
|
Line 63: | Line 73: |
'''Important Note''': if the registration looks wrong, try to switch on ''intensity scaling'' (--iscale). Still the registration can fail if the images contain, for example, non linear differences. In these cases the default saturation value is too low and too many voxels are considered outlier early in the process. You can check this by outputting the weights (--weights ow.mgz) and by looking at them in tkmedit: |
'''If the registration fails''': The registration can fail because of several reasons, most likeley due to large intensity differences or non-linear differences in the image. You can try: * Switch on ''intensity scaling'' ( - -iscale). * When specifying a manual saturation (- -sat) too many voxels might be considered outlier early in the process. You can check this by outputing the weights (--weights ow.mgz) and by looking at them in: |
Line 65: | Line 79: |
tkmedit -f dst.mgz -aux mov.mgz -overlay ow.mgz | tkmedit -f dst.mgz -aux mov.mgz -overlay ow.mgz |
Line 67: | Line 81: |
If most of the brain is considered outlier, try to set the ''saturation'' --sat to a higher value (eg. --sat 12). |
If most of the brain is labeled outlier, try to set the saturation to a higher value (eg. --sat 12) or use --satit to automatically determine a good sat value. * When using automatic saturation estimation ( - -satit) you can try specifying the sensitivity manually or twiddle around with - -wlimit (which is around 0.16 by default). A lower wlimit should reduce the number of outlier voxels. |
Line 86: | Line 102: |
Computes the rigid robust registration with intensity scaling of vol1 to vol2 (the registration will be in v1to2.lta). Additionally outputs the half-way volumes h1 and h2 (with corresponding transforms h1.lta and h2.lta). As both volumes are mapped to the half-way space, they will both be resampled. This can be used to construct an unbiased mean volume (e.g. with [[mri_average]]) or to compute change maps. The output can be view with: | Computes the rigid robust registration with intensity scaling of vol1 to vol2 (the registration will be in v1to2.lta). Additionally outputs the half-way volumes h1 and h2 (with corresponding transforms h1.lta and h2.lta). As both volumes are mapped to the half-way space, they will both be resampled. This can be used to construct an unbiased mean volume (e.g. with [[mri_average]]) or to compute change maps. The output can be viewed with: |
Line 100: | Line 116: |
= Methods Description = {{{ description description }}} |
|
Line 108: | Line 118: |
[[http://reuter.mit.edu/lcount/click.php?id=13|Highly Accurate Inverse Consistent Registration: A Robust Approach]], M. Reuter, H.D. Rosas, B. Fischl. NeuroImage, in Press, July 2010. | |
Line 110: | Line 121: |
Report bugs to <analysis-bugs@nmr.mgh.harvard.edu> | Report bugs to <freesurfer@nmr.mgh.harvard.edu> |
Index
Contents
Name
mri_robust_register - computes symmetric robust registration of two volumes (within modality)
Synopsis
mri_robust_register --mov <mov.mgz> --dst <dst.mgz> --lta <m2d.lta> [options]
Arguments
Positional Arguments
No positional arguments
Required Flagged Arguments
- -mov <mov.mgz> |
movable input (source) |
source volume as mgz file to be registered |
- -dst <dst.mgz> |
destination input (target) |
target volume as mgz file for the registration |
- -lta <m2d.lta> |
transform output |
gives the xform as lta file (mov to dst) |
- -satit |
automatic saturation |
determine outlier sensitivity from image (recommended for head/brain scans) |
If a non-robust approach ( - -leastsquares ) is used, - -satit is not necessary. The saturation can alternatively be manually specified by - -sat <float> (see below), which can be usefull when dealing with different input volumes (not head or full brain).
Optional Flagged Arguments
- -sat <float> |
saturation |
manually set outlier sensitivity instead of - -satit (e.g. - - sat 4.685, higher values mean less sensitivity) |
- -warp <outvol.mgz> |
warped mov |
apply final xform to source, write to outvol.mgz |
- -weights <wvol.mgz> |
final weights |
output weights transformed to target space as wvol.mgz |
- -halfmov <hm.mgz> |
half-way mov |
outputs half-way mov (mapped to halfway space) |
- -halfdst <hd.mgz> |
half-way dst |
outputs half-way dst (mapped to halfway space) |
- -halfweights <hw.mgz> |
half-way weights |
outputs half-way weights (mapped to halfway space) |
- -halfmovlta <hm.lta> |
half-way mov lta |
outputs transform from mov to half-way space |
- -halfdstlta <hd.lta> |
half-way dst lta |
outputs transform from dst to half-way space |
- -iscale |
intensity scaling |
estimate intensity scale factor (default no I-scaling) |
- -iscaleout <iscale.txt> |
iscale output |
specify filename for final intensity scale (only with --iscale), default if not specified is: <m2d>-intensitiy.txt (where <m2d> is the - -lta registration name) |
- -transonly |
only translation |
find 3 parameter translation only |
- -transform <x.lta> |
initial xform |
use initial transform lta on source ('id'=identity), default is to align center using moments |
- -initorient |
initial orientation |
use moments for orientation initialization (default false), (recommended for stripped brains, but has difficulties with full head images with different cropping) |
- -noinit |
skip initialization |
skip aligning centers (which is default) |
- -vox2vox |
output VOX2VOX |
output VOX2VOX lta file (default is RAS2RAS) |
- -leastsquares |
non-robust |
use least squares instead of robust M-estimator (not recommended, for testing only) |
- -maxit <#> |
max iterations |
iterate max # times on each resolution (default 5) |
- -highit <#> |
max iterations |
iterate max # times on highest resolution (default 5) |
- -epsit <float> |
eps change |
stop iterations when change below <float> (default 0.01) |
- -nomulti |
no multiscale |
work on highest resolution (no multiscale) |
- -wlimit <float> |
outlier limit |
set maximal center weighted outlier limit in satit (you need to know what you are doing) |
- -subsample <#> |
subsample image |
subsample if dim > # on all axes (default no subsampling) |
- -doubleprec |
precision type |
use double precision internally (high memory usage!!!), default is float |
- -maskmov <mask.mgz> |
apply mask mov |
mask mov/src with mask.mgz |
- -maskdst <mask.mgz> |
apply mask dst |
mask dst/target with mask.mgz |
- -floattype |
image type |
convert input volumes to float for processing (default keep input type) |
- -debug |
print debug info |
show debug output (default no debug output) |
- -verbose |
talkativiy |
0 quiet, 1 normal (default), 2 detail |
Outputs
See above
Important Note
This webpage describes the version of mri_robust_register that is distributed with FreeSurfer 5.0. We encourage the use of that version or possible newer versions, that can be downloaded here.
Description
This program symmetrically aligns two volumes. It uses a method based on robust statistics to detect outliers and removes them from the registration. This leads to highly accurate registrations even with local changes in the image (e.g. jaw movement). The main purpose is to find the rigid registration (translation, rotation) of longitudinal data, but the method can be used to rigidly align different images. An additional optional intensity scale parameter can be used to adjust for global intensity differences. The extension to affine registration is being tested.
If the registration fails: The registration can fail because of several reasons, most likeley due to large intensity differences or non-linear differences in the image. You can try:
Switch on intensity scaling ( - -iscale).
- When specifying a manual saturation (- -sat) too many voxels might be considered outlier early in the process.
You can check this by outputing the weights (--weights ow.mgz) and by looking at them in:
tkmedit -f dst.mgz -aux mov.mgz -overlay ow.mgz
If most of the brain is labeled outlier, try to set the saturation to a higher value (eg. --sat 12) or use --satit to automatically determine a good sat value.
- When using automatic saturation estimation ( - -satit) you can try specifying the sensitivity manually or twiddle around with - -wlimit (which is around 0.16 by default). A lower wlimit should reduce the number of outlier voxels.
Examples
Example 1
mri_robust_register --mov vol1.mgz --dst vol2.mgz --lta v1to2.lta --warp v1to2.mgz --weights v1to2-weights.mgz --iscale
Computes the rigid registration (6 degrees of freedom) of vol1.mgz to vol2.mgz using robust statistics and with an additional 7th global intensity scaling parameter (recommended e.g. for orig.mgz). The output is the transform (v1to2.lta) and v1to2.mgz (the aligned vol1.mgz to the target image). Additionally the weights of the robust registation (outlier detection) are saved. Everything can be viewed in tkmedit with:
tkmedit -f vol2.mgz -aux v1to2.mgz -overlay v1to2-weights.mgz
Example 2
mri_robust_register --mov vol1.mgz --dst vol2.mgz --lta v1to2.lta --halfmov h1.mgz --halfdst h2.mgz --halfmovlta h1.lta --halfdstlta h2.lta --iscale
Computes the rigid robust registration with intensity scaling of vol1 to vol2 (the registration will be in v1to2.lta). Additionally outputs the half-way volumes h1 and h2 (with corresponding transforms h1.lta and h2.lta). As both volumes are mapped to the half-way space, they will both be resampled. This can be used to construct an unbiased mean volume (e.g. with mri_average) or to compute change maps. The output can be viewed with:
tkmedit -f h1.mgz -aux h2.mgz
Bugs
None (of course)
See Also
Links
References
Highly Accurate Inverse Consistent Registration: A Robust Approach, M. Reuter, H.D. Rosas, B. Fischl. NeuroImage, in Press, July 2010.
Reporting Bugs
Report bugs to <freesurfer@nmr.mgh.harvard.edu>