| Usage Information |
| ImageDimension: 2 or 3 (for 2 or 3 dimensional operations). |
| ImageDimension: 4 (for operations on 4D file, e.g. time-series data). |
| Operator: See list of valid operators below. |
| The last two arguments can be an image or float value |
| NB: Some options output text files |
|
|
| Mathematical Operations: |
| m : Multiply --- use vm for vector multiply |
| + : Add --- use v+ for vector add |
| - : Subtract --- use v- for vector subtract |
| / : Divide |
| ^ : Power |
| max : voxelwise max |
| exp : Take exponent exp(imagevalue*value) |
| addtozero : add image-b to image-a only over points where image-a has zero values |
| overadd : replace image-a pixel with image-b pixel if image-b pixel is non-zero |
| abs : absolute value |
| total : Sums up values in an image or in image1*image2 (img2 is the probability mask) |
| mean : Average of values in an image or in image1*image2 (img2 is the probability mask) |
| vtotal : Sums up volumetrically weighted values in an image or in image1*image2 (img2 is the probability mask) |
| Decision : Computes result=1./(1.+exp(-1.0*( pix1-0.25)/pix2)) |
| Neg : Produce image negative |
| |
| Spatial Filtering: |
| Project Image1.ext axis-a which-projection : Project an image along axis a, which-projection=0(sum, 1=max, 2=min) |
| G Image1.ext s : Smooth with Gaussian of sigma = s |
| MD Image1.ext s : Morphological Dilation with radius s |
| ME Image1.ext s : Morphological Erosion with radius s |
| MO Image1.ext s : Morphological Opening with radius s |
| MC Image1.ext s : Morphological Closing with radius s |
| GD Image1.ext s : Grayscale Dilation with radius s |
| GE Image1.ext s : Grayscale Erosion with radius s |
| GO Image1.ext s : Grayscale Opening with radius s |
| GC Image1.ext s : Grayscale Closing with radius s |
| BlobDetector Image1.ext NumberOfBlobsToExtract Optional-Input-Image2 Blob-2-out.nii.gz N-Blobs-To-Match : blob detection by searching for local extrema of the Laplacian of the Gassian (LoG) |
| Example matching 6 best blobs from 2 images: |
| ImageMath 2 blob.nii.gz BlobDetector image1.nii.gz 1000 image2.nii.gz blob2.nii.gz 6 |
| MatchBlobs Image1.ext Image1LM.ext Image2.ext |
| |
| |
| Transform Image: |
| Translate InImage.ext x [ y z ] |
| |
| Time Series Operations: |
| CompCorrAuto : Outputs a csv file containing global signal vector and N comp-corr eigenvectors determined from PCA of the high-variance voxels. Also outputs a comp-corr + global signal corrected 4D image as well as a 3D image measuring the time series variance. Requires a label image with label 1 identifying voxels in the brain. |
| ImageMath 4 ${out}compcorr.nii.gz ThreeTissueConfounds ${out}.nii.gz ${out}seg.nii.gz 1 3 : Outputs average global, CSF and WM signals. Requires a label image with 3 labels , csf, gm , wm . |
| Usage : ThreeTissueConfounds 4D_TimeSeries.nii.gz LabeLimage.nii.gz csf-label wm-label |
| TimeSeriesSubset : Outputs n 3D image sub-volumes extracted uniformly from the input time-series 4D image. |
| Usage : TimeSeriesSubset 4D_TimeSeries.nii.gz n |
| TimeSeriesDisassemble : Outputs n 3D image volumes for each time-point in time-series 4D image. |
| Usage : TimeSeriesDisassemble 4D_TimeSeries.nii.gz |
| |
| TimeSeriesAssemble : Outputs a 4D time-series image from a list of 3D volumes. |
| Usage : TimeSeriesAssemble time_spacing time_origin *images.nii.gz |
| TimeSeriesToMatrix : Converts a 4D image + mask to matrix (stored as csv file) where rows are time and columns are space . |
| Usage : TimeSeriesToMatrix 4D_TimeSeries.nii.gz mask |
| TimeSeriesSimpleSubtraction : Outputs a 3D mean pair-wise difference list of 3D volumes. |
| Usage : TimeSeriesSimpleSubtraction image.nii.gz |
| TimeSeriesSurroundSubtraction : Outputs a 3D mean pair-wise difference list of 3D volumes. |
| Usage : TimeSeriesSurroundSubtraction image.nii.gz |
| TimeSeriesSincSubtraction : Outputs a 3D mean pair-wise difference list of 3D volumes. |
| Usage : TimeSeriesSincSubtraction image.nii.gz |
| SplitAlternatingTimeSeries : Outputs 2 3D time series |
| Usage : SplitAlternatingTimeSeries image.nii.gz |
| ComputeTimeSeriesLeverage : Outputs a csv file that identifies the raw leverage and normalized leverage for each time point in the 4D image. leverage, here, is the difference of the time-point image from the average of the n images. the normalized leverage is = average( sum_k abs(Leverage(t)-Leverage(k)) )/Leverage(t). |
| Usage : ComputeTimeSeriesLeverage 4D_TimeSeries.nii.gz k_neighbors |
| SliceTimingCorrection : Outputs a slice-timing corrected 4D time series |
| Usage : SliceTimingCorrection image.nii.gz sliceTiming [sinc / bspline] [sincRadius=4 / bsplineOrder=3] |
| PASL : computes the PASL model of CBF |
| f = |
| rac{ lambda DeltaM } |
| { 2 alpha M_0 TI_1 exp( - TI_2 / T_{1a} ) } |
| Usage : PASL 3D/4D_TimeSeries.nii.gz BoolFirstImageIsControl M0Image parameter_list.txt |
| pCASL : computes the pCASL model of CBF |
| f = |
| rac{ lambda DeltaM R_{1a} } |
| { 2 alpha M_0 [ exp( - w R_{1a} ) - exp( -w ( au + w ) R_{1a}) ] } |
| Usage : pCASL 3D/4D_TimeSeries.nii.gz parameter_list.txt |
| PASLQuantifyCBF : Outputs a 3D CBF image in ml/100g/min from a magnetization ratio image |
| Usage : PASLQuantifyCBF mag_raants.nii.gz [TI1=700] [TI2=1900] [T1blood=1664] [Lambda=0.9] [Alpha=0.95] [SliceDelay-45] |
| |
| Tensor Operations: |
| 4DTensorTo3DTensor : Outputs a 3D_DT_Image with the same information. |
| Usage : 4DTensorTo3DTensor 4D_DTImage.ext |
| ComponentTo3DTensor : Outputs a 3D_DT_Image with the same information as component images. |
| Usage : ComponentTo3DTensor component_image_prefix[xx,xy,xz,yy,yz,zz] extension |
| ExtractComponentFrom3DTensor : Outputs a component images. |
| Usage : ExtractComponentFrom3DTensor dtImage.ext which={xx,xy,xz,yy,yz,zz} |
| ExtractVectorComponent: Produces the WhichVec component of the vector |
| Usage : ExtractVectorComponent VecImage WhichVec |
| TensorColor : Produces RGB values identifying principal directions |
| Usage : TensorColor DTImage.ext |
| TensorFA : |
| Usage : TensorFA DTImage.ext |
| TensorFADenominator : |
| Usage : TensorFADenominator DTImage.ext |
| TensorFANumerator : |
| Usage : TensorFANumerator DTImage.ext |
| TensorIOTest : Will write the DT image back out ... tests I/O processes for consistency. |
| Usage : TensorIOTest DTImage.ext |
| TensorMeanDiffusion : Mean of the eigenvalues |
| Usage : TensorMeanDiffusion DTImage.ext |
| TensorRadialDiffusion : Mean of the two smallest eigenvalues |
| Usage : TensorRadialDiffusion DTImage.ext |
| TensorAxialDiffusion : Largest eigenvalue, equivalent to TensorEigenvalue DTImage.ext 2 |
| Usage : TensorAxialDiffusion DTImage.ext |
| TensorEigenvalue : Gets a single eigenvalue 0-2, where 0 = smallest, 2 = largest |
| Usage : TensorEigenvalue DTImage.ext WhichInd |
| TensorToVector : Produces vector field identifying one of the principal directions, 2 = largest eigenvalue |
| Usage : TensorToVector DTImage.ext WhichVec |
| TensorToVectorComponent: 0 => 2 produces component of the principal vector field (largest eigenvalue). 3 = 8 => gets values from the tensor |
| Usage : TensorToVectorComponent DTImage.ext WhichVec |
| TensorMask : Mask a tensor image, sets background tensors to zero or to isotropic tensors with specified mean diffusivity |
| Usage : TensorMask DTImage.ext mask.ext [ backgroundMD = 0 ] |
| FuseNImagesIntoNDVectorField : Create ND field from N input scalar images |
| Usage : FuseNImagesIntoNDVectorField imagex imagey imagez |
| |
| Label Fusion: |
| MajorityVoting : Select label with most votes from candidates |
| Usage: MajorityVoting LabelImage1.nii.gz .. LabelImageN.nii.gz |
| CorrelationVoting : Select label with local correlation weights |
| Usage: CorrelationVoting Template.ext IntenistyImages* LabelImages* {Optional-Radius=5} |
| STAPLE : Select label using STAPLE method |
| Usage: STAPLE confidence-weighting LabelImages* |
| Note: Gives probabilistic output (float) |
| MostLikely : Select label from from maximum probabilistic segmentations |
| Usage: MostLikely probabilityThreshold ProbabilityImages* |
| AverageLabels : Select label using STAPLE method |
| Usage: AverageLabels LabelImages* |
| Note: Gives probabilistic output (float) |
| |
| Image Metrics & Info: |
| PearsonCorrelation: r-value from intesities of two images |
| Usage: PearsonCorrelation image1.ext image2.ext {Optional-mask.ext} |
| NeighborhoodCorrelation: local correlations |
| Usage: NeighborhoodCorrelation image1.ext image2.ext {Optional-radius=5} {Optional-image-mask} |
| NormalizedCorrelation: r-value from intesities of two images |
| Usage: NormalizedCorrelation image1.ext image2.ext {Optional-image-mask} |
| Demons: |
| Usage: Demons image1.ext image2.ext |
| Mattes: mutual information |
| Usage: Mattes image1.ext image2.ext {Optional-number-bins=32} {Optional-image-mask} |
| |
| Unclassified Operators: |
| ReflectionMatrix : Create a reflection matrix about an axis |
| out.mat ReflectionMatrix image_in axis |
| |
| MakeAffineTransform : Create an itk affine transform matrix |
| ClosestSimplifiedHeaderMatrix : does what it says ... image-in, image-out |
| Byte : Convert to Byte image in [0,255] |
| |
| CompareHeadersAndImages: Tries to find and fix header errors. Outputs a repaired image with new header. |
| Never use this if you trust your header information. |
| Usage : CompareHeadersAndImages Image1 Image2 |
| |
| ConvertImageSetToMatrix: Each row/column contains image content extracted from mask applied to images in *img.nii |
| Usage : ConvertImageSetToMatrix rowcoloption Mask.nii *images.nii |
| ConvertImageSetToMatrix output can be an image type or csv file type. |
| |
| RandomlySampleImageSetToCSV: N random samples are selected from each image in a list |
| Usage : RandomlySampleImageSetToCSV N_samples *images.nii |
| RandomlySampleImageSetToCSV outputs a csv file type. |
| |
| FrobeniusNormOfMatrixDifference: take the difference between two itk-transform matrices and then compute the frobenius norm |
| Usage : FrobeniusNormOfMatrixDifference mat1 mat2 |
| |
| ConvertImageSetToEigenvectors: Each row/column contains image content extracted from mask applied to images in *img.nii |
| Usage : ConvertImageSetToEigenvectors N_Evecs Mask.nii *images.nii |
| ConvertImageSetToEigenvectors output will be a csv file for each label value > 0 in the mask. |
| |
| ConvertImageToFile : Writes voxel values to a file |
| Usage : ConvertImageToFile imagevalues.nii {Optional-ImageMask.nii} |
| |
| ConvertLandmarkFile : Converts landmark file between formats. See ANTS.pdf for description of formats. |
| Usage : ConvertLandmarkFile InFile.txt |
| Example 1 : ImageMath 3 outfile.vtk ConvertLandmarkFile infile.txt |
| |
| ConvertToGaussian : |
| Usage : ConvertToGaussian TValueImage sigma-float |
| |
| ConvertVectorToImage : The vector contains image content extracted from a mask. Here the vector is returned to its spatial origins as image content |
| Usage : ConvertVectorToImage Mask.nii vector.nii |
| |
| CorrelationUpdate : In voxels, compute update that makes Image2 more like Image1. |
| Usage : CorrelationUpdate Image1.ext Image2.ext RegionRadius |
| |
| CountVoxelDifference : The where function from IDL |
| Usage : CountVoxelDifference Image1 Image2 Mask |
| |
| CorruptImage : |
| Usage : CorruptImage Image NoiseLevel Smoothing |
| |
| D : Danielson Distance Transform |
|
|
| MaurerDistance : Maurer distance transform (much faster than Danielson) |
| Usage : MaurerDistance inputImage {foreground=1} |
| |
| DiceAndMinDistSum : Outputs DiceAndMinDistSum and Dice Overlap to text log file + optional distance image |
| Usage : DiceAndMinDistSum LabelImage1.ext LabelImage2.ext OptionalDistImage |
| |
| EnumerateLabelInterfaces: |
| Usage : EnumerateLabelInterfaces ImageIn ColoredImageOutname NeighborFractionToIgnore |
| |
| ClusterThresholdVariate : for sparse estimation |
| Usage : ClusterThresholdVariate image mask MinClusterSize |
| |
| ExtractSlice : Extracts slice number from last dimension of volume (2,3,4) dimensions |
| Usage : ExtractSlice volume.nii.gz slicetoextract |
| |
| FastMarchingSegmentation: final output is the propagated label image. Optional stopping value: higher values allow more distant propagation |
| Usage : FastMarchingSegmentation speed/binaryimagemask.ext initiallabelimage.ext Optional-Stopping-Value |
| |
| FillHoles : Parameter = ratio of edge at object to edge at background; -- |
| Parameter = 1 is a definite hole bounded by object only, 0.99 is close |
| Default of parameter > 1 will fill all holes |
| Usage : FillHoles Image.ext parameter |
| |
| InPaint : very simple inpainting --- assumes zero values should be inpainted |
| Usage : InPaint #iterations |
| |
| PeronaMalik : anisotropic diffusion w/varying conductance param (0.25 in example below) |
| Usage : PeronaMalik image #iterations conductance |
| |
| Convolve : convolve input image with kernel image |
| Usage : Convolve inputImage kernelImage {normalize=1} |
| Finite : replace non-finite values with finite-value (default = 0) |
| Usage : Finite Image.exdt {replace-value=0} |
| |
| LabelSurfaceArea : |
| Usage : LabelSurfaceArea ImageIn {MaxRad-Default=1} |
| |
| FlattenImage : Replaces values greater than %ofMax*Max to the value %ofMax*Max |
| Usage : FlattenImage Image %ofMax |
| |
| GetLargestComponent : Get the largest object in an image |
| Usage : GetLargestComponent InputImage {MinObjectSize} |
| |
| Grad : Gradient magnitude with sigma s (if normalize, then output in range [0, 1]) |
| Usage : Grad Image.ext s normalize? |
| |
| HistogramMatch : |
| Usage : HistogramMatch SourceImage ReferenceImage {NumberBins-Default=255} {NumberPoints-Default=64} {useThresholdAtMeanIntensity=false} |
| |
| RescaleImage : |
| Usage : RescaleImage InputImage min max |
| |
| WindowImage : |
| Usage : WindowImage InputImage windowMinimum windowMaximum outputMinimum outputMaximum |
| |
| NeighborhoodStats : |
| Usage : NeighborhoodStats inputImage whichStat radius whichStat: 1 = min, 2 = max, 3 = variance, 4 = sigma, 5 = skewness, 6 = kurtosis, 7 = entropy |
| |
| InvId : computes the inverse-consistency of two deformations and write the inverse consistency error image |
| Usage : InvId VectorFieldName VectorFieldName |
| |
| ReplicateDisplacement : replicate a ND displacement to a ND+1 image |
| Usage : ReplicateDisplacement VectorFieldName TimeDims TimeSpacing TimeOrigin |
| |
| ReplicateImage : replicate a ND image to a ND+1 image |
| Usage : ReplicateImage ImageName TimeDims TimeSpacing TimeOrigin |
| |
| ShiftImageSlicesInTime : shift image slices by one |
| Usage : ShiftImageSlicesInTime ImageName shift-amount-default-1 shift-dim-default-last-dim |
| |
| LabelStats : Compute volumes / masses of objects in a label image. Writes to text file |
| Usage : LabelStats labelimage.ext valueimage.nii |
| |
| Laplacian : Laplacian computed with sigma s (if normalize, then output in range [0, 1]) |
| Usage : Laplacian Image.ext s normalize? |
| |
| Canny : Canny edge detector |
| Usage : Canny Image.ext sigma lowerThresh upperThresh |
| |
| Lipschitz : Computes the Lipschitz norm of a vector field |
| Usage : Lipschitz VectorFieldName |
| |
| MakeImage : |
| Usage : MakeImage SizeX SizeY {SizeZ}; |
| |
| MTR : Computes the magnetization transfer ratio ( (M0-M1)/M0 ) and truncates values to [0,1] |
| Usage : MTR M0Image M1Image [MaskImage]; |
| |
| Normalize : Normalize to [0,1]. Option instead divides by average value. If opt is a mask image, then we normalize by mean intensity in the mask ROI. |
| Usage : Normalize Image.ext opt |
| |
| PadImage : If Pad-Number is negative, de-Padding occurs |
| Usage : PadImage ImageIn PaddingSize [PaddingVoxelValue=0] |
| |
| SigmoidImage : |
| Usage : SigmoidImage ImageIn [alpha=1.0] [beta=0.0] |
| |
| Sharpen : |
| Usage : Sharpen ImageIn |
| |
| CenterImage2inImage1 : |
| Usage : ReferenceImageSpace ImageToCenter |
| |
| PH : Print Header |
|
|
| PoissonDiffusion : Solves Poisson's equation in a designated region using non-zero sources |
| Usage : PoissonDiffusion inputImage labelImage [sigma=1.0] [regionLabel=1] [numberOfIterations=500] [convergenceThreshold=1e-10] |
| |
| PropagateLabelsThroughMask: Final output is the propagated label image. Optional stopping value: higher values allow more distant propagation |
| Usage : PropagateLabelsThroughMask speed/binaryimagemask.nii.gz initiallabelimage.nii.gz Optional-Stopping-Value 0/1/2 |
| 0/1/2 => 0, no topology constraint, 1 - strict topology constraint, 2 - no handles |
| |
| PValueImage : |
| Usage : PValueImage TValueImage dof |
| |
| RemoveLabelInterfaces: |
| Usage : RemoveLabelInterfaces ImageIn |
| |
| ReplaceVoxelValue: replace voxels in the range [a,b] in the input image with c |
| Usage : ReplaceVoxelValue inputImage a b c |
| |
| ROIStatistics : computes anatomical locations, cluster size and mass of a stat image which should be in the same physical space (but not nec same resolution) as the label image. |
| Usage : ROIStatistics LabelNames.txt labelimage.ext valueimage.nii |
| |
| SetOrGetPixel : |
| Usage : SetOrGetPixel ImageIn Get/Set-Value IndexX IndexY {IndexZ} |
| Example 1 : ImageMath 2 outimage.nii SetOrGetPixel Image Get 24 34; Gets the value at 24, 34 |
| Example 2 : ImageMath 2 outimage.nii SetOrGetPixel Image 1.e9 24 34; This sets 1.e9 as the value at 23 34 |
| You can also pass a boolean at the end to force the physical space to be used |
| |
| SetTimeSpacing : sets spacing for last dimension |
| Usage : SetTimeSpacing Image.ext tspacing |
| |
| SetTimeSpacingWarp : sets spacing for last dimension |
| Usage : SetTimeSpacingWarp Warp.ext tspacing |
| |
| stack : Will put 2 images in the same volume |
| Usage : Stack Image1.ext Image2.ext |
| |
| ThresholdAtMean : See the code |
| Usage : ThresholdAtMean Image %ofMean |
| |
| TileImages : |
| Usage : TileImages NumColumns ImageList* |
| |
| TriPlanarView : |
| Usage : TriPlanarView ImageIn.nii.gz PercentageToClampLowIntensity PercentageToClampHiIntensity x-slice y-slice z-slice |
| |
| TruncateImageIntensity: |
| Usage : TruncateImageIntensity InputImage.ext {lowerQuantile=0.05} {upperQuantile=0.95} {numberOfBins=65} {binary-maskImage} |
| |
| Where : The where function from IDL |
| Usage : Where Image ValueToLookFor maskImage-option tolerance |