QIT Module Library

QIT has many modules available on the command line interface through qit and in the 3D viewer through qitview. This page below provides an index of the publicly available modules.


AffineCompose

Description:

Compose two affine transforms

Required Input Arguments:

  --inner <Affine>      input inner   
  --outer <Affine>      input outer   

Required Output Arguments:

  --output <Affine>      output affine   

Author:

Ryan Cabeen


AffineConvert

Description:

Convert an affine transform between file formats

Required Input Arguments:

  --input <Affine>      input affine   

Required Output Arguments:

  --output <Affine>      output affine   

Author:

Ryan Cabeen


AffineCreate

Description:

Create an affine transform based on user specified parameters

Optional Parameter Arguments:

  --transX <double>      translation in x (Default: 0.0)   
  --transY <double>      translation in y (Default: 0.0)   
  --transZ <double>      translation in z (Default: 0.0)   
  --rotX <double>      rotation axis in x (Default: 0.0)   
  --rotY <double>      rotation axis in y (Default: 0.0)   
  --rotZ <double>      rotation axis in z (Default: 0.0)   
  --rotA <double>      rotation angle (Default: 0.0)   
  --scaleX <double>      scaleCamera in x (Default: 1.0)   
  --scaleY <double>      scaleCamera in y (Default: 1.0)   
  --scaleZ <double>      scaleCamera in z (Default: 1.0)   
  --skewX <double>      skew in x (Default: 0.0)   
  --skewY <double>      skew in y (Default: 0.0)   
  --skewZ <double>      skew in z (Default: 0.0)   

Required Output Arguments:

  --output <Affine>      output affine   

Author:

Ryan Cabeen


AffineInvert

Description:

Invert an affine transform

Required Input Arguments:

  --input <Affine>      input affine   

Required Output Arguments:

  --output <Affine>      output affine   

Author:

Ryan Cabeen


AffinePrintInfo

Description:

Print basic information about an affine transform

Required Input Arguments:

  --input <Affine>      the input affine   

Author:

Ryan Cabeen


AffineReduce

Description:

Reduce an affine transform to a simpler affine transform in one of several possible ways

Required Input Arguments:

  --input <Affine>      an affine transform   

Optional Parameter Arguments:

  --translation       include the translation part   
  --linear       include the linear part   
  --orthogonalize       orthogonalize the linear part   

Required Output Arguments:

  --output <Affine>      output affine   

Author:

Ryan Cabeen


0 [qit] starting analysis 0 [qit] parsing arguments

CurvesAttributeMap

Description:

Compute an attribute map, that is, a volume that represents the most likely value of a given curves attribute for each voxel.

Required Input Arguments:

  --input <Curves>      input curves   

Optional Input Arguments:

  --refvolume <Volume>      input reference volume (exclusive with refmask)   
  --refmask <Mask>      input reference mask (exclusive with refvolume)   

Optional Parameter Arguments:

  --attr <String>      the name of attribute to extract from the curves (Default: attr)   
  --threads <int>      the number of threads (Default: 1)   

Required Output Arguments:

  --output <Volume>      output attribute map   

Optional Output Arguments:

  --outputDensity <Volume>      output density map   
  --outputMask <Mask>      output mask   

Author:

Ryan Cabeen


CurvesAttributes

Description:

Manipulate curves vertex attributes. Operations support comma-delimited lists

Required Input Arguments:

  --input <Curves>      the input curves   

Optional Parameter Arguments:

  --copy <String>      copy attribute (x=y syntax)   
  --rename <String>      rename attribute (x=y syntax)   
  --remove <String>      remove attribute (- for all)   
  --retain <String>      retain the given attributes and remove others)   

Required Output Arguments:

  --output <Curves>      the output curves   

Author:

Ryan Cabeen


CurvesBox

Description:

Compute a bounding box from curves

Required Input Arguments:

  --input <Curves>      input curves   

Required Output Arguments:

  --output <Solids>      output box   

Author:

Ryan Cabeen


CurvesCat

Description:

Concatenate multiple curves datasets to a single larger dataset

Required Input Arguments:

  --a <Curves>      input curves a   

Optional Input Arguments:

  --b <Curves>      input curves b   
  --c <Curves>      input curves c   
  --d <Curves>      input curves d   
  --e <Curves>      input curves e   
  --f <Curves>      input curves f   

Required Output Arguments:

  --output <Curves>      output curves   

Author:

Ryan Cabeen


CurvesCatBatch

Description:

Concatenate a batch of curves files

Required Input Arguments:

  --input <Curves>      specify any number of input curves files   

Optional Parameter Arguments:

  --reduce <Number>      reduce the number of curves in each input by the given fraction   
  --label       label the curves with a unique identifier   

Required Output Arguments:

  --output <Curves>      specify the output curves file   

Author:

Ryan Cabeen


CurvesCatPattern

Description:

Concatenate curves using a filename pattern

Required Parameter Arguments:

  --pattern <String>      a pattern to read curves filenames (should contains %s for substitution)   
  --names <String>      a list of identifiers (will be substituted in the input pattern)   

Optional Parameter Arguments:

  --along <String>      optionally use the given attribute to account for along bundle     parameterization   
  --bundleName <String>      use the given bundle attribute/field name (Default: bundle_name)   
  --alongName <String>      use the given along attribute/field name (Default: along_name)   
  --bundleIndex <String>      use the given bundle attribute/field index (Default: bundle_index)   
  --alongIndex <String>      use the given along attribute/field index (Default: along_index)   

Required Output Arguments:

  --curves <Curves>      the output combined curves   
  --table <Table>      the table to store labels   

Author:

Ryan Cabeen


CurvesClusterFeature

Description:

Cluster curves using simple curve features (length, endpoints, position, shape) using K-means

Required Input Arguments:

  --input <Curves>      the input curves   

Optional Parameter Arguments:

  --length       include the length   
  --endpoints       include tensor product of endpoints   
  --gaussian       include the Gaussian shape   
  --num <Integer>      the number of clusters (Default: 2)   
  --thresh <Double>      the threshold size for clusters (enables DP-means)   
  --iters <Integer>      the maxima number of iterations (Default: 100)   
  --restarts <Integer>      the number of restarts   
  --relabel       relabel to reflect cluster size   
  --largest       keep only the largest cluster   

Advanced Parameter Arguments:

  --iters <Integer>      the maxima number of iterations (Default: 100)   
  --restarts <Integer>      the number of restarts   
  --relabel       relabel to reflect cluster size   
  --largest       keep only the largest cluster   

Optional Output Arguments:

  --output <Curves>      the output curves   
  --protos <Curves>      the prototypical curves for each cluster   

Author:

Ryan Cabeen


CurvesClusterGraph

Description:

Curve bundle segmentation with graph-based thresholding

Required Input Arguments:

  --input <Curves>      the input curves   

Optional Parameter Arguments:

  --dist <String>      the name of the inter-curve distance (Default: meanhaus)   
  --thresh <double>      the threshold for grouping (Default: 1.0)   
  --largest       retain the largest group   
  --relabel       relabel to reflect cluster size   

Advanced Parameter Arguments:

  --largest       retain the largest group   
  --relabel       relabel to reflect cluster size   

Required Output Arguments:

  --output <Curves>      the output curves   

Author:

Ryan Cabeen

Citation:

Felzenszwalb, P. F., & Huttenlocher, D. P. (2004). Efficient graph-based image segmentation. International journal of computer vision, 59(2), 167-181.


CurvesClusterHierarchical

Description:

Cluster curves with hierarchical clustering.

Required Input Arguments:

  --input <Curves>      the input curves   

Optional Parameter Arguments:

  --dist <String>      the name of the inter-curve distance (Default: meanhaus)   
  --num <Integer>      the number of clusters   
  --thresh <Double>      the threshold for grouping   
  --density <Double>      resample the curves to speed up computation   
  --epsilon <Double>      simplify the curves to speed up computation   
  --relabel       relabel to reflect cluster size   

Advanced Parameter Arguments:

  --density <Double>      resample the curves to speed up computation   
  --epsilon <Double>      simplify the curves to speed up computation   
  --relabel       relabel to reflect cluster size   

Required Output Arguments:

  --output <Curves>      the output curves   

Author:

Ryan Cabeen

Citation:

Zhang, S., Correia, S., & Laidlaw, D. H. (2008). Identifying white-matter fiber bundles in DTI data using an automated proximity-based fiber-clustering method. IEEE transactions on visualization and computer graphics, 14(5), 1044-1053.


CurvesClusterQuickBundle

Description:

Cluster curves with the quicksbundles algorithm

Required Input Arguments:

  --input <Curves>      the input curves   

Optional Parameter Arguments:

  --subset <Integer>      take a subset of curves before clustering (not applicable if you provide     fewer)   
  --samples <Integer>      the number of sample vertices (Default: 5)   
  --thresh <Double>      the separation threshold (Default: 1000.0)   
  --relabel       relabel to reflect cluster size   

Advanced Parameter Arguments:

  --relabel       relabel to reflect cluster size   

Optional Output Arguments:

  --output <Curves>      the output curves   
  --centers <Curves>      the output centers (the centroid curves for each cluster)   

Author:

Ryan Cabeen

Citation:

Garyfallidis, E., Brett, M., Correia, M. M., Williams, G. B., & Nimmo-Smith, I. (2012). Quickbundles, a method for tractography simplification. Frontiers in neuroscience, 6, 175.


CurvesClusterSCPT

Description:

Cluster curves with a sparse closest point transform.

Required Input Arguments:

  --input <Curves>      the input curves   

Optional Parameter Arguments:

  --subset <Integer>      take a subset of curves before clustering (not applicable if you provide     fewer)   
  --thresh <Double>      the threshold size for clusters (Default: 22.0)   
  --largest       retain only the largest cluster   
  --fraction <Double>      retain only clusters that are a given proportion of the total (zero to one)   
  --preeps <Double>      preprocess by simplifying the curves (Default: 1.0)   
  --lmsub <Integer>      the number of curves for landmarking (Default: 5000)   
  --lmeps <Double>      the simplifification threshold for landmarking (Default: 1.0)   
  --lmthresh <Double>      the landmarking threshold (Default: 30.0)   
  --iters <Integer>      the maxima number of iterations (Default: 100)   
  --restarts <Integer>      the number of restarts   
  --num <Integer>      the number of clusters (Default: 2)   

Advanced Parameter Arguments:

  --preeps <Double>      preprocess by simplifying the curves (Default: 1.0)   
  --lmsub <Integer>      the number of curves for landmarking (Default: 5000)   
  --lmeps <Double>      the simplifification threshold for landmarking (Default: 1.0)   
  --lmthresh <Double>      the landmarking threshold (Default: 30.0)   
  --restarts <Integer>      the number of restarts   
  --num <Integer>      the number of clusters (Default: 2)   

Optional Output Arguments:

  --output <Curves>      the output curves   
  --landmarks <Vects>      the computed landmarks   
  --protos <Curves>      the prototypical curves for each cluster   

Author:

Ryan Cabeen


CurvesClusterSpectral

Description:

Cluster curves with spectral clustering.

Required Input Arguments:

  --input <Curves>      the input curves   

Optional Parameter Arguments:

  --dist <String>      the name of the inter-curve distance (Default: meanhaus)   
  --num <Integer>      the number of clusters   
  --density <Double>      resample the curves to speed up computation   
  --epsilon <Double>      simplify the curves to speed up computation   
  --relabel       relabel to reflect cluster size   

Advanced Parameter Arguments:

  --density <Double>      resample the curves to speed up computation   
  --epsilon <Double>      simplify the curves to speed up computation   
  --relabel       relabel to reflect cluster size   

Required Output Arguments:

  --output <Curves>      the output curves   

Author:

Ryan Cabeen

Citation:

Cluster curves with spectral clustering. O’Donnell, L. J., & Westin, C. F. (2007). Automatic tractography segmentation using a high-dimensional white matter atlas. IEEE transactions on medical imaging, 26(11), 1562-1575.


CurvesCompare

Description:

Compare a pair of curves objects quantitatively

Required Input Arguments:

  --left <Curves>      input curves   
  --right <Curves>      the other curves   

Optional Parameter Arguments:

  --delta <double>      the volume resolution (Default: 1.0)   
  --thresh <double>      the density threshold (Default: 0.5)   

Required Output Arguments:

  --output <Table>      output table   

Author:

Ryan Cabeen


CurvesConnectRegions

Description:

Extract the connecting segments between the given regions

Required Input Arguments:

  --input <Curves>      input curves   
  --regions <Mask>      input regions (should have two distinct labels)   

Required Output Arguments:

  --output <Curves>      output curves   

Author:

Ryan Cabeen


CurvesConvert

Description:

Convert curves between file formats

Required Input Arguments:

  --input <Curves>      input curves   

Required Output Arguments:

  --output <Curves>      output curves   

Author:

Ryan Cabeen


CurvesCreateHelix

Description:

Create a curves dataset consisting of a helix bundle

Optional Parameter Arguments:

  --radius <double>      the radius of the helix (Default: 10.0)   
  --length <double>      the length of one loop of the helix (Default: 5.0)   
  --loops <int>      the number of loops in the helix (Default: 2)   
  --steps <int>      the number of steps sampled along each loop of the helix (Default: 100)   
  --sigma <double>      the width of the helix bundle (Default: 1.0)   
  --samples <int>      the number of samples in the helix bundle (Default: 1)   
  --startx <double>      the starting position in x (Default: 0.0)   
  --starty <double>      the starting position in y (Default: 0.0)   
  --startz <double>      the starting position in z (Default: 0.0)   

Required Output Arguments:

  --output <Curves>      output curves   

Author:

Ryan Cabeen


CurvesCrop

Description:

Crop curves to retain only portions inside the selection

Required Input Arguments:

  --input <Curves>      the input curves   

Optional Input Arguments:

  --mask <Mask>      a mask   
  --solids <Solids>      some solids   

Optional Parameter Arguments:

  --invert       invert the selection   
  --and       require that curves are inside all solids (logical AND)   
  --attr <String>      specify an attribute for cropping   
  --above <Double>      require that the given attribute at each vertex is above this value   
  --below <Double>      require that the given attribute at each vertex is below this value   
  --equals <Double>      require that the given attribute approximately equals this value   
  --delta <Double>      the threshold distance for approximate cropping (Default: 0.001)   

Required Output Arguments:

  --output <Curves>      the output curves   

Author:

Ryan Cabeen


CurvesCull

Description:

Cull redundant curves. This can be done using SCPT (scpt) or pairwise distance-based clustering (haus, cham, end, or cutoff). DistanceExtrinsic based clustering is much slower but technically more accurate.

Required Input Arguments:

  --input <Curves>      the input curves   

Optional Parameter Arguments:

  --dist <String>      the name of the inter-curve distance (scpt, haus, cham, end, or cutoff).      Pairwise distances can be symmeterized by adding mean, min, or max to the     name (except scpt). (Default: scpt)   
  --thresh <Double>      the threshold for removal in mm (but the exact meaning of this depends on     the distance metric, so be careful) (Default: 1.5)   

Required Output Arguments:

  --output <Curves>      the output curves   

Author:

Ryan Cabeen

Citation:

Zhang, S., Correia, S., & Laidlaw, D. H. (2008). Identifying white-matter fiber bundles in DTI data using an automated proximity-based fiber-clustering method. IEEE transactions on visualization and computer graphics, 14(5), 1044-1053.


CurvesDensity

Description:

Compute a volumetric density of curves. This works by find the voxels that intersect the curves and accumulating how many curves intersected each voxel.

Required Input Arguments:

  --input <Curves>      input curves   

Optional Input Arguments:

  --reference <Volume>      input reference volume (exclusive with refmask)   

Optional Parameter Arguments:

  --type <CurvesDensityType>      specify the type of normalization (Options: Count, CountNorm, Color,     ColorNorm) (Default: Count)   
  --delta <double>      when no reference sampling is present, create a volume with this voxel size     (Default: 1.0)   

Advanced Parameter Arguments:

  --delta <double>      when no reference sampling is present, create a volume with this voxel size     (Default: 1.0)   

Required Output Arguments:

  --output <Volume>      output density volume   

Author:

Ryan Cabeen


CurvesEndpointMask

Description:

Extract curve endpoints and create a mask

Required Input Arguments:

  --input <Curves>      input curves   

Optional Input Arguments:

  --reference <Volume>      input reference volume   

Optional Parameter Arguments:

  --head <int>      curve head label (Default: 1)   
  --tail <int>      curve tail label (Default: 2)   
  --num <int>      use the given number of vertices from the endpoints (Default: 1)   
  --dilate <int>      dilate the endpoint mask (Default: 0)   
  --mode       apply a mode filter   

Required Output Arguments:

  --output <Mask>      output mask   

Author:

Ryan Cabeen


CurvesEndpoints

Description:

Extract curve endpoints and return them as vects

Required Input Arguments:

  --input <Curves>      input curves   

Optional Parameter Arguments:

  --head       curve head vertices   
  --tail       curve tail vertices   

Required Output Arguments:

  --output <Vects>      output vects   

Author:

Ryan Cabeen


CurvesExtract

Description:

Extract only curves that match a given attribute value

Required Input Arguments:

  --input <Curves>      input curves   

Optional Parameter Arguments:

  --attr <String>      the attribute name of the label used to select (Default: label)   
  --which <String>      which labels to extract, e.g. 1,2,3:5 (Default: )   

Required Output Arguments:

  --output <Curves>      output curves   

Author:

Ryan Cabeen


CurvesFeatures

Description:

Compute features of curves and add them as vertex attributes

Required Input Arguments:

  --input <Curves>      the input curves   

Optional Parameter Arguments:

  --tangent       compute tangents   
  --color       compute vertex colors   
  --arclength       compute per-vertex arclength   
  --index       compute per-vertex index   
  --fraction       compute per-vertex fraction along curve   
  --count       compute per-curve vertex count   
  --length       compute per-curve length   
  --frame       compute the per-vertex frenet frame   
  --curvature       compute the per-vertex curvatures   
  --density       compute the per-vertex density   
  --stats       compute the per-curve statistics of vertex curvature and density   
  --all       compute all possible features   
  --voxel <double>      specify a voxel size used for computing density (Default: 1.0)   

Advanced Parameter Arguments:

  --all       compute all possible features   
  --voxel <double>      specify a voxel size used for computing density (Default: 1.0)   

Required Output Arguments:

  --output <Curves>      the output curves   

Author:

Ryan Cabeen


CurvesFilterKernel

Description:

Filter curves with kernel regression. This uses a non-parametric statistical approach to smooth the curves

Required Input Arguments:

  --input <Curves>      input curves   

Optional Parameter Arguments:

  --density <Double>      resample with a given vertex density (mm/vertex), otherwise the original     arclength sampling is used   
  --sigma <Double>      use the given spatial bandwidth (Default: 4.0)   
  --order <int>      specify the order of the local approximating polynomial (Default: 0)   
  --thresh <Double>      the threshold for excluding data from local regression (Default: 0.05)   
  --attrs <String>      the attributes to smooth (comma separated list) (Default: coord)   

Required Output Arguments:

  --output <Curves>      output curves   

Author:

Ryan Cabeen


CurvesFilterLoess

Description:

Filter curves with lowess smoothing

Required Input Arguments:

  --input <Curves>      input curves   

Optional Parameter Arguments:

  --density <Double>      resample with a given vertex density (mm/vertex), otherwise the original     arclength sampling is used   
  --num <int>      use the given neighborhood size for local estimation (Default: 5)   
  --order <Integer>      use a given polynomial order for local estimation (Default: 2)   
  --endpoints       smooth endpoints   

Required Output Arguments:

  --output <Curves>      output curves   

Author:

Ryan Cabeen


CurvesFilterPolynomial

Description:

Filter cures with polynomial splines

Required Input Arguments:

  --input <Curves>      input curves   

Optional Parameter Arguments:

  --density <Double>      resample with a given vertex density (mm/vertex), otherwise the original     arclength sampling is used   
  --lambda <Double>      use regularization Tikhonov regularization (specify the negative log, so     and input of 2.3 would give a regularization weight of 0.1)   
  --order <Integer>      use a given polynomial order (Default: 10)   
  --residual       save the residuals   

Required Output Arguments:

  --output <Curves>      output curves   

Optional Output Arguments:

  --outputResiduals <Vects>      output residual error between the polynomial and the curve   

Author:

Ryan Cabeen


CurvesFilterPredicate

Description:

Filter curves with kernel regression. This uses a non-parametric statistical approach to smooth the curves

Required Input Arguments:

  --input <Curves>      input curves   

Optional Parameter Arguments:

  --min <int>      The minimum number of vertices of the retained segments (Default: 2)   
  --nodot       Replace any dots in the attribute name with an underscore, e.g. pval.age     would become pval_age   
  --predicate <String>      the predicate for determining if a vertex should be kept (Default: pval <     0.05)   

Required Output Arguments:

  --output <Curves>      output curves   

Author:

Ryan Cabeen


CurvesFilterTOM

Description:

Filter curves based on their agreement with a tract orientation map

Required Input Arguments:

  --input <Curves>      the input curves   

Optional Input Arguments:

  --reference <Volume>      input reference volume   

Optional Parameter Arguments:

  --iters <int>      the number of iterations (Default: 1)   
  --beta <double>      a gain factor for computing likelihoods (Default: 1.0)   
  --thresh <double>      a threshold for outlier rejection (Default: 0.05)   
  --orient       orient the bundle prior to mapping   
  --vector       compute a vector orientation (you may want to enable the orient flag)   
  --norm <VolumeEnhanceContrastType>      specify a method for normalizing orientation magnitudes (Options:     Histogram, Ramp, RampGauss, Mean, None) (Default: Histogram)   
  --smooth       apply fiber smoothing after mapping   
  --sigma <Double>      apply smoothing with the given amount (bandwidth in mm) (default is largest     voxel dimension)   
  --support <int>      the smoothing filter radius in voxels (Default: 3)   

Advanced Parameter Arguments:

  --sigma <Double>      apply smoothing with the given amount (bandwidth in mm) (default is largest     voxel dimension)   
  --support <int>      the smoothing filter radius in voxels (Default: 3)   

Required Output Arguments:

  --output <Curves>      the output inlier curves   

Optional Output Arguments:

  --tom <Volume>      input reference volume   

Author:

Ryan Cabeen


CurvesFilterTTF

Description:

Filter curves to enhance their topographic regularity using the group graph spectral distance

Required Input Arguments:

  --input <Curves>      the input curves   

Optional Parameter Arguments:

  --K <Integer>      size of neighborhood (Default: 20)   
  --sigma <Double>      parameter for the exponential in the proximity measure (Default: 0.01)   
  --density <double>      the resolution for downsampling curves (Default: 5.0)   

Required Output Arguments:

  --output <Curves>      the output curves   

Author:

Junyan Wang, Ryan Cabeen

Citation:

Wang, J., Aydogan, D. B., Varma, R., Toga, A. W., & Shi, Y. (2018). Modeling topographic regularity in structural brain connectivity with application to tractogram filtering. NeuroImage.


CurvesLabelMap

Description:

Compute a label map, that is, a mask that represents the most likely label of a given curves label for each voxel.

Required Input Arguments:

  --input <Curves>      input curves   

Optional Input Arguments:

  --refvolume <Volume>      input reference volume (exclusive with refmask)   
  --refmask <Mask>      input reference mask (exclusive with refvolume)   

Optional Parameter Arguments:

  --attr <String>      the name of attribute to extract from the curves (Default: label)   
  --largest       filter out largest components   
  --dilate <int>      dilate the mask a given number of times (Default: 0)   
  --threads <int>      the number of threads (Default: 1)   

Required Output Arguments:

  --output <Mask>      output label map   

Optional Output Arguments:

  --outputProb <Volume>      output probability map   

Author:

Ryan Cabeen


CurvesLandmarks

Description:

Generate landmarks from curves using simplification and vertex clustering

Required Input Arguments:

  --input <Curves>      the input curves   

Optional Parameter Arguments:

  --subsamp <Integer>      the number of curves to subsample (Default: 1000)   
  --eps <Double>      the spatial threshold for simplificaion (Default: 2.0)   
  --radius <Double>      the diameter of clusters for vertex grouping   
  --num <Integer>      the number of clusters to start with (Default: 2)   

Required Output Arguments:

  --output <Vects>      the output landmarks   

Author:

Ryan Cabeen

Citation:

(in preparation)


CurvesLengths

Description:

Compute the lengths of the given curves

Required Input Arguments:

  --input <Curves>      the input curves   

Required Output Arguments:

  --output <Vects>      the output landmarks   

Author:

Ryan Cabeen


CurvesMask

Description:

Compute a volumetric mask of curves. Any voxel that intersects the curves will be included

Required Input Arguments:

  --input <Curves>      input curves   

Optional Input Arguments:

  --refvolume <Volume>      input reference volume (exclusive with refmask)   
  --refmask <Mask>      input reference mask (exclusive with refvolume)   

Optional Parameter Arguments:

  --thresh <double>      the threshold (Default: 0.5)   

Required Output Arguments:

  --output <Mask>      output mask   

Author:

Ryan Cabeen


CurvesMaskMap

Description:

Measure how many curves overlap a given mask parcellation

Required Input Arguments:

  --input <Curves>      input curves   
  --regions <Mask>      input regions   
  --lookup <Table>      use a lookup for region names   

Optional Parameter Arguments:

  --nameField <String>      specify the lookup table name field (Default: name)   
  --indexField <String>      specify the lookup table index field (Default: index)   
  --mode <CurvesMaskMapMode>      specify the way that curves are counted (Options: Count, Binary, Fraction)     (Default: Binary)   
  --endpoints       select only curves with endpoints in the mask   

Required Output Arguments:

  --output <Table>      output table   

Author:

Ryan Cabeen


CurvesMaskSelect

Description:

Select curves using volumetric masks

Required Input Arguments:

  --input <Curves>      input curves   

Optional Input Arguments:

  --deform <Deformation>      a deformation between curves and the masks   
  --include <Mask>      use an include mask (AND for multiple labels)   
  --exclude <Mask>      use an exclude mask (AND for multiple labels)   
  --contain <Mask>      use a containment mask   

Optional Parameter Arguments:

  --binarize       binarize the include mask   
  --invert       invert the exclude mask   
  --skip       skip masks without regions or an insufficient number of regions without     error   
  --thresh <Double>      specify a containment threshold (Default: 0.8)   
  --endpoints       select based on only curve endpoints   
  --connect       select curves with endpoints that connect different labels   

Required Output Arguments:

  --output <Curves>      the output curves   

Author:

Ryan Cabeen


CurvesMaskSelectBatch

Description:

select curves from masks in batch mode

Required Input Arguments:

  --input <File>      specify an input curves   

Optional Input Arguments:

  --deform <File>      specify a deformation between curves and volumes   

Optional Parameter Arguments:

  --names <Spec>      specify bundle identifiers   
  --thresh <Value>      specify threshold for containment   
  --endpoints       specify that only endpoints should be tested   
  --invert       specify masks should be inverted   
  --binarize       specify masks should be binarized   
  --include <FilePattern>      specify an filename pattern for an include mask   
  --exclude <FilePattern>      specify an filename pattern for an exclude mask   
  --contain <FilePattern>      specify an filename pattern for an contain mask   

Required Output Arguments:

  --output <FilePattern>      specify an output directory   

Author:

Ryan Cabeen


CurvesMath

Description:

Evaluate a mathematical expression at each vertex of curves.

Required Input Arguments:

  --input <Curves>      the input curves   

Optional Parameter Arguments:

  --expression <String>      the expression to evaluate (Default: x > 0.5)   
  --result <String>      the attribute name for the result (Default: result)   

Required Output Arguments:

  --output <Curves>      output curves   

Author:

Ryan Cabeen


CurvesMeasure

Description:

Measure statistics of curves and store the results in a table

Required Input Arguments:

  --input <Curves>      input curves   

Optional Parameter Arguments:

  --delta <double>      the volume resolution (Default: 1.0)   
  --thresh <double>      the density threshold (Default: 0.5)   
  --advanced       add advanced measures (outlier measures).  warning: these take polynomial     time with the number of curves   
  --endcor       add the endpoint correlation measure   
  --neighbors <int>      specify a number of neighbors for topographic measures (Default: 16)   
  --samples <int>      specify a number of samples for endpoint correlations estimation (Default:     5000)   

Advanced Parameter Arguments:

  --advanced       add advanced measures (outlier measures).  warning: these take polynomial     time with the number of curves   
  --endcor       add the endpoint correlation measure   
  --neighbors <int>      specify a number of neighbors for topographic measures (Default: 16)   
  --samples <int>      specify a number of samples for endpoint correlations estimation (Default:     5000)   

Required Output Arguments:

  --output <Table>      output table   

Author:

Ryan Cabeen


CurvesMeasureAlongBatch

Description:

Compute measures of a set of curves in batch mode.

Required Input Arguments:

  --input <FilePattern>      specify an input bundle filename pattern   

Optional Input Arguments:

  --volume <String=Volume> [...]      specify volumes to sample   
  --deform <File>      specify a deformation between curves and volumes   

Required Parameter Arguments:

  --names <Spec>      specify bundle identifiers (e.g. a file that lists the bundle names)   

Optional Parameter Arguments:

  --attrs <String> [<String>] [...]      only include the specified attributes   
  --label <String>      compute statistics with parameterization attribute (discrete valued)     (Default: label)   
  --voxel       use voxel-based measurement (default is vertex-based)   
  --interp <String>      specify an interpolation method (Default: Trilinear)   
  --iters <Int>      smooth the sampled data with the given number of laplacian iterations     (Default: 3)   
  --lambda <Double>      smooth the sampled data with the given laplacian weighting (Default: 0.3)   
  --threads <Integer>      specify a number of threads (Default: 1)   

Required Output Arguments:

  --output <Directory>      specify an output directory   

Author:

Ryan Cabeen


CurvesMeasureBatch

Description:

Compute measures of a set of curves in batch mode.

Required Input Arguments:

  --input <FilePattern>      specify an input bundle filename pattern   

Optional Input Arguments:

  --volume <String=Volume> [...]      specify volumes to sample   
  --deform <File>      specify a deformation between curves and volumes   
  --mask <Mask>      specify a mask for including voxels   

Required Parameter Arguments:

  --names <Spec>      specify bundle identifiers (e.g. a file that lists the bundle names)   

Optional Parameter Arguments:

  --attrs <String> [<String>] [...]      only include the specified attributes   
  --thresh <Double>      specify a density threshold for volumetry (Default: 1.0)   
  --delta <Double>      specify a density threshold for volumetry (Default: 1.0)   
  --neighbors <Integer>      specify a number of neighbors for advanced metrics (Default: 1)   
  --samples <Integer>      specify a number of samples for the endpoint correlation (Default: 5000)   
  --voxel       use voxel-based measurement (default is vertex-based)   
  --advanced       include advanced metrics   
  --endcor       include the endpoint correlation metric   
  --interp <String>      specify an interpolation method (Default: Trilinear)   
  --threads <Integer>      specify a number of threads (Default: 1)   

Required Output Arguments:

  --output <Directory>      specify an output directory   

Author:

Ryan Cabeen


CurvesMidpointMask

Description:

Extract curve endpoints and return them as vects

Required Input Arguments:

  --input <Curves>      input curves   

Optional Input Arguments:

  --reference <Volume>      input reference volume   

Optional Parameter Arguments:

  --label <int>      the mask label (Default: 1)   
  --num <int>      use the given number of vertices from the midpoint (Default: 1)   
  --dilate <int>      dilate the endpoint mask (Default: 0)   

Required Output Arguments:

  --output <Mask>      output mask   

Author:

Ryan Cabeen


CurvesNearest

Description:

Extract the nearest curve to a collection

Required Input Arguments:

  --input <Curves>      input curves   
  --ref <Curves>      reference curves   

Optional Input Arguments:

  --deform <Deformation>      a deformation for the input curve   

Required Output Arguments:

  --output <Curves>      output curves   

Author:

Ryan Cabeen


CurvesOrient

Description:

Orient curves to best match endpoints, i.e. flip them to make the starts and ends as close as possible

Required Input Arguments:

  --input <Curves>      input curves   

Optional Parameter Arguments:

  --iters <int>      a maxima number of iterations (Default: 10)   
  --axis       orient to the nearest spatial axis   

Required Output Arguments:

  --output <Curves>      output curves   

Author:

Ryan Cabeen


CurvesOrientationMap

Description:

Compute an orientation map. This will find the most likely direction in each voxel

Required Input Arguments:

  --input <Curves>      input curves   

Optional Input Arguments:

  --refvolume <Volume>      input reference volume (exclusive with refmask)   
  --refmask <Mask>      input reference mask (exclusive with refvolume)   

Optional Parameter Arguments:

  --orient       orient the bundle prior to mapping   
  --vector       compute a vector orientation (you may want to enable the orient flag)   
  --norm <VolumeEnhanceContrastType>      specify a method for normalizing orientation magnitudes (Options:     Histogram, Ramp, RampGauss, Mean, None) (Default: Histogram)   
  --smooth       apply fiber smoothing after mapping   
  --sigma <Double>      apply smoothing with the given amount (bandwidth in mm) (a negative value     will use the largest voxel dimension) (Default: -1.0)   
  --support <int>      the smoothing filter radius in voxels (Default: 3)   
  --fibers       return a fibers volume   

Advanced Parameter Arguments:

  --sigma <Double>      apply smoothing with the given amount (bandwidth in mm) (a negative value     will use the largest voxel dimension) (Default: -1.0)   
  --support <int>      the smoothing filter radius in voxels (Default: 3)   

Required Output Arguments:

  --output <Volume>      output volume   

Author:

Ryan Cabeen


CurvesOrientationMapBatch

Description:

Concatenate a batch of curves files

Required Input Arguments:

  --input <Curves>      specify any number of input curves files   
  --ref <Volume>      a reference volume   

Required Output Arguments:

  --output <Volume>      specify the output volume   

Author:

Ryan Cabeen


CurvesOutlierGaussian

Description:

Filter outliers using a mvGaussian probabilistic model with a Chi2 distribution on the Mahalanobis distance

Required Input Arguments:

  --input <Curves>      the input curves   
  --reference <Curves>      input reference curve   

Optional Parameter Arguments:

  --outlierCount <Integer>      the number of points used for outlier rejection (Default: 10)   
  --outlierThresh <Double>      the probability threshold for outlier rejection (Default: 0.95)   

Required Output Arguments:

  --output <Curves>      the output curves   

Author:

Ryan Cabeen


CurvesOutlierLength

Description:

Detect outliers among curves based on their length. In practice an absolute z-threshold of 2.0 should work well.

Required Input Arguments:

  --input <Curves>      the input curves   

Optional Parameter Arguments:

  --zthresh <Double>      specify an absolute threshold z-score   
  --zlow <Double>      specify a low threshold z-score   
  --zhigh <Double>      specify a high threshold z-score   

Optional Output Arguments:

  --inlier <Curves>      the output inlier curves   
  --outlier <Curves>      the output outlier curves   

Author:

Ryan Cabeen


CurvesOutlierSCPT

Description:

Detect outliers among curves with a sparse closest point transform.

Required Input Arguments:

  --input <Curves>      the input curves   

Optional Parameter Arguments:

  --prior <Double>      the prior bundle size (mm) (Default: 0.001)   
  --mix <Double>      the prior mixing weight (use zero for no prior) (Default: 0.0)   
  --type <String>      covariance matrix type (full, diagonal, spherical) (Default: diagonal)   
  --thresh <Double>      the threshold probability (Default: 0.99)   

Advanced Parameter Arguments:

  --prior <Double>      the prior bundle size (mm) (Default: 0.001)   
  --mix <Double>      the prior mixing weight (use zero for no prior) (Default: 0.0)   

Optional Output Arguments:

  --inlier <Curves>      the output inlier curves   
  --outlier <Curves>      the output outlier curves   
  --landmarks <Vects>      the computed landmarks   

Author:

Ryan Cabeen


CurvesPrintInfo

Description:

Print basic information about curves

Required Input Arguments:

  --input <Curves>      the input curves   

Optional Parameter Arguments:

  --stats       print statistics   
  --length       print statistics of curve lengths   

Author:

Ryan Cabeen


CurvesPrototype

Description:

Extract a prototypical curve that has maximum track density

Required Input Arguments:

  --input <Curves>      input curves   

Optional Parameter Arguments:

  --delta <double>      the volume resolution (Default: 1.0)   

Required Output Arguments:

  --output <Curves>      output curves   

Author:

Ryan Cabeen


CurvesReduce

Description:

Reduce the number of curves by random subsampling

Required Input Arguments:

  --input <Curves>      input curves   

Optional Parameter Arguments:

  --count <Integer>      a maxima number of curves   
  --fraction <Double>      remove a given fraction of the curves   
  --min <Integer>      retain at least this many curves   

Required Output Arguments:

  --output <Curves>      output selected curves   

Author:

Ryan Cabeen


CurvesRelabel

Description:

Relabel curves from biggest to smallest cluster

Required Input Arguments:

  --input <Curves>      the input curves   

Required Parameter Arguments:

  --threshold <Double>      retain only clusters above a given proportion of the total   

Optional Parameter Arguments:

  --largest       keep only the largest label   

Required Output Arguments:

  --output <Curves>      the output curves   

Author:

Ryan Cabeen


CurvesResample

Description:

Resample the position of vertices along curves so that they have uniform spacing

Required Input Arguments:

  --input <Curves>      input curves   

Optional Parameter Arguments:

  --num <Integer>      resample with a constant number of vertices per curve (0 specifices that     the max should be used)   
  --orient       reorient curves   
  --density <Double>      resample with a given vertex density (mm/vertex)   

Required Output Arguments:

  --output <Curves>      output curves   

Author:

Ryan Cabeen


CurvesSample

Description:

Sample a volume at the vertices of curves

Required Input Arguments:

  --input <Curves>      the input curves   
  --volume <Volume>      the volume   

Optional Parameter Arguments:

  --interp <InterpolationType>      interpolation method (Options: Nearest, Trilinear, Tricubic, Gaussian,     GaussianLocalLinear, GaussianLocalQuadratic) (Default: Trilinear)   
  --attr <String>      attribute name (Default: sampled)   

Required Output Arguments:

  --output <Curves>      the output curves   

Author:

Ryan Cabeen


CurvesSegmentAlong

Description:

Segment a bundle by matching vertices along its length based on a prototype curve

Required Input Arguments:

  --input <Curves>      the input curves   

Optional Input Arguments:

  --proto <Curves>      input prototype curve (if not supplied, one will be computed)   
  --deform <Deformation>      a deformation to transform the proto curves to the coordinates of the input     curves   

Optional Parameter Arguments:

  --method <CurvesSegmentAlongType>      the method for segmenting along the bundle (Options: Arclength, Distance,     Hybrid) (Default: Hybrid)   
  --samples <Integer>      the number of points used for along tract mapping (if not supplied, the     number of points in the proto will be used)   
  --density <Double>      the density of points used for along tract mapping (if not supplied, the     number of points in the proto will be used)   
  --label <String>      an attribute name for the label used to indicate the position along the     bundle (Default: label)   
  --outlier       remove outliers   
  --outlierCount <Integer>      the number of points used for outlier rejection (Default: 10)   
  --outlierThresh <Double>      the probability threshold for outlier rejection (Default: 0.99)   
  --outlierAttrs <String>      use the following attributes for outlier detection (if they exist)     (Default: FA,MD,frac,diff,S0,base)   
  --delta <Double>      the volume resolution for distance segmentation (Default: 1.0)   
  --power <Double>      the power for the mixing function (must be a positive even number, e.g. 2,     4, 6) (Default: 4.0)   

Advanced Parameter Arguments:

  --delta <Double>      the volume resolution for distance segmentation (Default: 1.0)   
  --power <Double>      the power for the mixing function (must be a positive even number, e.g. 2,     4, 6) (Default: 4.0)   

Required Output Arguments:

  --output <Curves>      the output curves   

Optional Output Arguments:

  --outputDist <Volume>      output distance volume (not provided by arclength segmentation)   
  --outputLabel <Volume>      output label volume (not provided by arclength segmentation   
  --outputProto <Curves>      output proto curve (useful in case it was computed automatically)   
  --outputCore <Curves>      output core curve (the nearest curve to the prototype)   

Author:

Ryan Cabeen


CurvesSelect

Description:

Select a which of curves using a number of possible criteria

Required Input Arguments:

  --input <Curves>      input curves   

Optional Input Arguments:

  --deform <Deformation>      a deformation between curves and the masks   
  --mask <Mask>      a mask   
  --solids <Solids>      some solids   
  --vects <Vects>      some vects   

Optional Parameter Arguments:

  --radius <double>      vects radius (Default: 5.0)   
  --or       use OR (instead of AND) to combine selections   
  --invert       invert the selection after combining   
  --exclude       exclude the selected curves   
  --endpoints       select based on only curve endpoints   
  --expression <String>      select based on a boolean-valued expression using any of: length, size,     min_attr, max_attr, mean_attr, or sum_attr   
  --minlen <Double>      a minimum length   
  --maxlen <Double>      a maximum length   
  --longest       select the longest curve   

Required Output Arguments:

  --output <Curves>      output selected curves   

Author:

Ryan Cabeen


CurvesSetAttributeLookupTable

Description:

Set vertex attributes of curves based on a table. The curves should have a discrete-valued attribute that is used to match vertices to entries in the table.

Required Input Arguments:

  --curves <Curves>      input curves   
  --table <Table>      input table   

Optional Input Arguments:

  --lookup <Table>      a lookup table to relate names to indices   

Optional Parameter Arguments:

  --mergeTable <String>      a table field name to merge on (Default: name)   
  --mergeLookup <String>      a lookup field name to merge on (Default: along_name)   
  --index <String>      the lookup table index field name (Default: along_index)   
  --value <String>      a table field to get (Default: value)   
  --cindex <String>      the curves index field name (defaults to lookup table index field name)   
  --cvalue <String>      a curves field to set (defaults to table field name)   
  --background <double>      a background value (Default: 0.0)   
  --missing <Double>      an missing value   

Required Output Arguments:

  --output <Curves>      output curves   

Author:

Ryan Cabeen


CurvesSetAttributeVects

Description:

Set vertex attributes of curves based on a table. The curves should have a discrete-valued attribute that is used to match vertices to entries in the table.

Required Input Arguments:

  --curves <Curves>      input curves   
  --vects <Vects>      input vectors   

Optional Parameter Arguments:

  --name <String>      an attribute field name (Default: attr)   
  --quiet       don't complain if the vects and curves don't match (and try to add as much     data to the curves as possible)   

Required Output Arguments:

  --output <Curves>      output curves   

Author:

Ryan Cabeen


CurvesSimplify

Description:

Simplify curves with the Ramer-Douglas-Peucker algorithm

Required Input Arguments:

  --input <Curves>      the input curves   

Optional Parameter Arguments:

  --epsilon <double>      the distance threshold (Default: 2.0)   
  --radial       use radial distance   

Required Output Arguments:

  --output <Curves>      the output simplified curves   

Author:

Ryan Cabeen

Citation:

Heckbert, Paul S.; Garland, Michael (1997). Survey of polygonal simplification algorithms


CurvesSmooth

Description:

Smooth out irregularities in the input curves using laplacian (or Taubin) smoothing. This works best if curve vertices are equally spaced along each curve.

Required Input Arguments:

  --input <Curves>      input curves   

Optional Parameter Arguments:

  --attr <String>      the attribute to smooth (Default: coord)   
  --iters <int>      number of iterations (Default: 1)   
  --lambda <double>      lambda smoothing parameter (Default: 0.3)   
  --mu <Double>      mu smoothing parameter (for Taubin smoothing)   

Advanced Parameter Arguments:

  --mu <Double>      mu smoothing parameter (for Taubin smoothing)   

Required Output Arguments:

  --output <Curves>      output curves   

Author:

Ryan Cabeen


CurvesSplit

Description:

Split a curves file into multiple parts

Required Input Arguments:

  --input <File>      specify an input curves file   

Optional Input Arguments:

  --table <File>      specify a table for looking up names   

Optional Parameter Arguments:

  --attr <String>      use a specific label attribute name (Default: label)   
  --names <String(s)>      specify a which of names to extract   

Required Output Arguments:

  --output <Pattern>      specify the output filename pattern with %s   

Author:

Ryan Cabeen


CurvesSubdivide

Description:

Subdivide the curves by inserting vertices in each edge

Required Input Arguments:

  --input <Curves>      input curves   

Optional Parameter Arguments:

  --num <Integer>      subdivide the curves a given number of times  (Default: 1)   

Required Output Arguments:

  --output <Curves>      output curves   

Author:

Ryan Cabeen


CurvesTable

Description:

Concatenate curves files

Required Input Arguments:

  --input <File(s)>      specify an input curves   

Optional Parameter Arguments:

  --names <String(s)>      use pattern-based input with the given names   
  --label       add a label attribute   
  --attr <String>      use a specific label attribute name (Default: label)   

Required Output Arguments:

  --output <File>      specify the output   

Optional Output Arguments:

  --output-table <File>      specify the output table name   

Author:

Ryan Cabeen


CurvesThickness

Description:

Compute the thickness of a bundle

Required Input Arguments:

  --input <Curves>      input curves   

Optional Input Arguments:

  --core <Curves>      input core   

Required Output Arguments:

  --output <Curves>      output core with thickness   

Author:

Ryan Cabeen


CurvesTransform

Description:

Apply a spatial transformation to curves

Required Input Arguments:

  --input <Curves>      input curves   

Optional Input Arguments:

  --affine <Affine>      apply an affine xfm   
  --invaffine <Affine>      apply an inverse affine xfm   
  --deform <Deformation>      apply a deformation xfm   
  --pose <Volume>      apply a transform to match the pose of a volume   
  --invpose <Volume>      apply a transform to match the inverse pose of a volume   

Optional Parameter Arguments:

  --reverse       reverse the order, i.e. compose the affine(deform(x)), whereas the default     is deform(affine(x))   
  --tx <Double>      translate the curves in the x dimension   
  --ty <Double>      translate the curves in the y dimension   
  --tz <Double>      translate the curves in the z dimension   
  --sx <Double>      scale the curves in the x dimension   
  --sy <Double>      scale the curves in the y dimension   
  --sz <Double>      scale the curves in the z dimension   

Required Output Arguments:

  --output <Curves>      output curves   

Author:

Ryan Cabeen


CurvesTrkPrintHeader

Description:

Print basic information about TrackVis curves

Required Parameter Arguments:

  --input <String>      the input curves filename   

Author:

Ryan Cabeen


CurvesTubes

Description:

Create a mesh representing 3D tubes based on the input curves

Required Input Arguments:

  --input <Curves>      the input curves   

Optional Input Arguments:

  --affine <Affine>      apply an affine xfm   
  --invaffine <Affine>      apply an inverse affine xfm   
  --deform <Deformation>      apply a deformation xfm   

Optional Parameter Arguments:

  --color       use per-vertex orientation coloring   
  --wash <Double>      the color wash (Default: 0.2)   
  --dthick <Double>      the default tube thickness (Default: 0.15)   
  --fthick <Double>      the tube thickness factor (scales the thickness attribute, it it is     present) (Default: 1.0)   
  --thick <String>      use the given thickness attribute (Default: thickness)   
  --resolution <int>      the tube resolution (Default: 5)   
  --noColor       skip color attributes   
  --noThick       skip thickness attributes   
  --smooth       create smooth tube caps (the default will use a separate disk for tube     caps)   

Required Output Arguments:

  --output <Mesh>      the output tubes   

Author:

Ryan Cabeen


CurvesVertices

Description:

Extract all curve vertices

Required Input Arguments:

  --input <Curves>      input curves   

Required Output Arguments:

  --output <Vects>      output vects   

Author:

Ryan Cabeen


CurvesVoxelize

Description:

Compute a mask by voxelizing curves. This works by find the voxels that intersect the curves and marking them as one.

Required Input Arguments:

  --input <Curves>      input curves   

Optional Input Arguments:

  --refvolume <Volume>      input reference volume (exclusive with refmask)   
  --refmask <Mask>      input reference mask (exclusive with refvolume)   

Required Output Arguments:

  --output <Mask>      output mask   

Author:

Ryan Cabeen





GradientsCat

Description:

Concatenate two sets of gradients into one

Required Input Arguments:

  --input <Gradients>      input gradients   
  --cat <Gradients>      gradients to concatenate   

Optional Input Arguments:

  --catB <Gradients>      gradients to concatenate   
  --catC <Gradients>      gradients to concatenate   
  --catD <Gradients>      gradients to concatenate   

Required Output Arguments:

  --output <Gradients>      output concatenated gradients   

Author:

Ryan Cabeen


GradientsConvert

Description:

Convert gradients between file formats

Required Input Arguments:

  --input <Gradients>      the input gradients   

Required Output Arguments:

  --output <Gradients>      the output gradients   

Author:

Ryan Cabeen


GradientsCreate

Description:

Create a gradients file from separate bvecs and bvals

Required Input Arguments:

  --bvecs <Vects>      the input bvecs   
  --bvals <Vects>      the input bvals   

Required Output Arguments:

  --output <Gradients>      the output gradients   

Author:

Ryan Cabeen


GradientsMatch

Description:

Correct for errors in the orientation of diffusion gradients using the fiber coherence index

Required Input Arguments:

  --input <Gradients>      the input gradients   
  --dwi <Volume>      the input diffusion-weighted MR volume   

Optional Input Arguments:

  --mask <Mask>      the input mask   

Optional Parameter Arguments:

  --nospat       skip spatial scaling (note: this is not included in the paper by Schilling     et al)   

Required Output Arguments:

  --output <Gradients>      the output matched gradients   

Author:

Ryan Cabeen

Citation:

Schilling, Kurt G., et al. “A fiber coherence index for quality control of B-table orientation in diffusion MRI scans.” Magnetic resonance imaging (2019).


GradientsReduce

Description:

Reduce a set of gradients to a which based on user specification

Required Input Arguments:

  --input <Gradients>      the input gradients   

Optional Parameter Arguments:

  --which <String>      include only specific gradients (comma separated zero-based indices)   
  --exclude <String>      exclude specific gradients (comma separated zero-based indices)   
  --shells <String>      include only specific shells   

Required Output Arguments:

  --output <Gradients>      the output gradients   

Author:

Ryan Cabeen


GradientsTransform

Description:

Transform gradient directions (note: the order of operations is transpose, flip, swap, perm, affine)

Required Input Arguments:

  --input <Gradients>      input gradients   

Optional Input Arguments:

  --affine <Affine>      apply an affine transform to gradient directions (and normalize afterwards)   

Optional Parameter Arguments:

  --round       round the gradients magnitudes   
  --rounder <int>      specify how coarsely to round the gradient magnitudes (Default: 100)   
  --subset <String>      select a subset of gradients   
  --flip <String>      flip a coodinate (x, y, or z)   
  --swap <String>      swap a pair of coordinates (xy, xz, or yz)   
  --perm <String>      permute by coordinate index, e.g. 1,0,2   

Required Output Arguments:

  --output <Gradients>      output transformed gradients   

Author:

Ryan Cabeen


ImageTile

Description:

combine image tiles into a single big image

Required Input Arguments:

  --pattern <Pattern>      specify an input pattern (containing two %d patterns for the rows and     columns)   
  --maxidx <Number>      specify the maximum index (Default: 100)   

Required Output Arguments:

  --output <File>      specify the output   

Author:

Ryan Cabeen


MapCat

Description:

concatenate map files into a table

Required Parameter Arguments:

  --pattern <Pattern>      specify an input pattern (substitution like ${name})   
  --vars name=value(s)      specify a list of identifiers   

Optional Parameter Arguments:

  --tuples       expand multiple vars to tuples (default: cartesian product)   
  --rows       expand each input file to a row   
  --input-name <String>      specify the input map name field (Default: name)   
  --input-value <String>      specify the input map value field (Default: value)   
  --output-name <String>      specify the output name field (Default: name)   
  --output-value <String>      specify the output value field (Default: value)   
  --na <String>      specify value for missing entries (Default: NA)   
  --skip       skip missing files   
  --include name(s)      specify which names to include   
  --exclude name(s)      specify which names to exclude   

Required Output Arguments:

  --output <File>      specify the output   

Author:

Ryan Cabeen


MapCatBatch

Description:

Concatenate a batch of curves files

Required Input Arguments:

  --input <Map>      specify any number of input map files   

Required Output Arguments:

  --output <Map>      specify the output map file   

Author:

Ryan Cabeen


MapCatNarrow

Description:

concatenate map files into columns of a table (more efficient than MapCat)

Required Parameter Arguments:

  --pattern <Pattern>      specify an input pattern (substitution like ${name})   
  --vars name=value(s)      specify a list of identifiers   

Optional Parameter Arguments:

  --tuples       expand multiple vars to tuples (default: cartesian product)   
  --input-name <String>      specify the input map name field (Default: name)   
  --input-value <String>      specify the input map value field (Default: value)   
  --output-name <String>      specify the output map name field (Default: name)   
  --output-value <String>      specify the output map value field (Default: value)   
  --na <String>      specify value for missing entries (Default: NA)   
  --skip       skip missing files   
  --include name(s)      specify which names to include   
  --exclude name(s)      specify which names to exclude   

Required Output Arguments:

  --output <File>      specify the output   

Author:

Ryan Cabeen


MapCatWide

Description:

concatenate map files into rows of a table (more efficient than MapCat)

Required Parameter Arguments:

  --pattern <Pattern>      specify an input pattern (substitution like ${name})   
  --vars name=value(s)      specify a list of identifiers   

Optional Parameter Arguments:

  --tuples       expand multiple vars to tuples (default: cartesian product)   
  --input-name <String>      specify the input map name field (Default: name)   
  --input-value <String>      specify the input map value field (Default: value)   
  --na <String>      specify value for missing entries (Default: NA)   
  --skip       skip missing files   
  --include name(s)      specify which names to include   
  --exclude name(s)      specify which names to exclude   

Required Output Arguments:

  --output <File>      specify the output   

Author:

Ryan Cabeen


MapEddy

Description:

Summarize the motion parameters from FSL EDDY

Required Input Arguments:

  --input <Vects>      the input eddy motion file, e.g. 'eddy_movement_rms'   

Optional Parameter Arguments:

  --prefix <String>      a prefix to add before the metric name (Default: )   

Required Output Arguments:

  --output <Table>      output map   

Author:

Ryan Cabeen


MapFilter

Description:

filter map files into a single map

Required Input Arguments:

  --pattern <Pattern>      specify an input pattern (containing a single %)   
  --vars value(s)      specify a list of identifiers (space separated)   

Optional Parameter Arguments:

  --name <String>      specify the entry to select in each map (Default: name)   
  --skip       skip missing or erroneous files   

Required Output Arguments:

  --output <File>      specify the output   

Author:

Ryan Cabeen


MapLaterality

Description:

Compute the lateralization index of a given map. This assumes you have a two column table (name,value) that contains left and right measurements (see module parameters to specify the left/right identifiers)

Required Input Arguments:

  --input <Table>      input table (should use the naming convention like the module parameters)   

Optional Parameter Arguments:

  --name <String>      the field holding the name of the measurement (Default: name)   
  --value <String>      the field holding the value of the measurement (Default: value)   
  --left <String>      the identifier for left values (Default: lh_)   
  --right <String>      the identifier for right values (Default: rh_)   
  --indlat <String>      the identifier for the lateralization index (Default: indlat_)   
  --abslat <String>      the identifier for the absolute lateralization index (Default: abslat_)   
  --unilat <String>      the identifier for the unilateral averaging (Default: unilat_)   
  --minlat <String>      the identifier for the left right minimum (Default: minlat_)   
  --maxlat <String>      the identifier for the left right maximum (Default: maxlat_)   

Required Output Arguments:

  --output <Table>      output table   

Author:

Ryan Cabeen


MaskAdapt

Description:

Clean a mask by performing morphological opening followed by closing

Required Input Arguments:

  --input <Mask>      input mask   
  --volume <Volume>      input volume   

Optional Parameter Arguments:

  --diameter <int>      the distance in voxels for adaptation (Default: 1)   
  --thresh <double>      the statistical threshold (Default: 1.0)   
  --robust       use robust statistics   
  --robustHuber       use a Huber estimator robust statistics   

Required Output Arguments:

  --output <Mask>      output mask   
  --outputProb <Volume>      output prob   

Author:

Ryan Cabeen


MaskBinarize

Description:

Binarize a mask to convert all labels to zero or one.

Required Input Arguments:

  --input <Mask>      input mask   

Required Output Arguments:

  --output <Mask>      output mask   

Author:

Ryan Cabeen


MaskBoundary

Description:

Close a mask using morphological operations

Required Input Arguments:

  --input <Mask>      input mask   

Optional Parameter Arguments:

  --element <String>      specify an element (Default: cross)   

Required Output Arguments:

  --output <Mask>      output mask   

Author:

Ryan Cabeen


MaskBox

Description:

Compute the bounding box of a mask

Required Input Arguments:

  --input <Mask>      input mask   

Optional Parameter Arguments:

  --foreground       compute box around foreground   
  --buffer <Double>      a buffer in mm   

Required Output Arguments:

  --output <Solids>      output bounding box   

Author:

Ryan Cabeen


MaskBoxCreate

Description:

Create a mask from a box

Required Input Arguments:

  --input <Solids>      the input box   

Optional Parameter Arguments:

  --delta <double>      voxel spacing (Default: 1.0)   
  --round       round the starting point   

Required Output Arguments:

  --output <Mask>      output mask   

Author:

Ryan Cabeen


MaskCat

Description:

Concatenate mask files

Required Input Arguments:

  --input <File(s)>      specify an input masks   

Required Output Arguments:

  --output <File>      specify the output   

Author:

Ryan Cabeen


Module: MaskCentroids Field: nearest Message: cannot be datatype ‘Vect’. (hint: change it to String, Boolean, Integer, Double, or an Enum)

Module validation revealed 1 invalid fields. See report results above.


MaskClean

Description:

Clean a mask by performing morphological opening followed by closing

Required Input Arguments:

  --input <Mask>      input mask   

Optional Parameter Arguments:

  --num <int>      the number of iterations (Default: 1)   
  --largest       select the largest component as an intermediate step   
  --element <String>      specify an element: cross, cube, or sphere. you can also specify an     optional size, e.g. cross(3) (Default: cross)   
  --outside       treat voxels outside mask as background   

Required Output Arguments:

  --output <Mask>      output mask   

Author:

Ryan Cabeen


MaskClose

Description:

Close a mask morphologically. This dilates and then erodes the mask

Required Input Arguments:

  --input <Mask>      input mask   

Optional Parameter Arguments:

  --num <int>      the number of times to erode and dilate the mask (Default: 1)   
  --largest       select the largest component as an intermediate step between erosion and     dilation   
  --mode       apply a mode filter as an intermediate step between erosion and dilation   
  --element <String>      specify an element: cross, cube, or sphere. you can also specify an     optional size, e.g. cross(3) (Default: cross)   
  --outside       treat voxels outside mask as background   

Required Output Arguments:

  --output <Mask>      output mask   

Author:

Ryan Cabeen


MaskComponents

Description:

Compute connected components of a mask. The output will be sorted by the number of voxels per component, e.g. the largest component will have label 1, and the second largest will have label 2, etc.

Required Input Arguments:

  --input <Mask>      input mask   

Optional Parameter Arguments:

  --full       use a full 27-voxel neighborhood (default is 6-voxel)   
  --which <String>      include only specific component labels, e.g. "1,2" would select the two     largest components   
  --minvoxels <Integer>      filter out components with fewer then the given number of voxels   
  --minvolume <Double>      filter out components that are smaller in volume than the given threshold   
  --keep       keep the input labels (only relevant to filtering options)   

Required Output Arguments:

  --output <Mask>      output mask   

Author:

Ryan Cabeen


MaskConvert

Description:

Convert a mask between file formats

Required Input Arguments:

  --input <Mask>      input   

Required Output Arguments:

  --output <Mask>      output   

Author:

Ryan Cabeen


MaskCreate

Description:

Create a mask based on user specified parameters

Optional Parameter Arguments:

  --deltax <double>      voxel spacing in x (Default: 1.0)   
  --deltay <double>      voxel spacing in y (Default: 1.0)   
  --deltaz <double>      voxel spacing in z (Default: 1.0)   
  --numx <int>      number of voxels in x (Default: 128)   
  --numy <int>      number of voxels in y (Default: 128)   
  --numz <int>      number of voxels in z (Default: 1)   
  --startx <double>      starting position in x (Default: 0.0)   
  --starty <double>      starting position in y (Default: 0.0)   
  --startz <double>      starting position in z (Default: 0.0)   
  --label <int>      constant label (Default: 0)   

Required Output Arguments:

  --output <Mask>      output mask   

Author:

Ryan Cabeen


MaskCreateOverlay

Description:

Create a mask from an overlay file

Required Input Arguments:

  --reference <Mask>      input reference mask   

Required Parameter Arguments:

  --overlay <String>      the overlay filename   

Optional Parameter Arguments:

  --label <int>      the label to use (Default: 1)   
  --preserve       preserve the labels from the reference mask   

Required Output Arguments:

  --output <Mask>      output mask   

Author:

Ryan Cabeen


MaskCrop

Description:

Crop a mask down to a smaller mask (only one criteria per run)

Required Input Arguments:

  --input <Mask>      input mask   

Optional Input Arguments:

  --mask <Mask>      a mask   
  --solids <Solids>      some soids   

Optional Parameter Arguments:

  --range <String>      a range specification, e.g. start:end,start:end,start:end   
  --invert       invert the selection   
  --pad <int>      a padding size in voxels (Default: 0)   

Required Output Arguments:

  --output <Mask>      the output mask   

Author:

Ryan Cabeen


MaskDeform

Description:

Dilate a mask morphologically.

Required Input Arguments:

  --input <Mask>      input mask   

Optional Parameter Arguments:

  --effect <double>      deformation effect size (Default: 1.0)   
  --extent <double>      deformation spatial extent (Default: 1.0)   
  --iters <int>      number of velocity field integrations (Default: 8)   
  --interp <InterpolationType>      the velocity field interpolation method (Options: Nearest, Trilinear,     Tricubic, Gaussian, GaussianLocalLinear, GaussianLocalQuadratic) (Default:     Nearest)   

Optional Output Arguments:

  --velocity <Volume>      output forward deformation   
  --forward <Deformation>      output forward deformation   
  --backward <Deformation>      output backward deformation   

Author:

Ryan Cabeen


MaskDice

Description:

Binarize a mask to convert all labels to zero or one.

Required Input Arguments:

  --left <Mask>      input left mask   
  --right <Mask>      input right mask   

Author:

Ryan Cabeen


MaskDiceBatch

Description:

Compute the dice coefficient between a set of segmentations. The input can be specified two ways. In the first way, you can specify a single multi-label mask for each of the left and right flags (optionally specifying the name of each label using a lookup table). In the second way, you provide a pattern (containing %s) to a set of mask files and then specify a list of names for substitution into that pattern.

Required Input Arguments:

  --left <FilePattern>      specify the first set of segmentations   
  --right <FilePattern>      specify the second set of segmentations   

Optional Parameter Arguments:

  --names <Spec>      specify bundle identifiers (e.g. a file that lists the bundle names)   
  --lookup <Spec>      specify region labels (should be a csv table with index and name columns)   

Required Output Arguments:

  --output <File>      specify an output table   

Author:

Ryan Cabeen


MaskDilate

Description:

Dilate a mask morphologically.

Required Input Arguments:

  --input <Mask>      input mask   

Optional Parameter Arguments:

  --num <int>      the number of times to dilate the mask (Default: 1)   
  --element <String>      specify an element: cross, cube, or sphere. you can also specify an     optional size, e.g. cross(3) (Default: cross)   
  --outside       treat voxels outside mask as background   

Required Output Arguments:

  --output <Mask>      output mask   

Author:

Ryan Cabeen


MaskDistanceTransform

Description:

Compute a distance transform using pff’s fast algorithm

Required Input Arguments:

  --input <Mask>      the input mask   

Optional Parameter Arguments:

  --signed       compute a signed transform   

Required Output Arguments:

  --output <Volume>      the output distance transform   

Author:

Ryan Cabeen

Citation:

Felzenszwalb, P., & Huttenlocher, D. (2004). DistanceExtrinsic transforms of sampled functions. Cornell University.


MaskEdge

Description:

Detect the edges of a input mask

Required Input Arguments:

  --input <Mask>      input input   

Optional Parameter Arguments:

  --binary       binarize the edges   
  --full       use a full neighborhood   

Required Output Arguments:

  --output <Mask>      output input   

Author:

Ryan Cabeen


MaskErode

Description:

Erode a mask morphologically

Required Input Arguments:

  --input <Mask>      input mask   

Optional Parameter Arguments:

  --num <int>      the number of iterations (Default: 1)   
  --outside       treat voxels outside mask as background   
  --verbose       print messages   

Required Output Arguments:

  --output <Mask>      output mask   

Author:

Ryan Cabeen


MaskExtract

Description:

Extract specific labels from a mask

Required Input Arguments:

  --input <Mask>      input mask   

Optional Input Arguments:

  --lookup <Table>      input lookup table (must store the index and name of each label)   

Optional Parameter Arguments:

  --label <String>      the label(s) to extract (comma delimited, e.g. 1,2,3 or     lh-temporal,rh-temporal if a lookup is used) (Default: 1)   
  --mode <MaskExtractMode>      the mode for extracting labels (Options: Binary, Preserve, Distinct)     (Default: Binary)   
  --name <String>      the name field in the lookup table (Default: name)   
  --index <String>      the index field in the lookup table (Default: index)   

Required Output Arguments:

  --output <Mask>      output mask   

Author:

Ryan Cabeen


MaskFill

Description:

Flood fill the interior of the mask regions

Required Input Arguments:

  --input <Mask>      input mask   

Required Output Arguments:

  --output <Mask>      output mask   

Author:

Ryan Cabeen


MaskFilter

Description:

Filter a mask in a variety of possible ways

Required Input Arguments:

  --input <Mask>      input mask   

Optional Input Arguments:

  --mask <Mask>      a region to limit the filtering   
  --ref <Volume>      input reference volume   

Optional Parameter Arguments:

  --mode       apply a mode filter   
  --largest       extract the largest region   
  --largestn <Integer>      extract the largest N region   
  --minvox <Integer>      the minima region voxel count   
  --minvol <Double>      the minima region volume   
  --highest       extract the region with the highest average average reference value   
  --lowest       extract the region with the lowest average average reference value   
  --most       extract the region with the most total reference signal   
  --binarize       binarize the mask at the end   

Required Output Arguments:

  --output <Mask>      output mask   

Author:

Ryan Cabeen


MaskFilterMedian

Description:

Perform median filtering of a mask.

Required Input Arguments:

  --input <Mask>      input volume   

Optional Input Arguments:

  --mask <Mask>      input mask   

Optional Parameter Arguments:

  --window <int>      the window size in voxels (Default: 1)   
  --slice <String>      restrict the filtering to a specific slice (i, j, or k)   
  --num <Integer>      the number of times to filter (Default: 1)   
  --threads <Integer>      the number of threads in the pool (Default: 1)   

Required Output Arguments:

  --output <Mask>      output volume   

Author:

Ryan Cabeen


MaskFilterMode

Description:

Perform mode filtering a mask. Each voxel will be replaced by the most frequent label in the surrounding neighborhood, so this is like performing non-linear smoothing a mask

Required Input Arguments:

  --input <Mask>      input mask   

Optional Input Arguments:

  --mask <Mask>      input mask to restrict filtering   

Required Output Arguments:

  --output <Mask>      output mask   

Author:

Ryan Cabeen


MaskForce

Description:

Compute a force field of a mask

Required Input Arguments:

  --input <Mask>      input mask   

Optional Input Arguments:

  --lookup <Table>      input lookup table (must store the index and name of each label)   

Optional Parameter Arguments:

  --range <Double>      the distance for the force field (Default: 2.0)   
  --outside       only include forces outside   
  --flip       flip the orientation of the forces   
  --smooth       apply fiber smoothing after projection   
  --sigma <Double>      apply smoothing with the given amount (bandwidth in mm) (default is largest     voxel dimension)   
  --support <int>      the smoothing filter radius in voxels (Default: 3)   
  --which <String>      only process certain parcellation labels (by default all will be processed)   
  --name <String>      the name field in the lookup table (Default: name)   
  --index <String>      the index field in the lookup table (Default: index)   
  --threads <int>      the number of threads (Default: 1)   

Advanced Parameter Arguments:

  --range <Double>      the distance for the force field (Default: 2.0)   
  --sigma <Double>      apply smoothing with the given amount (bandwidth in mm) (default is largest     voxel dimension)   
  --support <int>      the smoothing filter radius in voxels (Default: 3)   
  --name <String>      the name field in the lookup table (Default: name)   
  --index <String>      the index field in the lookup table (Default: index)   

Required Output Arguments:

  --output <Volume>      the output vectors   

Optional Output Arguments:

  --labels <Mask>      the output mask of labels   

Author:

Ryan Cabeen


MaskFuse

Description:

fuse volumes

Required Input Arguments:

  --input <Mask(s)>      the input volumes   

Optional Input Arguments:

  --mask <Mask>      specify a mask   

Optional Parameter Arguments:

  --pattern <String(s)>      specify a list of names that will be substituted with input %s   

Optional Output Arguments:

  --output-label <Mask>      specify the output maxima likelihood label   
  --output-prob <Volume>      specify the output label probability   

Author:

Ryan Cabeen


MaskGreater

Description:

Extract the larger components of a mesh

Required Input Arguments:

  --input <Mask>      input mask   

Optional Parameter Arguments:

  --minimum <double>      the minima volume (Default: 25.0)   

Required Output Arguments:

  --output <Mask>      output mask   

Author:

Ryan Cabeen


MaskHull

Description:

Compute the convex hull of a mask

Required Input Arguments:

  --input <Mask>      input mask   

Required Output Arguments:

  --output <Mask>      output mask   

Author:

Ryan Cabeen

Citation:

Barber, C. B., Dobkin, D. P., & Huhdanpaa, H. (1996). The quickhull algorithm for convex hulls. ACM Transactions on Mathematical Software (TOMS), 22(4), 469-483.


MaskIntersection

Description:

Compute the logical AND of two masks

Required Input Arguments:

  --left <Mask>      input left mask   
  --right <Mask>      input right mask   

Optional Parameter Arguments:

  --mode <MaskIntersectionMode>      specify what label should be returned (Options: Left, Right, Max, Min, Sum,     Product, One) (Default: Left)   

Required Output Arguments:

  --output <Mask>      output mask   

Author:

Ryan Cabeen


MaskInvert

Description:

Invert the labels of a mask

Required Input Arguments:

  --input <Mask>      input mask   

Optional Input Arguments:

  --mask <Mask>      only invert in this region   

Required Output Arguments:

  --output <Mask>      output mask   

Author:

Ryan Cabeen


MaskLargest

Description:

Extract the largest component of a mask

Required Input Arguments:

  --input <Mask>      input mask   

Required Output Arguments:

  --output <Mask>      output mask   

Author:

Ryan Cabeen


MaskLateralize

Description:

Compute the logical AND of two masks

Required Input Arguments:

  --input <Mask>      input mask   
  --left <Mask>      a mask marking off the left hemisphere (the remainder is assumed to be the     right)   

Optional Parameter Arguments:

  --leftPrefix <String>      the left prefix (Default: Left_)   
  --leftPostfix <String>      the left postfix (Default: )   
  --rightPrefix <String>      the right prefix (Default: Right_)   
  --rightPostfix <String>      the right postfix (Default: )   

Required Output Arguments:

  --output <Mask>      output mask   

Author:

Ryan Cabeen


MaskLesser

Description:

Extract the smaller components of a mesh

Required Input Arguments:

  --input <Mask>      input mask   

Optional Parameter Arguments:

  --maximum <double>      the maxima volume (Default: 25.0)   

Required Output Arguments:

  --output <Mask>      output mask   

Author:

Ryan Cabeen


MaskList

Description:

Create a list of regions from a mask

Required Input Arguments:

  --input <Mask>      input mask   

Optional Input Arguments:

  --mask <Mask>      a mask   

Optional Parameter Arguments:

  --zero       include zero   
  --base <String>      specify a basename (Default: region)   
  --name <String>      specify the lookup name field (Default: name)   
  --index <String>      specify the output index name (Default: index)   

Required Output Arguments:

  --output <Table>      output table   

Author:

Ryan Cabeen


MaskMRFEM

Description:

Refine a segmentation using a Expectation Maximization Markov Random Field framework

Required Input Arguments:

  --input <Mask>      input region   
  --volume <Volume>      input volume   
  --mask <Mask>      input mask   

Optional Parameter Arguments:

  --distance <Double>      the distance in voxels for adaptation (Default: 1.0)   
  --mrfCross       use a 6-neighborhood (instead of a full 27-neighborhood with diagonals)   
  --mrfGamma <Double>      use the following spatial regularization weight (Default: 1.0)   
  --mrfCrfGain <Double>      use the gain used for the conditional random field (zero will disable it)     (Default: 1.0)   
  --mrfIcmIters <Integer>      use the following number of MRF optimization iterations (Default: 5)   
  --mrfEmIters <Integer>      use the following number of expectation maximization iteration (Default: 5)   

Required Output Arguments:

  --output <Mask>      output input   

Author:

Ryan Cabeen


MaskMarchingCubes

Description:

Extract surfaces from a mask. If there are multiple labels in the volume, distinct meshes will be produced for each label.

Required Input Arguments:

  --input <Mask>      input mask   

Optional Input Arguments:

  --table <Table>      a table listing a subset of indices   

Optional Parameter Arguments:

  --std <Double>      perform Gaussian smoothing before surface extraction   
  --support <Integer>      use a given support in voxels for smoothing (Default: 3)   
  --level <Double>      use a given isolevel for smoothed surface extraction (Default: 0.5)   
  --which <String>      a string specifying a subset of labels, e.g. 1,2,4:6   
  --tindex <String>      the index field name to use in the table (Default: index)   
  --mindex <String>      the mesh attribute for the index value (default is "label") (Default:     label)   
  --meanarea <Double>      simplify the mesh to have the given mean triangle area   

Advanced Parameter Arguments:

  --tindex <String>      the index field name to use in the table (Default: index)   
  --mindex <String>      the mesh attribute for the index value (default is "label") (Default:     label)   

Required Output Arguments:

  --output <Mesh>      output mesh   

Author:

Ryan Cabeen

Citation:

Lorensen, W. E., & Cline, H. E. (1987, August). Marching cubes: A high resolution 3D surface construction algorithm. In ACM siggraph computer graphics (Vol. 21, No. 4, pp. 163-169). ACM.


MaskMarchingSquares

Description:

Extract contours from slices of a mask

Required Input Arguments:

  --input <Mask>      input mask   

Optional Parameter Arguments:

  --dim <String>      volume channel to contour (x, y, or z) (Default: z)   
  --start <int>      starting slice index (Default: 0)   
  --step <int>      number of slices between contours (Default: 1)   

Required Output Arguments:

  --output <Curves>      output curves   

Author:

Ryan Cabeen

Citation:

Maple, C. (2003, July). Geometric design and space planning using the marching squares and marching cube algorithms. In Geometric Modeling and Graphics, 2003. Proceedings. 2003 International Conference on (pp. 90-95). IEEE.


MaskMeasure

Description:

Measure properties of a mask

Required Input Arguments:

  --input <Mask>      input mask   

Optional Input Arguments:

  --region <Mask>      restrict the analysis to a given region of interest   
  --lookup <Table>      use a lookup for region names   

Optional Parameter Arguments:

  --nameField <String>      specify the output name field (Default: name)   
  --valueField <String>      specify the output value field name (Default: value)   
  --lutNameField <String>      specify the lookup name field (Default: name)   
  --lutIndexField <String>      specify the lut index field name (Default: index)   
  --volumes       report only the region volumes   
  --fraction       compute the fraction of each region   
  --cluster       compute cluster statistics of each region   
  --position       compute the position of each region   
  --components       run connected components labeling before anything else   
  --binarize       binarize the mask before anything else (overrides the components flag)   
  --comps       include component counts in the report   
  --counts       include voxel counts in the report   
  --minvolume <Double>      the minimum component volume (mm^3) to be included   
  --minvoxels <Integer>      the minimum component voxel count to be included   

Required Output Arguments:

  --output <Table>      output table   

Author:

Ryan Cabeen


MaskMeasureBatch

Description:

Compute measures of a set of curves in batch mode.

Required Input Arguments:

  --input <FilePattern>      specify an input mask filename pattern   

Required Parameter Arguments:

  --names <Spec>      specify the case identifiers (e.g. a file that lists the subject ids)   

Optional Parameter Arguments:

  --name <String>      specify an interpolation method (Default: name)   
  --value <String>      specify an interpolation method (Default: value)   
  --threads <Integer>      specify a number of threads (Default: 1)   

Required Output Arguments:

  --output <Table>      specify an output table   

Author:

Ryan Cabeen


MaskMeasureClusters

Description:

Measure individual cluster sizes of a mask

Required Input Arguments:

  --input <Mask>      input mask   

Optional Input Arguments:

  --region <Mask>      restrict the analysis to a given region of interest   
  --lookup <Table>      use a lookup for region names   

Optional Parameter Arguments:

  --nameField <String>      specify the output name field (Default: name)   
  --clusterField <String>      specify the output cluster field (Default: cluster)   
  --voxelsField <String>      specify the output voxel count field name (Default: voxels)   
  --lutNameField <String>      specify the lookup name field (Default: name)   
  --lutIndexField <String>      specify the lut index field name (Default: index)   
  --minvolume <Double>      the minimum component volume (mm^3) to be included   
  --minvoxels <Integer>      the minimum component voxel count to be included   

Required Output Arguments:

  --output <Table>      output table   

Author:

Ryan Cabeen


Description:

Create a node link representation of mask connectivity in a mesh

Required Input Arguments:

  --input <Mask>      input mask   
  --lookup <Table>      input table   
  --attributes <Table>      input attributes   

Optional Parameter Arguments:

  --index <String>      index (Default: index)   
  --name <String>      name (Default: name)   
  --group <String>      group (Default: group)   
  --value <String>      value (Default: value)   
  --radius <double>      radius (Default: 10.0)   
  --subdiv <int>      subdiv (Default: 2)   

Optional Output Arguments:

  --links <Curves>      output links   
  --nodes <Mesh>      output nodes   

Author:

Ryan Cabeen


MaskOpen

Description:

Open a mask using morphological operations. This first erodes the mask and then dilates it.

Required Input Arguments:

  --input <Mask>      input mask   

Optional Parameter Arguments:

  --num <int>      the number of times to erode and dilate the mask (Default: 1)   
  --largest       select the largest component as an intermediate step between erosion and     dilation   
  --mode       apply a mode filter as an intermediate step between erosion and dilation   
  --element <String>      specify an element: cross, cube, or sphere. you can also specify an     optional size, e.g. cross(3) (Default: cross)   
  --outside       treat voxels outside mask as background   

Required Output Arguments:

  --output <Mask>      output mask   

Author:

Ryan Cabeen


MaskOrigin

Description:

Set the origin of a mask

Required Input Arguments:

  --input <Mask>      the input Mask   

Optional Parameter Arguments:

  --x <double>      the origin in x (Default: 0.0)   
  --y <double>      the origin in y (Default: 0.0)   
  --z <double>      the origin in z (Default: 0.0)   

Required Output Arguments:

  --output <Mask>      the output Mask   

Author:

Ryan Cabeen


MaskPad

Description:

Pad a mask by a given number of voxels

Required Input Arguments:

  --input <Mask>      input mask   

Optional Parameter Arguments:

  --pad <int>      the amount of padding in voxels (Default: 10)   

Required Output Arguments:

  --output <Mask>      output mask   

Author:

Ryan Cabeen


MaskPhantomNoisy

Description:

Generate a noisy mask

Optional Parameter Arguments:

  --width <int>      image width (Default: 100)   
  --height <int>      image height (Default: 100)   
  --slices <int>      image slices (Default: 1)   
  --labels <int>      the number of labels to use (Default: 1)   

Required Output Arguments:

  --output <Mask>      output mask   

Author:

Ryan Cabeen


MaskPrintInfo

Description:

Print basic information about a mask

Required Input Arguments:

  --input <Mask>      the input mask   

Optional Parameter Arguments:

  --stats       print statistics   

Author:

Ryan Cabeen


MaskProbFuse

Description:

Fuse probability maps into a multi-label mask. Each input volume should be a probability map for an individual region. The labels will match the order of the inputs

Required Input Arguments:

  --input <Volume(s)>      the input probability maps   
  --thresh <double>      specify the minimum probability threshold (Default: 0.25)   

Optional Output Arguments:

  --output-label <Mask>      specify the output maxima likelihood label   
  --output-prob <Volume>      specify the output label probability   

Author:

Ryan Cabeen


MaskPrototype

Description:

Create a mask from example data

Optional Input Arguments:

  --mask <Mask>      an example mask   
  --volume <Volume>      an example volume   

Optional Parameter Arguments:

  --label <int>      the default label (Default: 0)   

Required Output Arguments:

  --output <Mask>      output   

Author:

Ryan Cabeen


MaskRegionMerge

Description:

Merge small regions using an adjacency graph

Required Input Arguments:

  --input <Mask>      input region input   

Optional Parameter Arguments:

  --threshold <double>      the input threshold (Default: 10.0)   
  --full       use a full 27-voxel neighborhood (default is 6-voxel)   

Required Output Arguments:

  --output <Mask>      output input   

Author:

Ryan Cabeen


MaskRegionsExtract

Description:

extract mesh models from a mask for each region

Required Input Arguments:

  --regions <Mask>      specify input region of interest(s)   
  --lookup <Table>      a table listing the names of regions   

Optional Input Arguments:

  --mask <Mask>      specify a mask for including voxels   

Optional Parameter Arguments:

  --name <String>      specify a lookup table field for region names (Default: name)   
  --index <String>      specify a lookup table field for region index (label) (Default: index)   
  --include name(s)      specify which names to include   
  --exclude name(s)      specify which names to exclude   
  --support <Integer>      specify a filter support size (Default: 3)   
  --std <Double>      specify a smoothing bandwidth   
  --level <Double>      specify a isolevel (Default: 0.5)   

Optional Output Arguments:

  --output-mesh <Pattern>      specify an output pattern (contains %s) for mesh output   
  --output-mask <Pattern>      specify an output pattern (contains %s) for mask output   

Author:

Ryan Cabeen


MaskRegionsMeasure

Description:

measure statistics of volume data in a set of regions of interest

Required Input Arguments:

  --regions <Mask>      specify input region of interest(s)   
  --lookup <Table>      a table listing the names of regions   

Optional Input Arguments:

  --weight <Volume>      specify a volumetric weighting for computing statistics   
  --mask <Mask>      specify a mask for including voxels   

Optional Parameter Arguments:

  --basic       report only basic statistics   
  --volume <String=Volume> [...]      specify volumes to measure   
  --name <String>      specify a lookup table field for region names (Default: name)   
  --index <String>      specify a lookup table field for region index (label) (Default: index)   
  --na <String>      specify a name for missing values (Default: NA)   

Required Output Arguments:

  --output <Directory>      specify an output directory   

Author:

Ryan Cabeen


MaskRelabel

Description:

Relabel a mask by replacing voxel labels with new values

Required Input Arguments:

  --mask <Mask>      input mask   
  --mapping <Table>      input mapping (includes fields named 'from' and 'to')   

Optional Input Arguments:

  --lookup <Table>      input lookup   

Optional Parameter Arguments:

  --preserve       preserve the input labels if possible   
  --names       use names for remapping (instead of index labels)   
  --from <String>      specify a from field to us in mapping (Default: from)   
  --to <String>      specify a to field to us in mapping (Default: to)   
  --name <String>      the name field (Default: name)   
  --index <String>      the index field (Default: index)   

Required Output Arguments:

  --outputMask <Mask>      output mask   

Optional Output Arguments:

  --outputLookup <Table>      output lookup   

Author:

Ryan Cabeen


MaskReorder

Description:

Change the ordering of voxels in a mask. You can flip and shift the voxels.
Which shifting outside the field a view, the data is wrapped around.
Shifting is applied before flipping

Required Input Arguments:

  --input <Mask>      input mask   

Optional Parameter Arguments:

  --flipi       flip in i   
  --flipj       flip in j   
  --flipk       flip in k   
  --shifti <int>      shift in i (Default: 0)   
  --shiftj <int>      shift in j (Default: 0)   
  --shiftk <int>      shift in k (Default: 0)   

Required Output Arguments:

  --output <Mask>      output mask   

Author:

Ryan Cabeen


MaskResample

Description:

Resample a mask with a different voxel size

Required Input Arguments:

  --input <Mask>      the input volume   

Optional Parameter Arguments:

  --dx <double>      the voxel size in x (Default: 1.0)   
  --dy <double>      the voxel size in y (Default: 1.0)   
  --dz <double>      the voxel size in z (Default: 1.0)   

Required Output Arguments:

  --output <Mask>      the output volume   

Author:

Ryan Cabeen


MaskRestoreMRF

Description:

Restore a mask using a markov random field with loopy belief propagation

Required Input Arguments:

  --input <Mask>      input mask   

Optional Input Arguments:

  --mask <Mask>      a mask of the area to restore   

Optional Parameter Arguments:

  --cost <double>      the cost for changing a voxel label (Default: 0.75)   
  --data <double>      the weight for the data term (Default: 1.0)   
  --smooth <double>      the weight for the smoothness term (Default: 1.0)   
  --iters <int>      the number of belief propagation iterations (Default: 50)   

Required Output Arguments:

  --output <Mask>      output mask   

Author:

Ryan Cabeen

Citation:

Felzenszwalb, P. F., & Huttenlocher, D. P. (2006). Efficient belief propagation for early vision. International journal of computer vision, 70(1), 41-54.


MaskRings

Description:

Compute equidistant rings around a region

Required Input Arguments:

  --input <Mask>      input region   

Optional Input Arguments:

  --mask <Mask>      input mask   

Optional Parameter Arguments:

  --levels <String>      the levels for segmentation (comma-separated in mm) (Default: 3,5,7,9)   

Required Output Arguments:

  --output <Mask>      output mask   

Author:

Ryan Cabeen


MaskSampleVects

Description:

Sample vects from a mask

Required Input Arguments:

  --input <Mask>      input mask   

Optional Parameter Arguments:

  --count <int>      the number of samples per voxel (Default: 1)   
  --limit <int>      the maximum number of points to produce (Default: 10000)   

Required Output Arguments:

  --output <Vects>      output vects   

Author:

Ryan Cabeen


MaskSet

Description:

Set the values of a mask

Required Input Arguments:

  --input <Mask>      the input mask   

Optional Input Arguments:

  --solids <Solids>      some solids   
  --vects <Vects>      some vects   
  --mask <Mask>      the mask   

Optional Parameter Arguments:

  --clear       clear the input labels before setting anything   
  --range <String>      a range, e.g. start:end,start:end,start:end   
  --label <int>      the label to set (Default: 1)   

Required Output Arguments:

  --output <Mask>      the output mask   

Author:

Ryan Cabeen


MaskSetEyes

Description:

Binarize a mask to convert all labels to zero or one.

Required Input Arguments:

  --input <Mask>      input reference mask   
  --eyes <Vects>      input eye positions   

Optional Parameter Arguments:

  --start <double>      the starting level (Default: 10.0)   
  --end <double>      the end level (Default: 55.0)   

Required Output Arguments:

  --output <Mask>      output mask   

Author:

Ryan Cabeen


MaskSetTable

Description:

Create a table listing regions of a mask

Required Input Arguments:

  --reference <Mask>      input reference   
  --table <Table>      input table   

Optional Input Arguments:

  --lookup <Table>      a lookup table to relate names to indices   

Optional Parameter Arguments:

  --merge <String>      a field name to merge on (Default: name)   
  --index <String>      the index field name (Default: index)   
  --value <String>      a field to set (Default: value)   
  --background <double>      a background value (Default: 0.0)   
  --missing <Double>      an missing value   

Required Output Arguments:

  --output <Volume>      output volume   

Author:

Ryan Cabeen


MaskShell

Description:

Compute the shell of a mask (the voxels at the boundary of the mesh)

Required Input Arguments:

  --input <Mask>      input mask   

Optional Parameter Arguments:

  --num <int>      dilate this many times (Default: 1)   
  --mode <ShellMode>      specify a mode for computing the shell (Options: Inner, Outer, Multi)     (Default: Inner)   

Required Output Arguments:

  --output <Mask>      output mask   

Author:

Ryan Cabeen


MaskSkeleton

Description:

Skeletonize a mask using medial axis thinning. Based on Hanno Homan’s implementation of Lee et al. at http://hdl.handle.net/1926/1292

Required Input Arguments:

  --input <Mask>      input mask   

Required Output Arguments:

  --output <Mask>      output mask   

Author:

Ryan Cabeen

Citation:

Lee, Ta-Chih, Rangasami L. Kashyap, and Chong-Nam Chu. Building skeleton models via 3-D medial surface axis thinning algorithms. CVGIP: Graphical Models and Image Processing 56.6 (1994): 462-478.


MaskSort

Description:

Sort the labels of a mask by their size

Required Input Arguments:

  --input <Mask>      input mask   

Required Output Arguments:

  --output <Mask>      output mask   

Author:

Ryan Cabeen


MaskSplitMidline

Description:

Split mask regions at the midline to produce left and right regions

Required Input Arguments:

  --mask <Mask>      input mask   

Optional Input Arguments:

  --lookup <Table>      input lookup   

Optional Parameter Arguments:

  --pattern <String>      a pattern for renaming entries (Default: %{hemi}_%{name})   
  --midline <Integer>      specify a midline index (otherwise the middle is used)   
  --start <Integer>      specify an offset value (0 or 1) (Default: 1)   
  --left <String>      specify an identifier for the left hemisphere (Default: left)   
  --right <String>      specify an identifier for the right hemisphere (Default: right)   
  --name <String>      the name field in the lookup table (Default: name)   
  --index <String>      the index field in the lookup table (Default: index)   

Required Output Arguments:

  --outputMask <Mask>      output mask   

Optional Output Arguments:

  --outputLookup <Table>      output lookup   

Author:

Ryan Cabeen


MaskStandardize

Description:

Standardize the pose of a mask

Required Input Arguments:

  --input <Mask>      input mask   

Optional Output Arguments:

  --output <Mask>      output mask   
  --xfm <Affine>      output affine   
  --invxfm <Affine>      output inverse affine   

Author:

Ryan Cabeen


MaskTable

Description:

Create a table listing regions of a mask

Required Input Arguments:

  --input <Mask>      input mask   

Optional Parameter Arguments:

  --nameField <String>      the region name field (Default: name)   
  --indexField <String>      the region label field (Default: index)   
  --namePattern <String>      a pattern for naming regions (Default: region%d)   
  --xField <String>      the region centroid x field (Default: x)   
  --yField <String>      the region centroid y field (Default: y)   
  --zField <String>      the region centroid z field (Default: z)   
  --name       include a name field   
  --centroid       include a centroid fields   

Required Output Arguments:

  --output <Table>      output table   

Author:

Ryan Cabeen


MaskThick

Description:

Filter the mask to include only subregions with at least the given thickness

Required Input Arguments:

  --input <Mask>      input mask   

Optional Parameter Arguments:

  --num <int>      the minimum thickness in voxels (Default: 1)   
  --element <String>      specify an element: cross, cube, or sphere. you can also specify an     optional size, e.g. cross(3) (Default: cross)   

Required Output Arguments:

  --output <Mask>      output mask   

Author:

Ryan Cabeen


MaskTransform

Description:

Transform a mask

Required Input Arguments:

  --input <Mask>      input volume   
  --reference <Volume>      input reference volume   

Optional Input Arguments:

  --mask <Mask>      input mask (defined in the reference space)   
  --inputMask <Mask>      use an input mask (defined in the input space)   
  --affine <Affine>      apply an affine xfm   
  --invaffine <Affine>      apply an inverse affine xfm   
  --deform <Deformation>      apply a deformation xfm   

Optional Parameter Arguments:

  --reverse       reverse the order, i.e. compose the affine(deform(x)), whereas the default     is deform(affine(x))   
  --background <Integer>      a label for filling background voxels   

Required Output Arguments:

  --output <Mask>      output volume   

Author:

Ryan Cabeen


MaskTransformBatch

Description:

Apply a spatial transformation to many masks

Required Input Arguments:

  --input <FilePattern>      specify a pattern for mask inputs (contains %s)   

Required Parameter Arguments:

  --names <Spec>      specify identifiers (used for substitution of %s in the input and output)   

Optional Parameter Arguments:

  --reference <Filename>      specify a reference volume   
  --affine <Filename>      specify an affine transform   
  --deform <Filename>      specify a deformation   
  --invaffine <Filename>      specify an inverse affine transform   
  --reverse       apply the reverse transform   
  --threads <Integer>      use the given number of threads (Default: 1)   

Required Output Arguments:

  --output <FilePattern>      specify a pattern for mask outputs (contains %s)   

Author:

Ryan Cabeen


MaskUnion

Description:

Combine two masks into one. By default, the left mask labels will be preserved and background voxels will be OR-ed with the right mask. You can optionally relabel the result to assign new labels to distinct pairs of left/right labels

Required Input Arguments:

  --left <Mask>      input left mask   
  --right <Mask>      input right mask   

Optional Parameter Arguments:

  --relabel       combine the masks using distinct values   
  --max       use the maximum label when masks overlap (default is to use the left)   
  --distinct       use a label of one for the left mask and a label of two for the right   

Required Output Arguments:

  --output <Mask>      output mask   

Author:

Ryan Cabeen


MaskVects

Description:

Extract a vector for each foreground voxel

Required Input Arguments:

  --input <Mask>      input mask   

Required Output Arguments:

  --output <Vects>      output vects   

Author:

Ryan Cabeen


MaskZoom

Description:

Zoom a mask

Required Input Arguments:

  --input <Mask>      input mask   

Optional Parameter Arguments:

  --factor <Double>      an isotropic scaling factor (Default: 2.0)   
  --isotropic <Double>      an isotropic scaling factor   
  --fi <Double>      a scaling factor in i   
  --fj <Double>      a scaling factor in j   
  --fk <Double>      a scaling factor in k   
  --mode       filter the mask to smooth it   

Required Output Arguments:

  --output <Mask>      output mask   

Author:

Ryan Cabeen


MatrixConvert

Description:

Convert a matrix between file formats

Required Input Arguments:

  --input <Matrix>      input matrix   

Required Output Arguments:

  --output <Matrix>      output matrix   

Author:

Ryan Cabeen


MatrixCreate

Description:

Create a matrix

Required Parameter Arguments:

  --identity <Integer>      create an identity matrix with the given channel   

Required Output Arguments:

  --output <Matrix>      output matrix   

Author:

Ryan Cabeen


MatrixInvert

Description:

Invert a matrix

Required Input Arguments:

  --input <Matrix>      input matrix   

Required Output Arguments:

  --output <Matrix>      output matrix   

Author:

Ryan Cabeen



MatrixOrthogonalize

Description:

Orthogonalize a matrix

Required Input Arguments:

  --input <Matrix>      input matrix   

Required Output Arguments:

  --output <Matrix>      output matrix   

Author:

Ryan Cabeen


MatrixPrintInfo

Description:

Print basic information about a matrix

Required Input Arguments:

  --input <Matrix>      the input matrix   

Author:

Ryan Cabeen


MatrixTranspose

Description:

Transpose a matrix

Required Input Arguments:

  --input <Matrix>      input matrix   

Required Output Arguments:

  --output <Matrix>      output matrix   

Author:

Ryan Cabeen


MeshAttributes

Description:

Manipulate mesh vertex attributes. Operations support comma-delimited lists

Required Input Arguments:

  --input <Mesh>      the input Mesh   

Optional Parameter Arguments:

  --copy <String>      copy attribute (x=y syntax)   
  --rename <String>      rename attribute (x=y syntax)   
  --remove <String>      remove attribute (- for all)   
  --retain <String>      retain the given attributes and remove others)   

Required Output Arguments:

  --output <Mesh>      the output Mesh   

Author:

Ryan Cabeen


MeshBox

Description:

Get the bounding box of a mesh

Required Input Arguments:

  --input <Mesh>      input mesh   

Required Output Arguments:

  --output <Solids>      output box   

Author:

Ryan Cabeen


MeshCat

Description:

Concatentate two meshes

Required Input Arguments:

  --left <Mesh>      input left   
  --right <Mesh>      input right   

Required Output Arguments:

  --output <Mesh>      output mesh   

Author:

Ryan Cabeen


MeshCatBatch

Description:

Concatenate mesh files

Required Input Arguments:

  --input <File(s)>      specify an input meshes   

Optional Parameter Arguments:

  --names <String(s)>      use pattern-based input with the given names   
  --label       add a label attribute   
  --attr <String>      use a specific label attribute name (Default: label)   

Required Output Arguments:

  --output <File>      specify the output   

Optional Output Arguments:

  --output-table <File>      specify the output table name   

Author:

Ryan Cabeen


MeshComponents

Description:

Compute connected components of a mesh

Required Input Arguments:

  --input <Mesh>      the input mesh   

Optional Parameter Arguments:

  --largest       retain only the largest component   
  --attr <String>      the name of the component attribute (Default: index)   
  --select <String>      retain components selected with the given attribute   
  --area <Double>      retain components above a given surface area   
  --invert       invert the selection   

Required Output Arguments:

  --output <Mesh>      the output mesh   

Author:

Ryan Cabeen


MeshConvert

Description:

Convert a mesh between file formats

Required Input Arguments:

  --input <Mesh>      input mesh   

Required Output Arguments:

  --output <Mesh>      output mesh   

Author:

Ryan Cabeen


MeshCreateBox

Description:

Create a box

Required Output Arguments:

  --output <Mesh>      output mesh   

Author:

Ryan Cabeen


MeshCreateCylinder

Description:

Create a cylinder mesh

Optional Parameter Arguments:

  --startx <double>      input start x coordinate (Default: 0.0)   
  --starty <double>      input start y coordinate (Default: 0.0)   
  --startz <double>      input start z coordinate (Default: 0.0)   
  --endx <double>      input end x coordinate (Default: 1.0)   
  --endy <double>      input end y coordinate (Default: 10.0)   
  --endz <double>      input end z coordinate (Default: 10.0)   
  --radius <double>      input radius (Default: 5.0)   
  --resolution <int>      input resolution (Default: 5)   

Required Output Arguments:

  --output <Mesh>      output mesh   

Author:

Ryan Cabeen


MeshCreateHemisphere

Description:

Create a hemisphere mesh

Optional Parameter Arguments:

  --sudiv <int>      the number of subdivisions (Default: 1)   

Required Output Arguments:

  --output <Mesh>      output mesh   

Author:

Ryan Cabeen


MeshCreateIcosahedron

Description:

Create a icosahedron

Required Output Arguments:

  --output <Mesh>      output mesh   

Author:

Ryan Cabeen


MeshCreateOctahedron

Description:

Create an octahedron

Required Output Arguments:

  --output <Mesh>      output mesh   

Author:

Ryan Cabeen


MeshCreateSphere

Description:

Create a sphere mesh

Optional Parameter Arguments:

  --x <double>      input x coordinate (Default: 0.0)   
  --y <double>      input y coordinate (Default: 0.0)   
  --z <double>      input z coordinate (Default: 0.0)   
  --radius <double>      input radius (Default: 5.0)   
  --subdiv <int>      input subdivisions (Default: 2)   

Required Output Arguments:

  --output <Mesh>      output mesh   

Author:

Ryan Cabeen


MeshCreateTetrahedron

Description:

Create a tetrahedron

Required Output Arguments:

  --output <Mesh>      output mesh   

Author:

Ryan Cabeen


MeshCrop

Description:

Crop a mesh

Required Input Arguments:

  --input <Mesh>      the input mesh   

Optional Input Arguments:

  --solids <Solids>      remove vertices inside the given solids   

Optional Parameter Arguments:

  --selection <String>      remove vertices that are selected with a non-zero attribute   
  --invert       invert the selection   

Required Output Arguments:

  --output <Mesh>      the output mesh   

Author:

Ryan Cabeen


MeshCropSelection

Description:

Crop a mesh from a selection

Required Input Arguments:

  --input <Mesh>      the input mesh   

Optional Parameter Arguments:

  --invert       invert the selection   
  --attr <String>      the selection attribute (Default: selection)   

Required Output Arguments:

  --output <Mesh>      the output mesh   

Author:

Ryan Cabeen


MeshExtract

Description:

Extract a subset of a mesh that matches the given attribute values

Required Input Arguments:

  --input <Mesh>      input mesh   

Optional Parameter Arguments:

  --attr <String>      the attribute name of the label used to select (Default: label)   
  --include <String>      which labels to include, e.g. 1,2,3:5   
  --exclude <String>      which labels to exclude, e.g. 1,2,3:5   

Required Output Arguments:

  --output <Mesh>      output mesh   

Author:

Ryan Cabeen


MeshFeatures

Description:

Compute geometric features of a mesh at each vertex. A locally quadratic approximation at each vertex is used to find curvature features

Required Input Arguments:

  --input <Mesh>      the input mesh   

Optional Parameter Arguments:

  --attr <String>      the mesh attribute (Default: coord)   
  --rings <int>      the number of vertex rings to use for estimation (Default: 2)   
  --smooth <int>      the number of pre-smoothing iterations (Default: 0)   
  --refine       refine the vertex positions to match the quadratic estimate (a loess type     filter)   
  --step <double>      the gradient step size for refinement (Default: 0.001)   
  --thresh <double>      the error threshold for refinement (Default: 0.01)   
  --iters <int>      the maximum number of refinement iterations (Default: 1000)   
  --scaling <double>      the scaling factor for boundary estimation (Default: 2.0)   

Required Output Arguments:

  --output <Mesh>      the output mesh   

Author:

Ryan Cabeen


MeshFlipNormals

Description:

Flip the normals of a mesh

Required Input Arguments:

  --input <Mesh>      the input mesh   

Required Output Arguments:

  --output <Mesh>      the output mesh   

Author:

Ryan Cabeen


MeshForceCortex

Description:

Compute the force field of a cortical mesh

Required Input Arguments:

  --input <Mesh>      input mesh   

Optional Input Arguments:

  --refvolume <Volume>      input reference volume (exclusive with refmask)   
  --refmask <Mask>      input reference mask (exclusive with refvolume)   
  --lookup <Table>      input lookup table (must store the index and name of each label)   

Optional Parameter Arguments:

  --pial <String>      pial attribute name (Default: pial)   
  --white <String>      white attribute name (Default: white)   
  --parc <String>      parcellation attribute name (Default: aparc)   
  --which <String>      only process certain parcellation labels (by default all will be processed)   
  --name <String>      the name field in the lookup table (Default: name)   
  --index <String>      the index field in the lookup table (Default: index)   
  --mindist <double>      the minimum white-pial to be included (Default: 1.0)   
  --samples <int>      the number of points to sample (Default: 15)   
  --inner <double>      the inner buffer size (Default: 2.0)   
  --outer <double>      the outer buffer size (Default: 2.0)   
  --nofill       skip the filling step   
  --smooth       apply fiber smoothing after projection   
  --sigma <Double>      apply smoothing with the given amount (bandwidth in mm) (default is largest     voxel dimension)   
  --support <int>      the smoothing filter radius in voxels (Default: 3)   
  --threads <int>      the number of threads (Default: 1)   

Advanced Parameter Arguments:

  --name <String>      the name field in the lookup table (Default: name)   
  --index <String>      the index field in the lookup table (Default: index)   
  --sigma <Double>      apply smoothing with the given amount (bandwidth in mm) (default is largest     voxel dimension)   
  --support <int>      the smoothing filter radius in voxels (Default: 3)   

Required Output Arguments:

  --output <Volume>      the output vectors   

Optional Output Arguments:

  --labels <Mask>      the output labels   

Author:

Ryan Cabeen


MeshFuse

Description:

fuse meshes

Required Input Arguments:

  --input <Meshes>      the input meshes   

Optional Parameter Arguments:

  --pattern <String(s)>      specify a list of names that will be substituted with input %s   

Optional Output Arguments:

  --vector <String>      specify vector attributes (comma-separated)   
  --discrete <String>      specify discrete attributes (comma-separated)   
  --output <Volume>      specify the output label probability   

Author:

Ryan Cabeen


MeshGetVects

Description:

Extract a mesh vertex attribute as vectors

Required Input Arguments:

  --mesh <Mesh>      input mesh   

Optional Parameter Arguments:

  --name <String>      the destination attribute name (Default: attr)   

Required Output Arguments:

  --output <Vects>      output mesh   

Author:

Ryan Cabeen


MeshGrow

Description:

Grow a mesh to fill a volume

Required Input Arguments:

  --input <Mesh>      the input mesh   
  --reference <Volume>      the reference volume   

Optional Parameter Arguments:

  --source <String>      the source vertex attribute (default is the vertex position) (Default:     coord)   
  --dest <String>      the destination vertex attribute (the result will be saved here) (Default:     shell)   
  --dist <String>      the distance to the best match (the result will be saved here) (Default:     dist)   
  --threshold <double>      the threshold (Default: 0.5)   
  --distance <double>      the maximums distance to search (Default: 20.0)   
  --step <double>      the maximums distance to search (Default: 0.25)   
  --invert       detect and increase past the threshold (the default is to detect the drop)   
  --outside       search inside the mesh (the default is to search outside)   
  --interp <InterpolationType>      image interpolation method (Options: Nearest, Trilinear, Tricubic,     Gaussian, GaussianLocalLinear, GaussianLocalQuadratic) (Default: Trilinear)   

Required Output Arguments:

  --output <Mesh>      the output mesh   

Author:

Ryan Cabeen


MeshHoleFill

Description:

Fill holes in a mesh. This can be applied to either the entire mesh or a selection

Required Input Arguments:

  --input <Mesh>      the input mesh   

Required Output Arguments:

  --output <Mesh>      the output mesh   

Author:

Ryan Cabeen


MeshHull

Description:

Compute the convex hull of a mesh

Required Input Arguments:

  --input <Mesh>      input mesh   

Required Output Arguments:

  --output <Mesh>      output hull mesh   

Author:

Ryan Cabeen

Citation:

Barber, C. B., Dobkin, D. P., & Huhdanpaa, H. (1996). The quickhull algorithm for convex hulls. ACM Transactions on Mathematical Software (TOMS), 22(4), 469-483.


MeshMapSphere

Description:

Convert a mesh between file formats

Required Input Arguments:

  --input <Mesh>      input mesh   

Optional Parameter Arguments:

  --preiters <int>      the world space Laplacian smoothing iterations (Default: 100)   
  --iters <int>      the Laplacian smoothing iterations (Default: 100)   
  --lambmin <double>      the minimum Laplacian smoothing rate (Default: 0.1)   
  --lambmax <double>      the maximum Laplacian smoothing rate (Default: 0.5)   
  --gain <double>      the curvature gain (Default: 5.0)   

Required Output Arguments:

  --output <Mesh>      output mesh   

Author:

Ryan Cabeen


MeshMath

Description:

Evaluate an expression at each vertex of a mesh

Required Input Arguments:

  --input <Mesh>      the input mesh   

Optional Parameter Arguments:

  --expression <String>      the expression to evaluate (Default: x > 0.5)   
  --result <String>      the attribute name for the result (Default: result)   

Required Output Arguments:

  --output <Mesh>      output mesh   

Author:

Ryan Cabeen


MeshMeasure

Description:

Measure global properties of a mesh

Required Input Arguments:

  --input <Mesh>      input mesh   

Required Output Arguments:

  --output <Table>      output table   

Author:

Ryan Cabeen


MeshMeasureRegion

Description:

Measure regional attributes properties of a mesh

Required Input Arguments:

  --input <Mesh>      input mesh   

Optional Input Arguments:

  --lookup <Table>      input lookup table   
  --labels <Vects>      add the following per-vertex labeling to use for computing region     statistics   

Required Parameter Arguments:

  --attr <String>      compute statistics of the following attributes (a comma-delimited list can     be used)   
  --output <String>      output directory   

Optional Parameter Arguments:

  --label <String>      use the given vertex attribute to identify regions and compute statistics     (Default: label)   
  --lutname <String>      the lookup name field (Default: name)   
  --lutindex <String>      the lookup index field (Default: index)   
  --outname <String>      the output name field (Default: name)   
  --outvalue <String>      the output value field (Default: value)   

Author:

Ryan Cabeen


MeshNormals

Description:

Compute vertex normals of a mesh

Required Input Arguments:

  --input <Mesh>      the input mesh   

Optional Parameter Arguments:

  --attr <String>      the mesh attribute (Default: coord)   
  --smooth <int>      the number of smoothing iterations (Default: 0)   

Required Output Arguments:

  --output <Mesh>      the output mesh   

Author:

Ryan Cabeen


MeshPrintInfo

Description:

Print basic information about a mesh

Required Input Arguments:

  --input <Mesh>      the input mesh   

Optional Parameter Arguments:

  --stats       print statistics   
  --area       print statistics of triangle areas   

Author:

Ryan Cabeen


MeshRegionBoundary

Description:

Extract the boundaries of mesh regions

Required Input Arguments:

  --input <Mesh>      the input Mesh   

Optional Parameter Arguments:

  --coords <String>      a comma-separated list of coordinate attributes to lift (Default: coord)   
  --label <String>      the label attribute name (Default: coord)   
  --lift <double>      apply the given amount of lift off the mesh (Default: 0.0)   

Required Output Arguments:

  --output <Mesh>      the output Mesh   

Author:

Ryan Cabeen


MeshSample

Description:

Sample a volume at input vertices

Required Input Arguments:

  --input <Mesh>      input input   
  --volume <Volume>      input volume   

Optional Parameter Arguments:

  --interp <InterpolationType>      interpolation method (Options: Nearest, Trilinear, Tricubic, Gaussian,     GaussianLocalLinear, GaussianLocalQuadratic) (Default: Trilinear)   
  --coord <String>      coord attribute name (used for sampling volume) (Default: coord)   
  --attr <String>      output attribute name (where the sampled image data will be stored)     (Default: sampled)   
  --window <Double>      compute a statistical summary of image intensities sampled along points     within a certain window of each vertex (units: mm), sampled along the     surface normal direction   
  --sample <MeshSampleDirection>      compute the statistical summary in a given direction (default is both     inside and outside the mesh) (Options: Both, Inside, Outside) (Default:     Both)   
  --stat <MeshSampleStatistic>      use the given statistic for summarizing the vertex window (Options: Mean,     Min, Max) (Default: Mean)   

Required Output Arguments:

  --output <Mesh>      the output mesh   

Author:

Ryan Cabeen


MeshSelect

Description:

Select vertices of a mesh

Required Input Arguments:

  --input <Mesh>      the input mesh   

Optional Input Arguments:

  --solids <Solids>      some solids   

Optional Parameter Arguments:

  --boundary       select the boundary   
  --invert       invert the selection   
  --attr <String>      the selection attribute (Default: selection)   
  --value <double>      the selection value (Default: 1.0)   

Required Output Arguments:

  --output <Mesh>      the output mesh   

Author:

Ryan Cabeen


MeshSelectionClose

Description:

Close a mesh vertex selection

Required Input Arguments:

  --input <Mesh>      input mesh   

Optional Parameter Arguments:

  --largest       select the largest component as an intermediate step   
  --num <int>      the number of iterations (Default: 1)   
  --attr <String>      the selection attribute (Default: selection)   

Required Output Arguments:

  --output <Mesh>      output mesh   

Author:

Ryan Cabeen


MeshSelectionComponents

Description:

Compute connected components of a mesh selection

Required Input Arguments:

  --input <Mesh>      the input mesh   

Optional Parameter Arguments:

  --largest       retain only the largest component   
  --attr <String>      the name of the selection attribute (Default: selection)   

Required Output Arguments:

  --output <Mesh>      the output mesh   

Author:

Ryan Cabeen


MeshSelectionDilate

Description:

Dilate a mesh selection

Required Input Arguments:

  --input <Mesh>      input mesh   

Optional Parameter Arguments:

  --num <int>      the number of iterations (Default: 1)   
  --attr <String>      the selection attribute (Default: selection)   

Required Output Arguments:

  --output <Mesh>      output mesh   

Author:

Ryan Cabeen


MeshSelectionErode

Description:

Erode a mesh selection

Required Input Arguments:

  --input <Mesh>      input mesh   

Optional Parameter Arguments:

  --num <int>      the number of iterations (Default: 1)   
  --attr <String>      the selection attribute (Default: selection)   

Required Output Arguments:

  --output <Mesh>      output mesh   

Author:

Ryan Cabeen


MeshSelectionOpen

Description:

Open a mesh selection

Required Input Arguments:

  --input <Mesh>      input mesh   

Optional Parameter Arguments:

  --largest       select the largest component as an intermediate step   
  --num <int>      the number of iterations (Default: 1)   
  --attr <String>      the selection attribute (Default: selection)   

Required Output Arguments:

  --output <Mesh>      output mesh   

Author:

Ryan Cabeen


MeshSetTable

Description:

Create a table listing regions of a mask

Required Input Arguments:

  --mesh <Mesh>      input mesh   
  --table <Table>      input table   

Optional Input Arguments:

  --lookup <Table>      a lookup table to relate names to indices   

Optional Parameter Arguments:

  --merge <String>      a field name to merge on (Default: name)   
  --index <String>      the table index field name (Default: index)   
  --value <String>      a table field to get (can be comma delimited) (Default: value)   
  --mindex <String>      the mesh index field name (defaults to table index field name)   
  --mvalue <String>      the mesh value field name (defaults to table value field name)   
  --background <double>      a background value (Default: 0.0)   
  --missing <Double>      an missing value   
  --remove       remove triangles with vertices that are not included in the input table   

Required Output Arguments:

  --output <Mesh>      output mesh   

Author:

Ryan Cabeen


MeshSetVects

Description:

Add vects as an attribute on a mesh (number of vects must match the number of vertices)

Required Input Arguments:

  --mesh <Mesh>      input mesh   
  --vects <Vects>      input vects   

Optional Parameter Arguments:

  --name <String>      the destination attribute name (Default: attr)   

Required Output Arguments:

  --output <Mesh>      output mesh   

Author:

Ryan Cabeen


MeshSimplify

Description:

Simplify a input by removing short edges

Required Input Arguments:

  --input <Mesh>      the input mesh   

Optional Parameter Arguments:

  --maxiter <Integer>      maxima number of iterations (Default: 10000)   
  --maxvert <Integer>      maxima number of vertices   
  --maxedge <Integer>      maxima number of edges   
  --maxface <Integer>      maxima number of faces   
  --meanarea <Double>      maxima average face surface area   
  --nobound       do not remove boundary vertices   
  --chatty       print messages   

Required Output Arguments:

  --output <Mesh>      the output mesh   

Author:

Ryan Cabeen


MeshSmooth

Description:

Smooth a mesh

Required Input Arguments:

  --input <Mesh>      the input   

Optional Parameter Arguments:

  --attr <String>      the attribute to smooth (Default: coord)   
  --num <int>      a number of iterations (Default: 5)   
  --lambda <Double>      the lambda laplacian smoothing parameter (Default: 0.3)   
  --mu <Double>      the optional mu parameter for Taubin's method   

Required Output Arguments:

  --output <Mesh>      the output mesh   

Author:

Ryan Cabeen

Citation:

Taubin, G. (1995, September). A signal processing approach to fair surface design. In Proceedings of the 22nd annual conference on Computer graphics and interactive techniques (pp. 351-358). ACM.


MeshSubdivide

Description:

Subdivide a mesh. Each triangle is split into four with new vertices that split each edge in two.

Required Input Arguments:

  --input <Mesh>      the input mesh   

Optional Parameter Arguments:

  --num <int>      a number of subdivisions (Default: 1)   

Required Output Arguments:

  --output <Mesh>      the output mesh   

Author:

Ryan Cabeen


MeshTable

Description:

Create a table from mesh vertex attributes

Required Input Arguments:

  --input <Mesh>      input input   

Optional Parameter Arguments:

  --vertices <String>      which vertices retain (comma separated)   
  --which <String>      which attributes to retain (comma separated) (Default: coord)   

Required Output Arguments:

  --output <Table>      output table   

Author:

Ryan Cabeen


MeshTransform

Description:

Transform a mesh

Required Input Arguments:

  --input <Mesh>      input mesh   

Optional Input Arguments:

  --affine <Affine>      apply an affine xfm   
  --invaffine <Affine>      apply an inverse affine xfm   
  --deform <Deformation>      apply a deformation xfm   
  --pose <Volume>      apply a transform to match the pose of a volume   
  --invpose <Volume>      apply a transform to match the inverse pose of a volume   

Optional Parameter Arguments:

  --reverse       reverse the order, i.e. compose the affine(deform(x)), whereas the default     is deform(affine(x))   
  --attrs <String>      a comma-separated list of attributes to transform (Default: coord)   
  --tx <Double>      translate the mesh in by the given about in the x dimension   
  --ty <Double>      translate the mesh in by the given about in the y dimension   
  --tz <Double>      translate the mesh in by the given about in the z dimension   
  --sx <Double>      scale the mesh in by the given about in the x dimension   
  --sy <Double>      scale the mesh in by the given about in the y dimension   
  --sz <Double>      scale the mesh in by the given about in the z dimension   

Required Output Arguments:

  --output <Mesh>      output mesh   

Author:

Ryan Cabeen


MeshVertexMath

Description:

Evaluate an expression at each vertex of a mesh

Required Input Arguments:

  --input <Mesh>      the input mesh   

Optional Parameter Arguments:

  --expression <String>      the expression to evaluate (Default: x > 0.5)   
  --result <String>      the attribute for the result (Default: result)   

Required Output Arguments:

  --output <Mesh>      the output mesh   

Author:

Ryan Cabeen


MeshVertices

Description:

Extract the vertices of a mesh

Required Input Arguments:

  --input <Mesh>      input mesh   

Optional Parameter Arguments:

  --attribute <String>      attribute to extract (Default: coord)   
  --query <String>      an attribute to query (Default: label)   
  --value <Integer>      an integer value to query   
  --nonzero       select only vertices that have a non-zero query attribute   

Required Output Arguments:

  --output <Vects>      output vects   

Author:

Ryan Cabeen


MeshVoxelize

Description:

Voxelize a mesh to a mask (should be watertight if the mesh is also)

Required Input Arguments:

  --input <Mesh>      input input   
  --reference <Mask>      reference mask   

Optional Parameter Arguments:

  --label <Integer>      a label to draw (Default: 1)   
  --attr <String>      a attribute to draw (instead of the constant label)   
  --coord <String>      the coordinate attribute to use (not applicable when specifying inner and     outer shells) (Default: coord)   
  --innerAttr <String>      label vertices in a shell between an inner and outer spatial attribute,     e.g. like white and pial cortical surfaces   
  --outerAttr <String>      label vertices in a shell between an inner and outer spatial attribute,     e.g. like white and pial cortical surfaces   
  --innerBuffer <Double>      label vertices in a shell between this attribute and the primary one, e.g.     like white and pial cortical surfaces   
  --outerBuffer <Double>      label vertices in a shell between this attribute and the primary one, e.g.     like white and pial cortical surfaces   
  --fill       fill the inside of the mask   

Required Output Arguments:

  --output <Mask>      the output mask   

Author:

Ryan Cabeen


NeuronCat

Description:

Concatenate neuron files

Required Input Arguments:

  --input <Neuron(s)>      specify an input neuron files   

Required Output Arguments:

  --output <Neuron>      specify the neuron file   

Author:

Ryan Cabeen


NeuronCatPair

Description:

Combine two neurons into a single object

Required Input Arguments:

  --left <Neuron>      the input left neuron   
  --right <Neuron>      the input right neuron   

Required Output Arguments:

  --output <Neuron>      output neuron   

Author:

Ryan Cabeen


NeuronCrossing

Description:

Detect the crossing points between two neurons

Required Input Arguments:

  --left <Neuron>      the input left neuron   
  --right <Neuron>      the input right neuron   

Optional Parameter Arguments:

  --thresh <Double>      the minimum distance to be considered a crossing (by default it will be the     average inter-node distance)   
  --mode <NeuronCrossingMode>      specify a statistic for computing the threshold (not relevant if you     provide a specific value) (Options: Min, Max, Mean) (Default: Mean)   

Required Output Arguments:

  --output <Vects>      output vects   

Author:

Ryan Cabeen


NeuronExport

Description:

Export a neuron file to vects and curves

Required Input Arguments:

  --input <Neuron>      the input filename to the SWC neuron file   

Optional Output Arguments:

  --outputRoots <Vects>      output roots   
  --outputForks <Vects>      output forks   
  --outputLeaves <Vects>      output leaves   
  --outputForest <Curves>      output forest   

Author:

Ryan Cabeen


NeuronFilter

Description:

Filter a neuron

Required Input Arguments:

  --input <Neuron>      the input neuron   

Optional Parameter Arguments:

  --which <String>      select only the neurons with the given root labels (comma-separated list)   
  --laplacianIters <Integer>      apply laplacian smoothing the given number of times   
  --laplacianLambda <Double>      the smoothing weight for laplacian smoothing (only relevant if smoothing is     enabled) (Default: 0.25)   
  --lowessNum <Integer>      apply lowess smoothing with the given neighborhood size, e.g. 5   
  --lowessOrder <Integer>      apply lowess smoothing with the given local polynomial order (Default: 2)   
  --simplify <Double>      simplify the neuron segments with the Douglas-Peucker algorithm   
  --cut <Double>      cut away the portion of the neuron past the given Euclidean distance away     from the root   
  --relabel       relabel the nodes to be sequential   
  --sort       perform a topological sorting of nodes   
  --debase       separate the basal dendrite (detected by the soma branch with the farthest     reach)   

Advanced Parameter Arguments:

  --relabel       relabel the nodes to be sequential   
  --sort       perform a topological sorting of nodes   
  --debase       separate the basal dendrite (detected by the soma branch with the farthest     reach)   

Required Output Arguments:

  --output <Neuron>      output neuron   

Author:

Ryan Cabeen


NeuronMeasure

Description:

Measure statistics of a neuron file

Required Input Arguments:

  --input <Neuron>      the input neuron   

Optional Parameter Arguments:

  --single       include statistics for single neurons   

Required Output Arguments:

  --output <Table>      output table   

Author:

Ryan Cabeen


NeuronMesh

Description:

Create a mesh from a neuron file

Required Input Arguments:

  --input <Neuron>      the input filename to the SWC neuron file   

Optional Parameter Arguments:

  --noRootMesh       exclude sphere meshes for roots   
  --noForkMesh       exclude sphere meshes for forks   
  --noLeafMesh       exclude sphere meshes for leaves   
  --noTrunkMesh       exclude tube meshes for trunks   
  --noSphereSculpt       use constant radius for spheres (the default will modulate the thickness by     the neuron radius)   
  --noTrunkSculpt       use constant thickness tubes (the default will modulate the thickness by     the neuron radius)   
  --trunkColorMode <TrunkColorMode>      the coloring mode for trunks (Options: Solid, DEC, Segment, Tree) (Default:     Solid)   
  --rootScale <double>      the size of root spheres (Default: 1.0)   
  --forkScale <double>      the size of fork spheres (Default: 1.0)   
  --leafScale <double>      the size of leaf spheres (Default: 1.0)   
  --trunkScale <double>      the size of trunk tubes (Default: 1.0)   
  --rootColor <SolidColor>      the color of root spheres (Options: White, Cyan, Yellow, Blue, Magenta,     Orange, Green, Pink, GRAY, DarkGray, LightGray) (Default: Orange)   
  --forkColor <SolidColor>      the color of fork spheres (Options: White, Cyan, Yellow, Blue, Magenta,     Orange, Green, Pink, GRAY, DarkGray, LightGray) (Default: Cyan)   
  --leafColor <SolidColor>      the color of leaf spheres (Options: White, Cyan, Yellow, Blue, Magenta,     Orange, Green, Pink, GRAY, DarkGray, LightGray) (Default: Yellow)   
  --trunkColor <SolidColor>      the color of trunk tubes (if the coloring mode is solid) (Options: White,     Cyan, Yellow, Blue, Magenta, Orange, Green, Pink, GRAY, DarkGray,     LightGray) (Default: White)   
  --noColor       remove all colors (and invalidates any other color options)   
  --sphereResolution <int>      the resolution of the spheres i.e. the number of subdivisions, so be     careful with values above 3 (Default: 0)   
  --tubeResolution <int>      the resolution of the tubes, i.e. the number of radial spokes (Default: 5)   

Required Output Arguments:

  --output <Mesh>      output mesh   

Author:

Ryan Cabeen


NeuronPrintInfo

Description:

Measure statistics of a neuron file

Required Input Arguments:

  --input <Neuron>      the input neuron   

Author:

Ryan Cabeen


NeuronSplit

Description:

Split a SWC file to produce a single file per neuron

Required Input Arguments:

  --input <Neuron>      the input neuron   

Required Parameter Arguments:

  --output <String>      output filename (if you include %d, it will be substituted with the root     label, otherwise it will be renamed automatically)   

Optional Parameter Arguments:

  --root       use the root neuron label for naming the output file (i.e. the number     substituted for %d)   

Author:

Ryan Cabeen


NeuronStitch

Description:

Perform stitching to build neuron segments into a complete neuron. The neuron will be split into pieces and rebuilt.

Required Input Arguments:

  --input <Neuron>      the input neuron   

Optional Input Arguments:

  --somas <Solids>      a solids object for manually defining somas for stitching, e.g. each box     and sphere will define a region for building somas (only used when the soma     mode is Manual)   

Optional Parameter Arguments:

  --mode <NeuronStitchSomaMode>      choose a mode for selecting the soma(s).  Manual selection is for     user-defined soma (from a solids object passed to the somas option).      RadiusMax is for choosing the soma from the node with the largest radius.      Cluster is for detecting the soma by clustering endpoints and finding the     largest cluster (depends on the cluster option for defining the cluster     spatial extent) (Options: Manual, RadiusMax, Cluster) (Default: RadiusMax)   
  --threshold <Double>      a maximum distance for stitching together segments.  If two segments are     farther than this distance, they will not be stitched (default is to stitch     everything   
  --cluster <Double>      a specific radius for cluster-based soma selection (only used for the     Cluster soma detection mode)   

Required Output Arguments:

  --output <Neuron>      output neuron   

Author:

Ryan Cabeen


NeuronTransform

Description:

Apply a spatial transformation to a neuron

Required Input Arguments:

  --input <Neuron>      the neuron   

Optional Input Arguments:

  --affine <Affine>      apply an affine xfm   
  --invaffine <Affine>      apply an inverse affine xfm   

Optional Parameter Arguments:

  --xshift <double>      translate the neuron position in x by the given amount (Default: 0.0)   
  --yshift <double>      translate the neuron position in y by the given amount (Default: 0.0)   
  --zshift <double>      translate the neuron position in z by the given amount (Default: 0.0)   
  --xscale <double>      scale the neuron position in x by the given amount (Default: 1.0)   
  --yscale <double>      scale the neuron position in y by the given amount (Default: 1.0)   
  --zscale <double>      scale the neuron position in z by the given amount (Default: 1.0)   
  --rshift <double>      add the given amount to the radius (Default: 0.0)   
  --rscale <double>      scale the neuron radius by the given amount (Default: 1.0)   
  --rset <Double>      set the radius to a constant value   
  --jitter <Double>      jitter the position of the nodes by a random amount   
  --jitterEnds       jitter only leaves and roots   
  --swap <String>      swap a pair of coordinates (xy, xz, or yz)   

Required Output Arguments:

  --output <Neuron>      output neuron   

Author:

Ryan Cabeen


SolidsBox

Description:

Compute the bounding box of solids

Required Input Arguments:

  --input <Solids>      input solids   

Required Output Arguments:

  --output <Solids>      output bounding box   

Author:

Ryan Cabeen


SolidsCat

Description:

Concatenate solids

Required Input Arguments:

  --left <Solids>      input solids   
  --right <Solids>      input solids   

Required Output Arguments:

  --output <Solids>      output solids   

Author:

Ryan Cabeen


SolidsConvert

Description:

Convert solids between file formats

Required Input Arguments:

  --input <Solids>      input solids   

Required Output Arguments:

  --output <Solids>      output sphere   

Author:

Ryan Cabeen


SolidsCreateBox

Description:

Create a soilds object containing a box

Optional Parameter Arguments:

  --xmin <double>      a box minima value in x (Default: 0.0)   
  --ymin <double>      a box minima in y (Default: 0.0)   
  --zmin <double>      a box minima in z (Default: 0.0)   
  --xmax <double>      a box maxima value in x (Default: 1.0)   
  --ymax <double>      a box maxima in y (Default: 1.0)   
  --zmax <double>      a box maxima in z (Default: 1.0)   

Required Output Arguments:

  --output <Solids>      output solids   

Author:

Ryan Cabeen


SolidsCreateEmpty

Description:

Create an empty soilds object

Required Output Arguments:

  --output <Solids>      output solids   

Author:

Ryan Cabeen


SolidsCreatePlane

Description:

Create a soilds object containing a plane

Optional Parameter Arguments:

  --xpoint <double>      the x coordinate of a point on the plane (Default: 0.0)   
  --ypoint <double>      the y coordinate of a point on the plane (Default: 0.0)   
  --zpoint <double>      the z coordinate of a point on the plane (Default: 0.0)   
  --xnormal <double>      the x coordinate of the plane normal (Default: 0.0)   
  --ynormal <double>      the y coordinate of the plane normal (Default: 0.0)   
  --znormal <double>      the z coordinate of the plane normal (Default: 0.0)   

Required Output Arguments:

  --output <Solids>      output solids   

Author:

Ryan Cabeen


SolidsCreateSphere

Description:

Create a soilds object containing a sphere

Optional Parameter Arguments:

  --x <double>      a sphere x center (Default: 0.0)   
  --y <double>      a sphere y center (Default: 0.0)   
  --z <double>      a sphere z center (Default: 0.0)   
  --radius <double>      a sphere radius (Default: 10.0)   

Required Output Arguments:

  --output <Solids>      output solids   

Author:

Ryan Cabeen


SolidsMask

Description:

Create a mask from solids

Required Input Arguments:

  --input <Solids>      input solids   

Optional Parameter Arguments:

  --dx <double>      sample spacing in x (Default: 1.0)   
  --dy <double>      sample spacing in x (Default: 1.0)   
  --dz <double>      sample spacing in x (Default: 1.0)   
  --label <int>      label (Default: 1)   

Required Output Arguments:

  --output <Mask>      output mask   

Author:

Ryan Cabeen


SolidsMesh

Description:

Create a mask from solids

Required Input Arguments:

  --input <Solids>      input solids   

Optional Parameter Arguments:

  --delta <double>      the voxel resolution for discretization (Default: 1.0)   

Required Output Arguments:

  --output <Mesh>      output mesh   

Author:

Ryan Cabeen


SolidsPrintInfo

Description:

Print basic information about a solids

Required Input Arguments:

  --input <Solids>      the input solids   

Author:

Ryan Cabeen


SolidsSample

Description:

Sample vects inside solids

Required Input Arguments:

  --input <Solids>      input solids   

Optional Parameter Arguments:

  --num <int>      the number of points to sample (Default: 100)   

Required Output Arguments:

  --output <Vects>      output sampled vects   

Author:

Ryan Cabeen


SolidsToWaypoints

Description:

Create a waypoint mask from two solids

Required Input Arguments:

  --a <Solids>      first input set of solids   
  --b <Solids>      second input set of solids   
  --ref <Mask>      input reference mask   

Required Output Arguments:

  --output <Mask>      output waypoint mask   

Author:

Ryan Cabeen


SurfaceMeasure

Description:

Compute measures of brain surfaces, including surface area, hull surface area, gyrification, and lateralization, i.e. (left - right) / (left + right).

Required Input Arguments:

  --input <dir>      specify an input surface directory   

Required Output Arguments:

  --output <fn>      specify an output measure filename   

Author:

Ryan Cabeen


TableCat

Description:

Concatenate the rows of two tables. By default, it will only include fields that are common to both input tables.

Optional Input Arguments:

  --x <Table>      input first table   
  --y <Table>      input second table   

Optional Parameter Arguments:

  --outer       include all possible fields   

Required Output Arguments:

  --output <Table>      output table   

Author:

Ryan Cabeen


TableConvert

Description:

Convert a table between file formats

Required Input Arguments:

  --input <Table>      input table   

Required Output Arguments:

  --output <Table>      output table   

Author:

Ryan Cabeen


TableDistanceMatrix

Description:

Create a distance matrix from pairs of distances

Required Input Arguments:

  --input <Table>      input table (should have field for the left and right identifiers)   

Optional Parameter Arguments:

  --left <String>      the identifier for left values (Default: left)   
  --right <String>      the identifier for right values (Default: right)   
  --value <String>      the identifier for right values (Default: value)   

Required Output Arguments:

  --output <Table>      output table   

Author:

Ryan Cabeen


TableFilter

Description:

Filter a table, a few options are available

Required Input Arguments:

  --input <Table>      input table   
  --volumes <Table>      add a field for the mean value based on a table of volumes for each field     (this is an unusual need)   

Optional Parameter Arguments:

  --meanField <String>      the name of the field for saving the mean value (Default: mean)   
  --mergeField <String>      the name of the field for merging tables (Default: subject)   
  --missing <String>      a token for missing values (Default: NA)   

Required Output Arguments:

  --output <Table>      output table   

Author:

Ryan Cabeen


TableHemiMean

Description:

Compute the left-right average of a lateralized dataset

Required Input Arguments:

  --input <Table>      input table (should use the naming convention like the module parameters)   

Optional Parameter Arguments:

  --left <String>      the identifier for left values (Default: lh_)   
  --right <String>      the identifier for right values (Default: rh_)   

Required Output Arguments:

  --output <Table>      output table   

Author:

Ryan Cabeen


TableLaterality

Description:

Compute the lateralization index of a given map. This assumes you have a two column table (name,value) that contains left and right measurements (see module parameters to specify the left/right identifiers)

Required Input Arguments:

  --input <Table>      input table (should use the naming convention like the module parameters)   

Optional Parameter Arguments:

  --left <String>      the identifier for left values (Default: lh_)   
  --right <String>      the identifier for right values (Default: rh_)   
  --indlat <String>      the identifier for the lateralization index (Default: indlat_)   
  --abslat <String>      the identifier for the absolute lateralization index (Default: abslat_)   
  --unilat <String>      the identifier for the unilateral averaging (Default: unilat_)   
  --minlat <String>      the identifier for the left right minimum (Default: minlat_)   
  --maxlat <String>      the identifier for the left right maximum (Default: maxlat_)   

Required Output Arguments:

  --output <Table>      output table   

Author:

Ryan Cabeen


TableLateralityIndex

Description:

Compute the lateralization index of a given map. This assumes you have a two column table (name,value) that contains left and right measurements (see module parameters to specify the left/right identifiers)

Required Input Arguments:

  --input <Table>      input table (should use the naming convention like the module parameters)   

Optional Parameter Arguments:

  --name <String>      the field holding the name of the measurement (Default: name)   
  --value <String>      the field holding the value of the measurement (Default: value)   
  --left <String>      the identifier for left values (Default: lh_)   
  --right <String>      the identifier for right values (Default: rh_)   
  --lat <String>      the identifier for the lateralization index (Default: lat_)   
  --abslat <String>      the identifier for the absolute lateralization index (Default: abslat_)   
  --mean <String>      the identifier for the left-right average (Default: mean_)   

Required Output Arguments:

  --output <Table>      output table   

Author:

Ryan Cabeen


TableMapMath

Description:

Evaluate an expression with a map (a table listing name/value pairs)

Required Input Arguments:

  --input <Table>      the input table map   

Optional Parameter Arguments:

  --expression <String>      the expression to evaluate (Default: x > 0.5)   
  --name <String>      the field name for the name (Default: name)   
  --value <String>      the field name for the value (Default: value)   
  --result <String>      the name of the result (Default: result)   

Required Output Arguments:

  --output <Table>      output table   

Author:

Ryan Cabeen


TableMath

Description:

Evaluate an expression for each row of a table

Required Input Arguments:

  --input <Table>      the input table   

Optional Parameter Arguments:

  --expression <String>      the expression to evaluate (Default: x > 0.5)   
  --result <String>      the field name for the result (Default: result)   
  --na <String>      the string used for invalid values (Default: NA)   

Required Output Arguments:

  --output <Table>      output table   

Author:

Ryan Cabeen


TableMerge

Description:

Merge two tables based the value of a shared field

Required Input Arguments:

  --left <Table>      input left table   
  --right <Table>      input right table   

Optional Parameter Arguments:

  --field <String>      the common field to merge on (Default: name)   
  --leftField <String>      use the given left field (instead of the shared merge field)   
  --rightField <String>      use the given right field (instead of the shared merge field)   
  --leftPrefix <String>      add a prefix to the fields from the left table (Default: )   
  --rightPrefix <String>      add a prefix to the fields from the right table (Default: )   
  --leftPostfix <String>      add a postfix to the fields from the left table (Default: )   
  --rightPostfix <String>      add a postfix to the fields from the right table (Default: )   

Advanced Parameter Arguments:

  --leftField <String>      use the given left field (instead of the shared merge field)   
  --rightField <String>      use the given right field (instead of the shared merge field)   

Required Output Arguments:

  --output <Table>      output table   

Author:

Ryan Cabeen


TableNarrow

Description:

Narrow a table to reduce the number of fields

Required Input Arguments:

  --input <Table>      input table   

Optional Parameter Arguments:

  --name <String>      the new field for each field name (Default: name)   
  --value <String>      the new field for each field value (Default: value)   
  --keep <String>      fields to keep (comma separated)   

Required Output Arguments:

  --output <Table>      output table   

Author:

Ryan Cabeen


TableOutliers

Description:

Compute z-scores to detect outliers in a table

Required Input Arguments:

  --input <Table>      input table   

Required Output Arguments:

  --output <Table>      output table   

Author:

Ryan Cabeen


TablePrintData

Description:

Print data from a table

Required Input Arguments:

  --input <Table>      the input table   

Optional Parameter Arguments:

  --where <String>      an predicate for selecting records (using existing field names)   
  --name <String>      the name variable for use in the select predicate (Default: name)   
  --sort <String>      sort by fields (e.g. field2,#field3,^#field1).  '#' indicates the value is     numeric, and '^' indicates the sorting should be reversed   
  --retain <String>      retain only specific fields (comma delimited)   
  --remove <String>      remove specific fields (comma delimited)   
  --tab       use tabs   
  --header       print the header   
  --na <String>      use the given string for missing values (Default: NA)   

Author:

Ryan Cabeen


TablePrintInfo

Description:

Print basic information about a table

Required Input Arguments:

  --input <Table>      the input table   

Optional Parameter Arguments:

  --na <String>      specify the token for identifying missing values (Default: NA)   
  --field <String>      only print values from the given field (specify either the field index or     name)   
  --pattern <String>      print a pattern for each line, e.g. '${fieldA} and ${fieldB}   
  --indexed       print the row index   

Author:

Ryan Cabeen


TableReliability

Description:

Compute reproducibility statistics from repeated measures

Required Input Arguments:

  --input <Table>      input table   

Optional Parameter Arguments:

  --value <String>      the field to summarize (Default: value)   
  --id <String>      fields for identifying repeated measures (comma separated)   
  --group <String>      fields to group records by (comma separated)   

Required Output Arguments:

  --output <Table>      output table   

Author:

Ryan Cabeen


TableScoreZ

Description:

Compute summary statistics of a field of a table

Required Input Arguments:

  --input <Table>      input table   

Optional Parameter Arguments:

  --value <String>      the field to summarize (Default: value)   
  --absolute       report the absolute value of the z-score   
  --group <String>      fields to group records by (comma separated)   

Required Output Arguments:

  --output <Table>      output table   

Author:

Ryan Cabeen


TableSelect

Description:

Select columns from a table

Required Input Arguments:

  --input <Table>      input table   

Optional Parameter Arguments:

  --where <String>      an predicate for selecting records (using existing field names)   
  --sort <String>      sort by fields (e.g. field2,#field3,^#field1).  '#' indicates the value is     numeric, and '^' indicates the sorting should be reversed   
  --unique <String>      select a unique set from the given fields (comma delimited)   
  --retain <String>      include only specific fields (comma delimited regular expressions)   
  --remove <String>      exclude specific fields (comma delimited regular expressions)   
  --rename <String>      an renaming of fields (e.g. newfield=oldfield)   
  --dempty       delete fields with an empty name   
  --cat <String>      concatenate existing fields into a new one, e.g.     newfield=%{fieldA}_%{fieldB}   
  --constant <String>      add a constant field (e.g. newfield=value,newfield2=value2)   

Required Output Arguments:

  --output <Table>      output table   

Author:

Ryan Cabeen


TableSplitAlong

Description:

Split the name field from along tract analysis

Required Input Arguments:

  --input <Table>      input table   

Optional Parameter Arguments:

  --name <String>      the field to split (Default: name)   
  --bundle <String>      the name of the new bundle field (Default: bundle)   
  --index <String>      the name of the new index field (Default: index)   
  --delimiter <String>      the delimiter (Default: _)   

Required Output Arguments:

  --output <Table>      output table   

Author:

Ryan Cabeen


TableStats

Description:

Compute summary statistics of a field of a table

Required Input Arguments:

  --input <Table>      input table   

Optional Parameter Arguments:

  --value <String>      the field to summarize (Default: value)   
  --group <String>      fields to group records by (comma separated)   
  --pattern <String>      a pattern for saving statistics (contains %s) (Default: %s)   
  --which <String>      which statistics to include (mean, min, max, sum, var, std, num, cv)     (Default: mean,std)   

Required Output Arguments:

  --output <Table>      output table   

Author:

Ryan Cabeen


TableSubjectMatch

Description:

Match subjects into pairs. You should provide a field that stores a binary variable on which to split. The smaller group will be paired with subjects from the bigger group, and optionally, the pairing can be optimized to maximize similarity between paired individuals based on a number of scalar and discrete variables

Required Input Arguments:

  --input <Table>      input table   

Optional Parameter Arguments:

  --subject <String>      the field specifying the subject identifier (Default: subject)   
  --split <String>      the field for splitting the group (should be binary) (Default: subject)   
  --na <String>      a token for specifying missing data (Default: NA)   
  --distance <String>      the field name for distance in the output (Default: distance)   
  --scalar <String>      scalar fields to include when computing subject distances (comma separated     list) (Default: )   
  --discrete <String>      discrete fields to include when computing subject distances (comma     separated list) (Default: )   

Required Output Arguments:

  --output <Table>      output table   

Author:

Ryan Cabeen


TableSynth

Description:

Synthesize data based on a reference dataset

Required Input Arguments:

  --reference <Table>      input reference table   
  --sample <Table>      input sample table   

Optional Parameter Arguments:

  --group <String>      an optional list of variables (comma-separated) of variables for grouping   
  --scalar <String>      specify the scalar-valued fields (floating point)   
  --discrete <String>      specify the discrete-valued fields (integers)   
  --factor <String>      specify the categorical-valued fields (factors)   
  --missing       synthesize missing data   
  --na <String>      specify a missing value token (Default: NA)   

Required Output Arguments:

  --output <Table>      output synthesized table   

Author:

Ryan Cabeen


TableVolume

Description:

Map tabular data to a volume

Required Input Arguments:

  --input <Table>      input table   
  --reference <Mask>      a reference mask   

Optional Parameter Arguments:

  --vector       read vector values   
  --voxel <String>      index (Default: index)   
  --value <String>      value (Default: value)   
  --na <double>      a value to substitute for NAs (Default: 0.0)   

Required Output Arguments:

  --output <Volume>      output volume   

Author:

Ryan Cabeen


TableWiden

Description:

Widen a table to expand a single field to many

Required Input Arguments:

  --input <Table>      input table   

Optional Parameter Arguments:

  --name <String>      the field name to expand (Default: name)   
  --value <String>      the field value to expand (Default: value)   
  --pattern <String>      pattern for joining names (Default: %s.%s)   
  --na <String>      the value used for missing entries (Default: NA)   
  --include <String>      include fields   
  --exclude <String>      exclude fields   

Required Output Arguments:

  --output <Table>      output table   

Author:

Ryan Cabeen


TablesCat

Description:

concatentate rows of a collection of tables

Required Input Arguments:

  --input <Table(s)>      the input tables   

Optional Parameter Arguments:

  --outer       include all possible fields   

Required Output Arguments:

  --output <Table>      specify the output tables   

Author:

Ryan Cabeen


TablesMerge

Description:

merge the fields of a collection of tables

Required Input Arguments:

  --input <Table(s)>      the input tables   

Optional Parameter Arguments:

  --field <String>      the common field to merge on (Default: name)   

Required Output Arguments:

  --output <Table>      specify the output table   

Author:

Ryan Cabeen


VectsAlignAxis

Description:

Compute an affine transform to align a set of points to the z-axis

Required Input Arguments:

  --input <Vects>      input vects (should be roughly linear   

Required Output Arguments:

  --output <Affine>      output affine transform   

Author:

Ryan Cabeen


VectsBox

Description:

Get the bounding box of vects

Required Input Arguments:

  --input <Vects>      input vects   

Required Output Arguments:

  --output <Solids>      output bounding box   

Author:

Ryan Cabeen


VectsCat

Description:

Concatenate two sets of vectors into one

Required Input Arguments:

  --input <Vects>      input vects   
  --cat <Vects>      vects to concatenate   

Optional Parameter Arguments:

  --dims       concatenate dimensions (instead of vects)   

Required Output Arguments:

  --output <Vects>      output concatenated vects   

Author:

Ryan Cabeen


VectsClusterKMeans

Description:

Cluster vects using k-means or DP-means clustering

Required Input Arguments:

  --input <Vects>      the input vects   

Optional Parameter Arguments:

  --k <Integer>      none (Default: 3)   
  --lambda <Double>      none   
  --maxiter <Integer>      none (Default: 300)   

Optional Output Arguments:

  --centers <Vects>      the output cluster centeres   
  --output <Vects>      the output clustered vects (last coordinate stores label)   

Author:

Ryan Cabeen


VectsConvert

Description:

Convert vects between file formats

Required Input Arguments:

  --input <Vects>      input vects   

Required Output Arguments:

  --output <Vects>      output vects   

Author:

Ryan Cabeen


VectsCreate

Description:

Create vects

Required Output Arguments:

  --output <Vects>      output vects   

Author:

Ryan Cabeen


VectsCreateSphere

Description:

Create vects that lie on a sphere by subdividing an icosahedron

Optional Parameter Arguments:

  --subdiv <int>      the number of subdivisions of the sphere (Default: 3)   
  --smooth <Integer>      the number of smoothing iterations   
  --points <Integer>      reduce the point count   

Required Output Arguments:

  --output <Vects>      output vects   

Author:

Ryan Cabeen


VectsCreateSphereLookup

Description:

Create a set of uniformly distributed spherical points from a lookup table

Required Output Arguments:

  --output <Vects>      output vects   

Author:

Ryan Cabeen


VectsDistances

Description:

Compute the pairwise distance matrix of a set of vects

Required Input Arguments:

  --input <Vects>      input vects   

Required Output Arguments:

  --output <Matrix>      output distance matrix   

Author:

Ryan Cabeen


VectsFuse

Description:

fuse vects

Required Input Arguments:

  --input <Vect(s)>      the input vectss   

Optional Parameter Arguments:

  --pattern <String(s)>      specify a list of names that will be substituted with input %s   
  --bg <Double>      specify an additional background value for softmax or sumnorm   
  --gain <Double>      specify a gain for softmax   
  --offset <Double>      specify a offset for softmax   
  --skip       skip missing files   

Optional Output Arguments:

  --output-min <Vect>      specify the output min vects   
  --output-max <Vect>      specify the output max vects   
  --output-sum <Vect>      specify the output sum vects   
  --output-mean <Vect>      specify the output mean vects   
  --output-median <Vect>      specify the output median vects   
  --output-var <Vect>      specify the output var vects   
  --output-std <Vect>      specify the output std vects   
  --output-cv <Vect>      specify the output cv vects   

Author:

Ryan Cabeen


VectsHistogram

Description:

Compute a histogram of a vects

Required Input Arguments:

  --input <Vects>      the input vects   

Optional Parameter Arguments:

  --channel <int>      the channel to use (Default: 0)   
  --bins <int>      the number of bins (Default: 100)   
  --lower <Bound>      the method for computing the histogram lower bound (Options: Extrema,     Quartile, HalfStd, OneStd, TwoStd, ThreeStd, User) (Default: Extrema)   
  --upper <Bound>      the method for computing the histogram upper bound (Options: Extrema,     Quartile, HalfStd, OneStd, TwoStd, ThreeStd, User) (Default: Extrema)   
  --mylower <Double>      specify a specific lower bound for user defined mode   
  --myupper <Double>      specify a specific upper bound for user defined mode   
  --normalize       normalize the counts by the total count   
  --cdf       compute the cdf   
  --smooth <Double>      apply Gaussian smoothing (see hdata)   
  --hdata       interpret the smoothing parameter relative to the data intensities (default     is bins)   
  --print       print a the histogram to standard output   

Author:

Ryan Cabeen


VectsHull

Description:

Compute the convex hull of vects

Required Input Arguments:

  --input <Vects>      input vects   

Required Output Arguments:

  --output <Mesh>      output convex hull   

Author:

Ryan Cabeen

Citation:

Barber, C. B., Dobkin, D. P., & Huhdanpaa, H. (1996). The quickhull algorithm for convex hulls. ACM Transactions on Mathematical Software (TOMS), 22(4), 469-483.


VectsJitter

Description:

Jitter vects with isotropic Gaussian random displacements

Required Input Arguments:

  --input <Vects>      input vects   

Optional Parameter Arguments:

  --multiplier <int>      the number of multiples to include (Default: 1)   
  --std <double>      the number of samples to take (Default: 1.0)   

Required Output Arguments:

  --output <Vects>      output subsampled vects   

Author:

Ryan Cabeen


VectsMath

Description:

Evaluate an expression at each vector

Required Input Arguments:

  --input <Vects>      the input vects   

Optional Parameter Arguments:

  --expression <String>      the expression to evaluate (Default: mean(v))   

Required Output Arguments:

  --output <Vects>      output vects   

Author:

Ryan Cabeen


VectsMeasureRegion

Description:

Measure regional of a set of labeled vectors

Required Input Arguments:

  --input <Vects>      input vects   

Optional Input Arguments:

  --lookup <Table>      input lookup table   
  --labels <Vects>      add the following per-vertex labeling to use for computing region     statistics   

Required Parameter Arguments:

  --output <String>      output directory   

Optional Parameter Arguments:

  --name <String>      the name of the input data (Default: name)   
  --lutname <String>      the lookup name field (Default: name)   
  --lutindex <String>      the lookup index field (Default: index)   
  --outname <String>      the output name field (Default: name)   
  --outvalue <String>      the output value field (Default: value)   

Author:

Ryan Cabeen


VectsModeMeanShift

Description:

Compute the positions of modes of vectors using the mean shift algorithm

Required Input Arguments:

  --input <Vects>      input vects   

Optional Parameter Arguments:

  --bandwidth <Double>      the spatial bandwidth (Default: 1.0)   
  --minshift <Double>      the error threshold for convergence (Default: 1.0E-6)   
  --maxiter <Integer>      the maximum number of iterations (Default: 10000)   

Required Output Arguments:

  --masses <Vects>      output masses   
  --modes <Vects>      output modes   

Author:

Ryan Cabeen

Citation:

Comaniciu, D., & Meer, P. (2002). Mean shift: A robust approach toward feature space analysis. IEEE Transactions on pattern analysis and machine intelligence, 24(5), 603-619.


VectsPCA

Description:

Perform principal component analysis on vects

Required Input Arguments:

  --input <Vects>      the input vects   

Optional Parameter Arguments:

  --top <Integer>      none   

Optional Output Arguments:

  --mean <Vects>      the output mean vect   
  --comps <Vects>      the output principal components   
  --vals <Vects>      the output principal values   
  --output <Vects>      the output transformed vects   

Author:

Ryan Cabeen


VectsPrintInfo

Description:

Print basic information about vectors

Required Input Arguments:

  --input <Vects>      the input vects   

Optional Parameter Arguments:

  --stats       print statistics   
  --norm       print statistics of vect norms   

Author:

Ryan Cabeen


VectsReduce

Description:

Reduce the number of vectors in either a random or systematic way

Required Input Arguments:

  --input <Vects>      input vects   

Optional Parameter Arguments:

  --num <Integer>      the maxima number of samples   
  --fraction <Double>      the fraction of vects to remove (zero to one)   
  --which <String>      the list of indices to select   
  --exclude <String>      the list of indices to exclude   

Required Output Arguments:

  --output <Vects>      output subsampled vects   

Author:

Ryan Cabeen


VectsRegisterLinear

Description:

Estimate a linear transform to register a given pair of vects. You can choose one of several methods to specify the degrees of freedom of the transform and how the transform parameters are estimated

Required Input Arguments:

  --source <Vects>      input source vects   
  --dest <Vects>      input dest vects (should match source)   

Optional Input Arguments:

  --weights <Vects>      input weights (only available for some methods)   

Optional Parameter Arguments:

  --method <VectsRegisterLinearMethod>      the registration method (each has different degrees of freedom and     estimation techniques) (Options: AffineLeastSquares, RigidDualQuaternion)     (Default: AffineLeastSquares)   

Required Output Arguments:

  --output <Affine>      output affine transform mapping source to dest   

Optional Output Arguments:

  --transformed <Vects>      output transformed source vects (redundant, but useful for validation)   

Author:

Ryan Cabeen, Yonggang Shi


VectsRegisterRigidDualQuaternion

Description:

Estimate a rigid transform using the dual quaterionion method. This assumes point-to-point correspondence between vects.

Required Input Arguments:

  --source <Vects>      input source vects   
  --dest <Vects>      input dest vects (should match source)   

Optional Input Arguments:

  --weights <Vects>      input weights   

Required Output Arguments:

  --output <Affine>      output affine transform mapping source to dest   

Optional Output Arguments:

  --transformed <Vects>      output transformed source vects (redundant, but useful for validation)   

Author:

Ryan Cabeen, Yonggang Shi

Citation:

Walker, Michael W., Lejun Shao, and Richard A. Volz. “Estimating 3-D location parameters using dual number quaternions.” CVGIP: image understanding 54.3 (1991): 358-367.


VectsSample

Description:

Sample a volume at a set of points

Required Input Arguments:

  --input <Vects>      input 3D coordinates   
  --volume <Volume>      input volume   

Optional Parameter Arguments:

  --interp <InterpolationType>      interpolation method (Options: Nearest, Trilinear, Tricubic, Gaussian,     GaussianLocalLinear, GaussianLocalQuadratic) (Default: Trilinear)   

Required Output Arguments:

  --output <Vects>      the output samples   

Author:

Ryan Cabeen


VectsSelect

Description:

Select a which of vects

Required Input Arguments:

  --input <Vects>      input vects   

Optional Input Arguments:

  --mask <Mask>      input mask   
  --solids <Solids>      input solids   

Optional Parameter Arguments:

  --or       use OR (instead of AND) to combine selections   
  --invert       invert the selection after combining   

Required Output Arguments:

  --output <Vects>      output selected vects   

Author:

Ryan Cabeen


VectsSpheres

Description:

Create spheres from vects

Required Input Arguments:

  --input <Vects>      input vects   

Optional Parameter Arguments:

  --radius <double>      the sphere radius (Default: 1.0)   

Required Output Arguments:

  --output <Solids>      output solid spheres   

Author:

Ryan Cabeen


VectsTransform

Description:

Transform vects. (note: the order of operations is transpose, flip, swap, perm, affine)

Required Input Arguments:

  --input <Vects>      input vects   

Optional Input Arguments:

  --affine <Affine>      apply an affine xfm   
  --invaffine <Affine>      apply an inverse affine xfm   
  --deform <Deformation>      apply a deformation xfm   

Optional Parameter Arguments:

  --reverse       reverse the order, i.e. compose the affine(deform(x)), whereas the default     is deform(affine(x))   
  --rows       force rows > cols   
  --cols       force cols > rows   
  --transpose       transpose   
  --subset <String>      which the coordinates   
  --flip <String>      flip a coodinate (x, y, or z)   
  --swap <String>      swap a pair of coordinates (xy, xz, or yz)   
  --perm <String>      permute by coordinate index, e.g. 1,0,2   
  --negate       negative the vectors   
  --normalize       normalize   

Required Output Arguments:

  --output <Vects>      output transformed vects   

Author:

Ryan Cabeen



VolumeAxialFuse

Description:

fuse volumes

Required Input Arguments:

  --input <Volume(s)>      the input volumes   

Optional Input Arguments:

  --mask <Mask>      specify a mask   

Optional Parameter Arguments:

  --spherical       use input from spherical coordinates   

Optional Output Arguments:

  --output-mean <Volume>      specify the output mean volume   
  --output-lambda <Volume>      specify the output lambda volume   
  --output-coherence <Volume>      specify the output coherence volume   

Author:

Ryan Cabeen


VolumeBiHistogram

Description:

Compute a histogram of a volume

Required Input Arguments:

  --x <Volume>      the volume for the x-dimension   
  --y <Volume>      the volume for the y-dimension   

Optional Input Arguments:

  --mask <Mask>      an input mask   

Optional Parameter Arguments:

  --xbins <int>      the number of bins in x (Default: 100)   
  --ybins <int>      the number of bins in y (Default: 100)   
  --smooth <Double>      apply smoothing by the given amount   
  --exclude       exclude counts outside the histogram range   
  --xmin <Double>      the minimum in x   
  --ymin <Double>      the minimum in y   
  --xmax <Double>      the maximum in x   
  --ymax <Double>      the maximum in y   

Required Output Arguments:

  --output <Volume>      output volume   

Optional Output Arguments:

  --breaks <Volume>      output breaks   
  --mapping <Mask>      output mapping   

Author:

Ryan Cabeen


VolumeBiTensorFit

Description:

Fit a bi-tensor volume to a diffusion-weighted MRI.

Required Input Arguments:

  --input <Volume>      input diffusion-weighted MR volume   
  --gradients <Gradients>      the gradients   

Optional Input Arguments:

  --mask <Mask>      the mask   

Optional Parameter Arguments:

  --method <BiTensorFitType>      specify an estimation method (Options: DTI, DTIFWE, Isotropic,     FixedIsotropic, BothIsotropic, AlignedZeppelin, Zeppelin, Anisotropic)     (Default: Isotropic)   
  --cost <CostType>      specify a cost function for non-linear fitting (Options: SE, MSE, RMSE,     NRMSE, CHISQ, RLL) (Default: SE)   
  --shells <String>      specify a subset of gradient shells to include (comma-separated list of     b-values)   
  --which <String>      specify a subset of gradients to include (comma-separated list of indices     starting from zero)   
  --exclude <String>      specify a subset of gradients to exclude (comma-separated list of indices     starting from zero)   
  --threads <int>      the number of threads to use (Default: 1)   

Advanced Parameter Arguments:

  --shells <String>      specify a subset of gradient shells to include (comma-separated list of     b-values)   
  --which <String>      specify a subset of gradients to include (comma-separated list of indices     starting from zero)   
  --exclude <String>      specify a subset of gradients to exclude (comma-separated list of indices     starting from zero)   
  --threads <int>      the number of threads to use (Default: 1)   

Required Output Arguments:

  --output <Volume>      output bitensor volume (name output like *.bti and an directory of volumes     will be created)   

Author:

Ryan Cabeen


VolumeBiTensorReduce

Description:

Reduce a bitensor volume to a single tensor volume

Required Input Arguments:

  --input <Volume>      input bitensor volume   

Optional Parameter Arguments:

  --fluid       return the fluid compartment (default is the tissue compartment)   
  --threads <int>      the number of threads to use (Default: 1)   

Advanced Parameter Arguments:

  --threads <int>      the number of threads to use (Default: 1)   

Required Output Arguments:

  --output <Volume>      output tensor volume   

Author:

Ryan Cabeen


VolumeBiTensorTransform

Description:

Spatially transform a bi-tensor volume

Required Input Arguments:

  --input <Volume>      the input tensor volume   
  --reference <Volume>      input reference volume   

Optional Input Arguments:

  --mask <Mask>      input mask   
  --inputMask <Mask>      use an input mask (defined in the input space)   
  --affine <Affine>      apply an affine xfm   
  --invaffine <Affine>      apply an inverse affine xfm   
  --deform <Deformation>      apply a deformation xfm   

Optional Parameter Arguments:

  --reverse       reverse the order, i.e. compose the affine(deform(x)), whereas the default     is deform(affine(x))   
  --reorient <ReorientationType>      specify a reorient method (fs or jac) (Options: FiniteStrain, Jacobian)     (Default: Jacobian)   
  --interp <KernelInterpolationType>      the interpolation type (Options: Nearest, Trilinear, Gaussian) (Default:     Trilinear)   
  --support <Integer>      the filter radius in voxels (Default: 3)   
  --hpos <Double>      the positional bandwidth in mm (Default: 1.0)   
  --log       use log estimation   

Required Output Arguments:

  --output <Volume>      the output transformed tensor volume   

Author:

Ryan Cabeen


VolumeBlockRead

Description:

compose blocks into a volume

Required Input Arguments:

  --input <Pattern>      the input pattern (e.g. volume%d.nii.gz   
  --ref <Volume>      the reference volume   

Optional Parameter Arguments:

  --i <Integer>      the i block size   
  --j <Integer>      the j block size   
  --k <Integer>      the k block size (Default: 1)   
  --skip       skip files if they are missing   

Required Output Arguments:

  --output <Volume>      specify the output volume   

Author:

Ryan Cabeen


VolumeBlockWrite

Description:

decompose a volume into blocks

Required Input Arguments:

  --input <Volume>      the input volume   

Optional Parameter Arguments:

  --i <Integer>      the i block size   
  --j <Integer>      the j block size   
  --k <Integer>      the k block size (Default: 1)   

Required Output Arguments:

  --output <Pattern>      specify the output pattern (e.g. output%d.nii.gz)   

Author:

Ryan Cabeen


VolumeBox

Description:

Compute the bounding box of a volume

Required Input Arguments:

  --input <Volume>      input volume   

Required Output Arguments:

  --output <Solids>      output bounding box   

Author:

Ryan Cabeen



VolumeCat

Description:

Concatenate two volumes into one

Required Input Arguments:

  --input <Volume>      input volume   
  --cat <Volume>      volume to concatenate   

Optional Input Arguments:

  --mask <Mask>      input mask   

Required Output Arguments:

  --output <Volume>      output concatenated volume   

Author:

Ryan Cabeen


VolumeCenter

Description:

Voxel sizes and position of a volume

Required Input Arguments:

  --input <Volume>      input Volume   

Required Parameter Arguments:

  --factor <Double>      input voxel dimension scaling factor   

Optional Output Arguments:

  --output <Volume>      output Volume   

Author:

Ryan Cabeen


VolumeConform

Description:

Process a volume to conform to a given set of constraints

Required Input Arguments:

  --input <Volume>      the input volume   

Optional Parameter Arguments:

  --maxdi <double>      the voxel size in i (Default: 1.0)   
  --maxdj <double>      the voxel size in j (Default: 1.0)   
  --maxdk <double>      the voxel size in k (Default: 1.0)   
  --interp <InterpolationType>      image interpolation method (Options: Nearest, Trilinear, Tricubic,     Gaussian, GaussianLocalLinear, GaussianLocalQuadratic) (Default: Trilinear)   

Required Output Arguments:

  --output <Volume>      the output volume   

Author:

Ryan Cabeen


VolumeConvert

Description:

Convert a volume to a different format (only useful on command line)

Required Input Arguments:

  --input <Volume>      input   

Optional Parameter Arguments:

  --proto       only copy the structure, not the intensities   

Required Output Arguments:

  --output <Volume>      output   

Author:

Ryan Cabeen


VolumeCrop

Description:

Crop a volume down to a smaller volume (only one criteria per run)

Required Input Arguments:

  --input <Volume>      input volume   

Optional Input Arguments:

  --mask <Mask>      a mask   
  --solids <Solids>      some soids   

Optional Parameter Arguments:

  --range <String>      a range specification, e.g. start:end,start:end,start:end   
  --thresh <Double>      crop out the background with a given threshold   
  --invert       invert the selection   
  --even       ensure the volume has even dimensions   
  --pad <int>      a padding size in voxels (Default: 0)   

Required Output Arguments:

  --output <Volume>      the output volume   

Author:

Ryan Cabeen


VolumeDeformationCompose

Description:

Compose a deformation field with an affine transform

Required Input Arguments:

  --affine <Affine>      an affine transform   

Optional Input Arguments:

  --deform <Volume>      an deform deformation field   
  --reference <Volume>      a reference image   

Optional Parameter Arguments:

  --invert       invert the affine transform   
  --reverse       reverse the order of the transforms   

Required Output Arguments:

  --output <Volume>      output   

Author:

Ryan Cabeen



VolumeDiceBatch

Description:

Compute the weighted dice coefficient between a set of density maps.
Citation: Cousineau et al. NeuroImage: Clinical 2017

Required Input Arguments:

  --left <FilePattern>      specify the first set of segmentations   
  --right <FilePattern>      specify the second set of segmentations   

Required Parameter Arguments:

  --names <Spec>      specify bundle identifiers (e.g. a file that lists the bundle names)   

Required Output Arguments:

  --output <File>      specify an output table   

Author:

Ryan Cabeen


VolumeDifferenceMap

Description:

Summarize the difference between two image volumes

Required Input Arguments:

  --left <Volume>      input left volume   
  --right <Volume>      input right volume   

Optional Input Arguments:

  --mask <Mask>      a mask   

Optional Parameter Arguments:

  --prefix <String>      a prefix for the output names (Default: )   

Required Output Arguments:

  --output <Table>      the table   

Author:

Ryan Cabeen


VolumeDownsample

Description:

Downsample a volume. Unlike VolumeZoom, this includes a prefiltering step with a triangle filter to reduce alias artifact

Required Input Arguments:

  --input <Volume>      the input volume   

Optional Parameter Arguments:

  --factor <double>      an downsampling scaling factor (Default: 2.0)   
  --threads <Integer>      the number of threads in the pool (Default: 3)   

Required Output Arguments:

  --output <Volume>      the output volume   

Author:

Ryan Cabeen


VolumeDwiAdc

Description:

Compute the apparent mri coefficient (ADC) of the mri signal. The default output is the mean ADC, but per-gradient outputs can also be computed

Required Input Arguments:

  --input <Volume>      the input diffusion-weighted MR volume   
  --gradients <Gradients>      the input gradients   

Optional Input Arguments:

  --mask <Mask>      the input mask   

Optional Parameter Arguments:

  --component       compute the ADC for each gradient, otherwise the average will be computed   

Required Output Arguments:

  --output <Volume>      the output ADC volume   

Author:

Ryan Cabeen


VolumeDwiAverage

Description:

Average subvolumes from diffusion MRI. This is often used to improve the SNR when the scan includes repeats

Required Input Arguments:

  --dwi <Volume>      the input diffusion-weighted MR volume   
  --gradients <Gradients>      the input gradients (must match input DWI)   

Optional Parameter Arguments:

  --average <String>      a file or comma-separated list of integers specifying how the data should     be grouped, e.g. 1,1,1,2,2,2,3,3,3,...   

Required Output Arguments:

  --outputDwi <Volume>      the output dwi volume   

Optional Output Arguments:

  --outputGradients <Gradients>      the output gradients   

Author:

Ryan Cabeen


VolumeDwiBaseline

Description:

Extract baseline signal statistics from a diffusion-weighted MR volume

Required Input Arguments:

  --input <Volume>      the input diffusion-weighted MR volume   
  --gradients <Gradients>      the input gradients   

Optional Input Arguments:

  --mask <Mask>      the input mask   

Optional Output Arguments:

  --mean <Volume>      the output mean baseline signal   
  --median <Volume>      the output median baseline signal   
  --var <Volume>      the output variance of baseline signal (only meaningful if there are     multiple baselines)   
  --std <Volume>      the output standard deviation of baseline signal (only meaningful if there     are multiple baselines)   
  --cat <Volume>      the output complete set of baseline signals   
  --drift <Volume>      the output signal drift estimates (slope, stderr, tstat, pval, sig)     measured by percentage change   

Author:

Ryan Cabeen

Citation:

Vos, Sjoerd B., et al. “The importance of correcting for signal drift in diffusion MRI.” Magnetic resonance in medicine 77.1 (2017): 285-299.



VolumeDwiCorrectDrift

Description:

Correct for signal drift in a diffusion-weighted MR volume using a polynomial model

Required Input Arguments:

  --input <Volume>      the input diffusion-weighted MR volume   
  --gradients <Gradients>      the input gradients   

Optional Input Arguments:

  --mask <Mask>      the input mask   

Optional Parameter Arguments:

  --global       use global drift estimation   
  --local       use local drift estimation   
  --iso       use isotropic drift estimation   
  --blend       use blended drift estimation   
  --order <int>      the order of the polynomial model (Default: 2)   

Required Output Arguments:

  --output <Volume>      the output corrected dwi   

Author:

Ryan Cabeen

Citation:

Vos, Sjoerd B., et al. “The importance of correcting for signal drift in diffusion MRI.” Magnetic resonance in medicine 77.1 (2017): 285-299.


VolumeDwiEstimateNoise

Description:

Estimate the noise parameter from the baselines of a DWI

Required Input Arguments:

  --input <Volume>      input dwi   
  --gradients <Gradients>      input gradients   

Optional Input Arguments:

  --mask <Mask>      input mask   

Required Output Arguments:

  --output <Volume>      output error volume   

Author:

Ryan Cabeen


VolumeDwiFeature

Description:

Compute features of the the diffusion weighted signal. These features are statistical summaries of the signal within and across shells (depending on the method), mostly avoiding any modeling assumptions

Required Input Arguments:

  --input <Volume>      the input diffusion-weighted MR volume   
  --gradients <Gradients>      the input gradients   

Optional Input Arguments:

  --mask <Mask>      the input mask   

Optional Parameter Arguments:

  --feature <VolumeDwiFeatureType>      the method for computing anisotropy (Options: Attenuation, AnisoCoeffVar,     AnisoStd, AnisoMu, SphericalMean, SphericalMeanNorm, SphericalMeanADC,     SphericalStd, NoiseStd, NoiseCoeffVar) (Default: AnisoCoeffVar)   

Required Output Arguments:

  --output <Volume>      the output anisotropy volume   

Author:

Ryan Cabeen



VolumeDwiNormalize

Description:

normalize a mri weighted image volume by the baseline signal

Required Input Arguments:

  --input <Volume>      the input diffusion-weighted MR volume   
  --gradients <Gradients>      the input gradients   

Optional Input Arguments:

  --mask <Mask>      the input mask   

Optional Parameter Arguments:

  --grouping <String>      a grouping of scans with similar TE/TR (otherwise all scans are assumed to     be part of one group)   
  --unit       normalize the signal to the unit interval (divide by average baseline by     voxel)   
  --mean <Double>      normalize the signal to have a given mean value across the entire volume   

Required Output Arguments:

  --output <Volume>      the output baseline volume   

Author:

Ryan Cabeen


VolumeDwiReduce

Description:

Reduce the number of mri samples in a mri weighted image

Required Input Arguments:

  --dwi <Volume>      the input diffusion-weighted MR volume   
  --gradients <Gradients>      the input gradients (must match input DWI)   

Optional Parameter Arguments:

  --shells <String>      include only specific shells   
  --which <String>      include only specific gradients (comma separated zero-based indices)   
  --exclude <String>      exclude specific gradients (comma separated zero-based indices)   
  --bscale <Double>      scale the baseline signal by the given amount (this is very rarely     necessary)   

Required Output Arguments:

  --outputDwi <Volume>      the output dwi volume   

Optional Output Arguments:

  --outputGradients <Gradients>      the output gradients   

Author:

Ryan Cabeen


VolumeDwiResampleGP

Description:

Resample a diffusion-weighted MR volume to have a different set of gradients (arbitrary b-vectors and b-values)

Required Input Arguments:

  --input <Volume>      the input diffusion-weighted MR volume   
  --gradients <Gradients>      the input gradients (must match input DWI)   
  --reference <Gradients>      the gradients used for resampling   

Optional Input Arguments:

  --mask <Mask>      a mask   

Optional Parameter Arguments:

  --lambda <Double>      the lambda parameter (controls smoothness) (Default: 0.1)   
  --alpha <Double>      the alpha parameter (controls gradient direction scaling) (Default: 1.0)   
  --beta <Double>      the beta parameter (controls gradient strength scaling) (Default: 1.0)   
  --threads <Integer>      the number of threads to use (Default: 1)   

Required Output Arguments:

  --output <Volume>      the output resampled diffusion-weighted MR volume (will match reference     gradients)   

Author:

Ryan Cabeen

Citation:

Andersson, J. L., & Sotiropoulos, S. N. (2015). Non-parametric representation and prediction of single-and multi-shell diffusion-weighted MRI data using Gaussian processes. NeuroImage, 122, 166-176.


VolumeDwiResampleOutlierGP

Description:

Detect and replace outliers of a diffusion-weighted MR volume using Gaussian Process regression. This first detects outliers using a very smooth GP model and then replaces only those outliers using a more rigid GP model

Required Input Arguments:

  --input <Volume>      the input diffusion-weighted MR volume   
  --gradients <Gradients>      the input gradients (must match input DWI)   

Optional Input Arguments:

  --mask <Mask>      a mask   

Optional Parameter Arguments:

  --outlier <Double>      the threshold for outlier detection. this is the fractional change in     single value from the GP prediction to qualify as an outlier (Default:     0.35)   
  --include <Double>      the minimum fraction of gradient directions to use for outlier replacement.      if more than this fraction are considered inliers, then interpolation will     be used (Default: 0.75)   
  --lambdaDetect <Double>      the lambda parameter for detecting outliers (controls smoothness) (Default:     1.0)   
  --lambdaPredict <Double>      the lambda parameter for replacing outliers (controls smoothness) (Default:     1.0)   
  --resample       resample all signal values with reduced GP (default will only resample     outliers)   
  --alpha <Double>      the alpha parameter (controls gradient direction scaling) (Default: 1.0)   
  --beta <Double>      the beta parameter (controls gradient strength scaling) (Default: 1.0)   
  --threads <Integer>      the number of threads to use (Default: 1)   

Required Output Arguments:

  --output <Volume>      the output resampled diffusion-weighted MR volume (will match reference     gradients)   

Author:

Ryan Cabeen

Citation:

Andersson, J. L., & Sotiropoulos, S. N. (2015). Non-parametric representation and prediction of single-and multi-shell diffusion-weighted MRI data using Gaussian processes. NeuroImage, 122, 166-176.


VolumeDwiResampleSpherical

Description:

Resample a diffusion-weighted MR volume to have a different set of gradients (single shell only)

Required Input Arguments:

  --input <Volume>      the input diffusion-weighted MR volume   
  --source <Gradients>      the (original) source gradients   
  --dest <Vects>      the destination gradient directions   

Optional Input Arguments:

  --mask <Mask>      a mask   

Optional Parameter Arguments:

  --filter <String>      specify a filtering method (linear, local, or global) (Default: linear)   
  --kappa <Double>      the lambda parameter (Default: 5.0)   
  --lambda <Double>      the lambda parameter (Default: 0.1)   
  --sigma <Double>      the sigma parameter (Default: 20.0)   
  --adaptive       use adaptive resampling   

Required Output Arguments:

  --output <Volume>      the output resampled diffusion-weighted MR volume   

Author:

Ryan Cabeen


VolumeDwiSphericalMean

Description:

Compute the spherical mean for each shell.

Required Input Arguments:

  --dwi <Volume>      the dwi diffusion-weighted MR volume   
  --gradients <Gradients>      the (original) source gradients   

Optional Input Arguments:

  --mask <Mask>      a mask   

Required Output Arguments:

  --outputDwi <Volume>      the output resampled diffusion-weighted MR volume   
  --outputBvals <Vects>      the output b-values   

Author:

Ryan Cabeen


VolumeDwiSubsample

Description:

Subsample a mri weighted volume by removing channels to maximize the separation of gradient directions. This is currently optimized for single shell data

Required Input Arguments:

  --indwi <Volume>      the input diffusion-weighted MR volume   
  --ingrad <Gradients>      the input gradients   

Optional Parameter Arguments:

  --nums <int>      the number of baseline channels to keep (Default: 1)   
  --numd <int>      the number of diffusion-weighted channels to keep (Default: 12)   

Required Output Arguments:

  --outdwi <Volume>      the output diffusion-weighted MR volume   
  --outgrad <Gradients>      the output gradients   

Author:

Ryan Cabeen


VolumeEnhanceContrast

Description:

enhance the intensity contrast of a given volume. The output will have a range of zero to one.

Required Input Arguments:

  --input <Volume>      input volume   

Optional Input Arguments:

  --mask <Mask>      input mask   

Optional Parameter Arguments:

  --type <VolumeEnhanceContrastType>      the type of contrast enhancement (Options: Histogram, Ramp, RampGauss,     Mean, None) (Default: Histogram)   
  --squeeze <VolumeEnhanceContrastSqueeze>      the type of squeezing (Options: Square, Root, Sine, SquineLow, SquineHigh,     None) (Default: None)   
  --bins <int>      the number of histogram bins (Default: 1024)   
  --gauss <double>      the Gaussian bandwidth (Default: 3.0)   
  --scale <double>      the intensity scaling (Default: 1.0)   
  --smooth <Double>      smooth the histogram by adding the given proportion of the total (reduces     effect of outliers)   
  --nobg       remove background voxels   
  --invert       invert the intensities on a unit interval   
  --thresh <double>      specify a threshold for background removal (Default: 1.0E-6)   

Required Output Arguments:

  --output <Volume>      output enhanced image   

Author:

Ryan Cabeen


VolumeEstimateLookup

Description:

Compute a histogram of a volume

Required Input Arguments:

  --from <Volume>      the volume for the x-dimension   
  --to <Volume>      the volume for the y-dimension   

Optional Input Arguments:

  --mask <Mask>      an input mask   

Optional Parameter Arguments:

  --bins <int>      the number of bins in x (Default: 100)   
  --xmin <Double>      the minimum in x   
  --xmax <Double>      the maximum in x   
  --inputField <String>      the name field name for the input value (Default: input)   
  --outputField <String>      the name field name for the output value (Default: output)   

Required Output Arguments:

  --output <Table>      output table   

Optional Output Arguments:

  --breaks <Volume>      output breaks   

Author:

Ryan Cabeen


VolumeExpDecayError

Description:

Synthesize a volume from exp decay parameters

Required Input Arguments:

  --input <Volume>      input exp decay sample volume   
  --varying <Vects>      the varying parameters   
  --model <Volume>      the exponential decay model parameter volume   

Optional Input Arguments:

  --mask <Mask>      input mask   

Optional Parameter Arguments:

  --method <String>      the type of error metric (me, nme, sse, nsse, mse, nmse, rmse, nrmse)     (Default: nrmse)   

Required Output Arguments:

  --output <Volume>      output error   

Author:

Ryan Cabeen


VolumeExpDecayFit

Description:

Fit an exponential decay model to volumetric data: y = alpha * exp(-beta * x)

Required Input Arguments:

  --input <Volume>      the input dwi   

Optional Input Arguments:

  --varying <Vects>      the varying myparameters values used for fitting, if not provided the start     and step myparameters are used instead   
  --mask <Mask>      a mask   

Optional Parameter Arguments:

  --method <String>      the method for fitting (lls, wlls, nlls) (Default: wlls)   
  --start <Double>      the starting echo time (not used if you provide a varying input) (Default:     1.0)   
  --step <Double>      the spacing between echo times (not used if you provide a varying input)     (Default: 1.0)   
  --which <String>      specify a subset of data to include (comma-separated list of indices     starting from zero)   
  --exclude <String>      specify a subset of data to exclude (comma-separated list of indices     starting from zero)   
  --minAlpha <Double>      the minimum alpha (Default: 0.0)   
  --minBeta <Double>      the minimum beta (Default: 0.0)   
  --thresh <Double>      apply a threshold to the input image, e.g. remove zero values   
  --shrinkage       apply shrinkage regularization for low SNR regions   
  --shrinkSmooth <Integer>      the amount of smoothing to apply (Default: 5)   
  --shrinkSnrMax <Double>      the maximum shrinkage snr (Default: 7.0)   
  --shrinkSnrMin <Double>      the minimum shrinkage snr (Default: 5.0)   
  --threads <Integer>      the mynumber of threads in the pool (Default: 1)   

Advanced Parameter Arguments:

  --which <String>      specify a subset of data to include (comma-separated list of indices     starting from zero)   
  --exclude <String>      specify a subset of data to exclude (comma-separated list of indices     starting from zero)   

Optional Output Arguments:

  --output <Volume>      the output exp decay model volume   
  --outputAlpha <Volume>      the output exp decay alpha myparameter   
  --outputBeta <Volume>      the output exp decay beta myparameter   
  --outputError <Volume>      the output exp decay error   
  --outputResiduals <Volume>      the output exp decay residuals   
  --outputSnr <Volume>      the output exp decay SNR map   

Author:

Ryan Cabeen


VolumeExpDecaySynth

Description:

Synthesize a volume from exp decay parameters

Required Input Arguments:

  --input <Volume>      input exp decay volume   
  --varying <Vects>      the varying parameters   

Optional Input Arguments:

  --mask <Mask>      input mask   

Required Output Arguments:

  --output <Volume>      predicted output   

Author:

Ryan Cabeen


VolumeExpRecoveryError

Description:

Synthesize a volume from exp recovery parameters

Required Input Arguments:

  --input <Volume>      input exp recovery sample volume   
  --varying <Vects>      the varying parameters   
  --model <Volume>      the exponential recovery model parameter volume   

Optional Input Arguments:

  --mask <Mask>      input mask   

Optional Parameter Arguments:

  --method <String>      the type of error metric (me, nme, sse, nsse, mse, nmse, rmse, nrmse)     (Default: nrmse)   

Required Output Arguments:

  --output <Volume>      output error   

Author:

Ryan Cabeen


VolumeExpRecoveryFit

Description:

Fit an exponential recovery model to volumetric data: y = alpha * exp(-beta * x)

Required Input Arguments:

  --input <Volume>      the input dwi   
  --varying <Vects>      the varying parameters values used for fitting   

Optional Input Arguments:

  --mask <Mask>      a mask   

Optional Parameter Arguments:

  --threads <Integer>      the number of threads in the pool (Default: 1)   

Required Output Arguments:

  --output <Volume>      the output exp recovery model volume   

Author:

Ryan Cabeen


VolumeExpRecoverySynth

Description:

Synthesize a volume from exp recovery parameters

Required Input Arguments:

  --input <Volume>      input exp recovery volume   
  --varying <Vects>      the varying parameters   

Optional Input Arguments:

  --mask <Mask>      input mask   

Required Output Arguments:

  --output <Volume>      predicted output   

Author:

Ryan Cabeen


VolumeExtrema

Description:

Compute the local extrema of a volume

Required Input Arguments:

  --input <Volume>      input volume   

Optional Input Arguments:

  --mask <Mask>      a mask   

Optional Parameter Arguments:

  --channel <int>      the volume channel (Default: 0)   
  --minima       find the minima   
  --maxima       find the maxima   
  --element <String>      specify an element (Default: cross)   

Required Output Arguments:

  --output <Mask>      output mask   

Author:

Ryan Cabeen


VolumeFibersCat

Description:

concatenate fibers volumes

Required Input Arguments:

  --input <FibersVolume(s)>      the input fibers volumes   

Optional Input Arguments:

  --mask <Mask>      specify a mask   

Required Output Arguments:

  --output <FibersVolume>      specify the output fibers volume   

Author:

Ryan Cabeen


VolumeFibersError

Description:

Compute error metrics between a ground truth and test fibers volume

Required Input Arguments:

  --truth <Volume>      the truth fibers volume   
  --test <Volume>      the test fibers volume   

Optional Input Arguments:

  --mask <Mask>      a mask   

Optional Parameter Arguments:

  --thresh <double>      a threshold for compartment existence (Default: 0.05)   

Optional Output Arguments:

  --missing <Volume>      output measuring number of missing compartment error   
  --extra <Volume>      output measuring number of extra compartment error   
  --linehaus <Volume>      output measuring the hausdorff angular error   
  --linetotal <Volume>      output measuring the total angular error   
  --frachaus <Volume>      output measuring the hausdorff fraction error   
  --fractotal <Volume>      output measuring the total fraction error   
  --fraciso <Volume>      output measuring the isotropic fraction error   

Author:

Ryan Cabeen


VolumeFibersFilter

Description:

Add orientation and volume fraction noise to a fibers volume

Required Input Arguments:

  --input <Volume>      input fibers volume   

Optional Input Arguments:

  --mask <Mask>      a mask   

Optional Parameter Arguments:

  --base <Double>      the fraction gain (Default: 1.0)   
  --frac <Double>      the fraction gain (Default: 2.0)   
  --angle <Double>      the angle gain (Default: 1.0)   
  --align <Double>      the align gain (Default: 2.0)   

Required Output Arguments:

  --output <Volume>      output noisy fibers volume   

Author:

Ryan Cabeen


VolumeFibersFit

Description:

Fit a fibers volume using a multi-stage procedure

Required Input Arguments:

  --input <Volume>      input diffusion-weighted MR volume   
  --gradients <Gradients>      the gradients   

Optional Input Arguments:

  --mask <Mask>      the mask   

Optional Parameter Arguments:

  --round <Integer>      specify rounding factor for the gradients   
  --shells <String>      specify a subset of gradient shells to include (comma-separated list of     b-values)   
  --which <String>      specify a subset of gradients to include (comma-separated list of indices     starting from zero)   
  --exclude <String>      specify a subset of gradients to exclude (comma-separated list of indices     starting from zero)   
  --threads <Integer>      the number of threads in the pool (Default: 1)   
  --columns       use fine-grained multi-threading   
  --minfrac <double>      the minimum volume fraction (Default: 0.01)   
  --comps <int>      the maximum number of fiber compartments to extract (Default: 3)   
  --points <Integer>      the number of points used for peak extraction (Default: 256)   
  --cluster <double>      the angle for peak clustering (Default: 30.0)   
  --peak <PeakMode>      the statistic for aggregating peaks (Options: Sum, Mean, Max) (Default:     Sum)   
  --dmax <double>      the maximum diffusivity for MCSMT (Default: 0.003)   
  --maxiters <int>      the maximum number of iterations for MCSMT (Default: 1500)   
  --dperp <Double>      use the givel fraction of axial diffusivity when fitting fiber volume     fractions   
  --dfix <Double>      use the given fixed axial diffusivity when fitting fiber volume fractions     (Default: 0.00125)   
  --tort       use a tortuosity model (otherwise the extra-cellular diffusivity is matched     to the intra)   
  --restarts <Integer>      use the given fixed axial diffusivity when fitting fiber volume fractions     (Default: 1)   
  --nosmt       skip SMT estimation (for multishell data only)   
  --modeSingle <Mode>      specify an parameter estimation mode for single shell analysis (Options:     Fracs, FracsFixedSum, FracsDiff, FracSum, FracSumDiff, Diff,     FracSumDiffMultistage, FracsDiffMultistage) (Default:     FracSumDiffMultistage)   
  --modeMulti <Mode>      specify an parameter estimation mode for single shell analysis (Options:     Fracs, FracsFixedSum, FracsDiff, FracSum, FracSumDiff, Diff,     FracSumDiffMultistage, FracsDiffMultistage) (Default: FracsFixedSum)   
  --diffinit <DiffInit>      specify a method for initializing diffusivity (Options: Tensor, Fixed,     Best) (Default: Best)   
  --method <Method>      specify an orientation estimation method (Options: CSD, RLD) (Default: RLD)   
  --rldIters <int>      the number of iterations for RLD (Default: 500)   
  --rldAlpha <double>      the alpha parameter for RLD (Default: 0.0017)   
  --rldBeta <double>      the beta parameter for RLD (Default: 0.0)   
  --csdOrder <Integer>      specify the maximum spherical harmonic order for CSD (Default: 8)   
  --csdAxial <double>      the axial fiber response for CSD (Default: 0.0017)   
  --csdRadial <double>      the radial fiber response for CSD (Default: 1.2E-4)   
  --csdTau <double>      the tau parameter for CSD (Default: 0.1)   
  --csdLambda <double>      the lambda parameter for CSD (Default: 0.2)   
  --csdIters <int>      the number of iterations for CSD (Default: 50)   

Advanced Parameter Arguments:

  --shells <String>      specify a subset of gradient shells to include (comma-separated list of     b-values)   
  --which <String>      specify a subset of gradients to include (comma-separated list of indices     starting from zero)   
  --exclude <String>      specify a subset of gradients to exclude (comma-separated list of indices     starting from zero)   
  --dperp <Double>      use the givel fraction of axial diffusivity when fitting fiber volume     fractions   
  --dfix <Double>      use the given fixed axial diffusivity when fitting fiber volume fractions     (Default: 0.00125)   
  --tort       use a tortuosity model (otherwise the extra-cellular diffusivity is matched     to the intra)   
  --restarts <Integer>      use the given fixed axial diffusivity when fitting fiber volume fractions     (Default: 1)   
  --nosmt       skip SMT estimation (for multishell data only)   
  --modeSingle <Mode>      specify an parameter estimation mode for single shell analysis (Options:     Fracs, FracsFixedSum, FracsDiff, FracSum, FracSumDiff, Diff,     FracSumDiffMultistage, FracsDiffMultistage) (Default:     FracSumDiffMultistage)   
  --modeMulti <Mode>      specify an parameter estimation mode for single shell analysis (Options:     Fracs, FracsFixedSum, FracsDiff, FracSum, FracSumDiff, Diff,     FracSumDiffMultistage, FracsDiffMultistage) (Default: FracsFixedSum)   

Required Output Arguments:

  --output <Volume>      output fibers volume   

Author:

Ryan Cabeen




VolumeFibersFuse

Description:

fuse a collection of fibers volumes

Required Input Arguments:

  --input <Volume(s)>      specify the input fibers volumes   

Optional Input Arguments:

  --mask <Mask>      specify a mask   

Optional Parameter Arguments:

  --pattern <String(s)>      specify a list of names that will be substituted with input %s   
  --estimator <String>      specify an estimator type   
  --selection <String>      specify a selection type   
  --hpos <Double>      specify spatial bandwidth   
  --support <Integer>      specify a support size   
  --lambda <Double>      specify a lambda parameter   
  --maxcomps <Integer>      specify a maxima number of components   
  --restarts <Integer>      specify a number of restarts   
  --minfrac <Double>      specify a minima volume fraction   

Required Output Arguments:

  --output <Volume>      specify the output fibers volume   

Author:

Ryan Cabeen


VolumeFibersNoise

Description:

Add orientation and volume fraction noise to a fibers volume

Required Input Arguments:

  --input <Volume>      input fibers volume   

Optional Input Arguments:

  --mask <Mask>      a mask   

Optional Parameter Arguments:

  --line <Double>      the sigma of the orientation noise   
  --frac <Double>      the sigma of the volume fraction noise   

Required Output Arguments:

  --output <Volume>      output noisy fibers volume   

Author:

Ryan Cabeen


VolumeFibersPhantomCrossing

Description:

Create a benchmark fibers phantom

Optional Parameter Arguments:

  --size <int>      the size of the phantom (Default: 50)   
  --fracPrimary <double>      volume fraction of the primary bundle (Default: 0.4)   
  --fracSecondary <double>      volume fraction of the secondary bundle (Default: 0.4)   
  --radiusPrimary <double>      the relative radius of the primary bundle (0 to 1) (Default: 0.4)   
  --radiusSecondary <double>      the relative radius of the secondary bundle (0 to 1) (Default: 0.2)   
  --angle <double>      the angle between the primary and secondary bundles (Default: 45.0)   
  --noiseAngle <double>      the amount of noise added to the compartment fiber orientations (Default:     5.0)   
  --noiseFraction <double>      the amount of noise added to the compartment volume fraction (Default:     0.05)   

Required Output Arguments:

  --output <Volume>      the synthesized output fibers   

Optional Output Arguments:

  --outputBundle <Mask>      the output bundle mask   
  --outputEnd <Mask>      the output end mask   

Author:

Ryan Cabeen


VolumeFibersPick

Description:

Project fibers onto a reference volume

Required Input Arguments:

  --input <Volume>      the input fibers to pick   
  --reference <Volume>      the reference vectors   

Optional Input Arguments:

  --mask <Mask>      a mask of the input image   
  --deform <Deformation>      a deformation from the input to the reference   

Optional Parameter Arguments:

  --thresh <double>      a threshold for picking (Default: 0.05)   
  --threads <int>      the number of threads (Default: 1)   

Required Output Arguments:

  --output <Volume>      the output fibers   

Author:

Ryan Cabeen


VolumeFibersProject

Description:

Project fibers onto a reference volume

Required Input Arguments:

  --input <Volume>      the input fibers to project   
  --reference <Volume>      the reference fibers (may be deformed from another space)   

Optional Input Arguments:

  --mask <Mask>      a mask of the input image   
  --deform <Deformation>      a deformation from the input to the reference   

Optional Parameter Arguments:

  --thresh <double>      a threshold for compartment existence (Default: 0.01)   
  --keep       keep the reference fiber orientations   
  --angle <Double>      the maximum angle for matching   
  --presmooth <Double>      apply fiber smoothing before projection with the given bandwidth   
  --soft       use soft projection with angular smoothing   
  --soften <Double>      use the given soft smoothing angular bandwidth (zero to one, where greater     is more smoothing) (Default: 0.1)   
  --deviation       save the angular deviation to the fiber statistic field of the output   
  --smooth       apply fiber smoothing after projection   
  --hpos <Double>      apply smoothing with the given amount (bandwidth in mm) (default is largest     voxel dimension)   
  --mix <Double>      smoothly mix reference and the input voxel fiber orientations (0 is all     input, 1 is all reference)   
  --support <int>      the smoothing filter radius in voxels (Default: 3)   
  --threads <int>      the number of threads (Default: 1)   

Advanced Parameter Arguments:

  --soft       use soft projection with angular smoothing   
  --soften <Double>      use the given soft smoothing angular bandwidth (zero to one, where greater     is more smoothing) (Default: 0.1)   
  --deviation       save the angular deviation to the fiber statistic field of the output   
  --hpos <Double>      apply smoothing with the given amount (bandwidth in mm) (default is largest     voxel dimension)   
  --mix <Double>      smoothly mix reference and the input voxel fiber orientations (0 is all     input, 1 is all reference)   
  --support <int>      the smoothing filter radius in voxels (Default: 3)   

Required Output Arguments:

  --output <Volume>      the output fibers   

Author:

Ryan Cabeen


VolumeFibersPrune

Description:

Prune outlier fibers

Required Input Arguments:

  --input <Volume>      the input fibers   

Optional Input Arguments:

  --mask <Mask>      a mask of the input image   

Optional Parameter Arguments:

  --normalize       globally normalize the volume fractions to be in a unit range   
  --min <Double>      a minimum volume fraction   
  --thresh <Double>      a threshold angle for pruning (in degrees)   

Required Output Arguments:

  --output <Volume>      the output fibers   

Author:

Ryan Cabeen


VolumeFibersSmooth

Description:

Smooth a fibers volume

Required Input Arguments:

  --input <Volume>      the input fibers volume   

Optional Input Arguments:

  --mask <Mask>      a mask   

Optional Parameter Arguments:

  --hpos <Double>      the positional bandwidth in mm (negative value will use the voxel size,     zero will skip smoothing) (Default: 1.0)   
  --support <Integer>      the filter radius in voxels (Default: 3)   
  --comps <int>      a maxima number of fiber compartments (Default: 3)   
  --threads <Integer>      the number of threads in the pool (Default: 1)   
  --hsig <Double>      the baseline signal adaptive bandwidth   
  --hsigrel       treat hsig as a fraction of the mean baseline signal (inside the mask)   
  --hfrac <Double>      the fraction adaptive bandwidth   
  --hdiff <Double>      the diffusivity adaptive bandwidth   
  --hdir <Double>      the fiber adaptive bandwidth   
  --min <double>      a minima volume fraction (Default: 0.01)   
  --lambda <double>      a data adaptive threshold (Default: 0.99)   
  --restarts <int>      a number of restarts (Default: 2)   
  --pass       pass through the data without smoothing   

Advanced Parameter Arguments:

  --hsig <Double>      the baseline signal adaptive bandwidth   
  --hsigrel       treat hsig as a fraction of the mean baseline signal (inside the mask)   
  --hfrac <Double>      the fraction adaptive bandwidth   
  --hdiff <Double>      the diffusivity adaptive bandwidth   
  --hdir <Double>      the fiber adaptive bandwidth   
  --min <double>      a minima volume fraction (Default: 0.01)   
  --lambda <double>      a data adaptive threshold (Default: 0.99)   
  --restarts <int>      a number of restarts (Default: 2)   
  --pass       pass through the data without smoothing   

Required Output Arguments:

  --output <Volume>      the output fibers volume   

Author:

Ryan Cabeen

Citation:

Cabeen, R. P., Bastin, M. E., & Laidlaw, D. H. (2016). Kernel regression estimation of fiber orientation mixtures in mri MRI. NeuroImage, 127, 158-172.


VolumeFibersTransform

Description:

Spatially transform a fibers volume

Required Input Arguments:

  --input <Volume>      the input fibers volume   
  --reference <Volume>      input reference volume   

Optional Input Arguments:

  --mask <Mask>      input mask   
  --inputMask <Mask>      use an input mask (defined in the input space)   
  --affine <Affine>      apply an affine xfm   
  --invaffine <Affine>      apply an inverse affine xfm   
  --deform <Deformation>      apply a deformation xfm   

Optional Parameter Arguments:

  --reverse       reverse the order, i.e. compose the affine(deform(x)), whereas the default     is deform(affine(x))   
  --reorientation <ReorientationType>      specify a reorient method (Options: FiniteStrain, Jacobian) (Default:     Jacobian)   
  --estimation <EstimationType>      the estimation type (Options: Match, Rank) (Default: Match)   
  --selection <SelectionType>      the selection type (Options: Max, Fixed, Linear, Adaptive) (Default:     Adaptive)   
  --interp <KernelInterpolationType>      the interpolation type (Options: Nearest, Trilinear, Gaussian) (Default:     Trilinear)   
  --comps <int>      a maxima number of fiber compartments (Default: 3)   
  --support <Integer>      the filter radius in voxels (Default: 3)   
  --hpos <Double>      the positional bandwidth in mm (Default: 1.0)   
  --min <double>      a minima volume fraction (Default: 0.01)   
  --lambda <double>      a data adaptive threshold (Default: 0.99)   
  --threads <int>      the number of threads (Default: 1)   

Required Output Arguments:

  --output <Volume>      the output transformed volume   

Author:

Ryan Cabeen

Citation:

Cabeen, R. P., Bastin, M. E., & Laidlaw, D. H. (2016). Kernel regression estimation of fiber orientation mixtures in mri MRI. NeuroImage, 127, 158-172.


VolumeFibersZoom

Description:

Zoom a fibers volume

Required Input Arguments:

  --input <Volume>      the input fibers volume   

Optional Input Arguments:

  --mask <Mask>      a mask   

Optional Parameter Arguments:

  --factor <double>      a zooming factor (Default: 2.0)   
  --isotropic <Double>      zoom to a given isotropic voxel size (not by a factor)   
  --estimation <EstimationType>      the estimation type (Options: Match, Rank) (Default: Match)   
  --selection <SelectionType>      the selection type (Options: Max, Fixed, Linear, Adaptive) (Default:     Linear)   
  --interp <KernelInterpolationType>      the interpolation type (Options: Nearest, Trilinear, Gaussian) (Default:     Trilinear)   
  --comps <int>      a maxima number of fiber compartments (Default: 3)   
  --support <Integer>      the filter radius in voxels (Default: 3)   
  --hpos <Double>      the positional bandwidth in mm (Default: 1.0)   
  --min <double>      a minima volume fraction (Default: 0.01)   
  --lambda <double>      a data adaptive threshold (Default: 0.99)   

Required Output Arguments:

  --output <Volume>      the output fibers volume   

Author:

Ryan Cabeen

Citation:

Cabeen, R. P., Bastin, M. E., & Laidlaw, D. H. (2016). Kernel regression estimation of fiber orientation mixtures in mri MRI. NeuroImage, 127, 158-172.


VolumeFilterBilateral

Description:

Filter a volume with a bilateral filter

Required Input Arguments:

  --input <Volume>      input volume   

Optional Input Arguments:

  --mask <Mask>      input mask   

Optional Parameter Arguments:

  --channel <Integer>      volume channel (default applies to all)   
  --hpos <Double>      positional bandwidth (Default: 1.0)   
  --hval <Double>      data adaptive bandwidth   
  --support <int>      filter radius in voxels (filter will be 2 * support + 1 in each dimension)     (Default: 3)   
  --iterations <int>      number of repeats (Default: 1)   

Required Output Arguments:

  --output <Volume>      output volume   

Author:

Ryan Cabeen

Citation:

Elad, M. (2002). On the origin of the bilateral filter and ways to improve it. IEEE Transactions on image processing, 11(10), 1141-1151.


VolumeFilterDoG

Description:

Filter a volume using a Gaussian kernel

Required Input Arguments:

  --input <Volume>      input volume   

Optional Input Arguments:

  --mask <Mask>      input mask   

Optional Parameter Arguments:

  --support <int>      filter support (filter will be 2 * support + 1 voxels in each dimension)     (Default: 3)   
  --low <double>      the low smoothing level (Default: 1.0)   
  --high <double>      the low smoothing level (Default: 2.0)   
  --num <int>      number of applications (Default: 1)   
  --threads <int>      number of threads (Default: 1)   
  --preserve       preserve un-masked values through the filter   

Required Output Arguments:

  --output <Volume>      output mask   

Author:

Ryan Cabeen


VolumeFilterFrangi

Description:

Filter a volume using a Frangi filter. This extracts tubular structures (scale level is the sigma parameter of a Gaussian in mm)

Required Input Arguments:

  --input <Volume>      input volume   

Optional Input Arguments:

  --mask <Mask>      input mask   

Optional Parameter Arguments:

  --support <int>      filter support (filter will be 2 * support + 1 voxels in each dimension)     (Default: 3)   
  --num <int>      number of smoothing iterations (Default: 1)   
  --low <double>      the low scale level (Default: 1.0)   
  --high <double>      the high scale level (Default: 5.0)   
  --scales <int>      the number of scale samples (Default: 5)   
  --alpha <double>      the alpha Frangi parameter (Default: 0.5)   
  --beta <double>      the beta Frangi parameter (Default: 0.5)   
  --gamma <double>      the gamma Frangi parameter for 3D structures (Default: 300.0)   
  --gammaPlanar <double>      the gamma Frangi parameter for 2D structures (Default: 15.0)   
  --threads <int>      number of threads (Default: 1)   
  --dark       use detect dark tubes instead of bright tubes   
  --sobel       use a sobel operator (default is central finite difference)   
  --full       return the full scale space (default is maximum)   
  --pass       pass un-masked values through the filter   

Advanced Parameter Arguments:

  --num <int>      number of smoothing iterations (Default: 1)   

Required Output Arguments:

  --output <Volume>      output filter response   

Optional Output Arguments:

  --outputScale <Volume>      output scale of the tubular structure   

Author:

Ryan Cabeen

Citation:

Frangi, Alejandro F., et al. “Multiscale vessel enhancement filtering.” International Conference on Medical Image Computing and Computer-Assisted Intervention. Springer, Berlin, Heidelberg, 1998.


VolumeFilterGaussian

Description:

Filter a volume using a Gaussian kernel

Required Input Arguments:

  --input <Volume>      input volume   

Optional Input Arguments:

  --mask <Mask>      input mask   

Optional Parameter Arguments:

  --support <int>      filter support (filter will be 2 * support + 1 voxels in each dimension)     (Default: 3)   
  --sigma <Double>      the smoothing level (Default: 1.0)   
  --num <int>      number of applications (Default: 1)   
  --threads <int>      number of threads (Default: 1)   
  --full       use a full convolution filter (otherwise separate filters are used)   
  --pass       pass un-masked values through the filter   
  --channel <Integer>      the volume channel (default applies to all)   

Required Output Arguments:

  --output <Volume>      output filtered volume   

Author:

Ryan Cabeen


VolumeFilterGradient

Description:

Filter a volume to compute its Hessian

Required Input Arguments:

  --input <Volume>      input volume   

Optional Input Arguments:

  --mask <Mask>      input mask   

Optional Parameter Arguments:

  --threads <int>      number of threads (Default: 1)   
  --sobel       use a sobel operator (default is central finite difference)   
  --mag       return the gradient magnitude   

Required Output Arguments:

  --output <Volume>      output mask   

Author:

Ryan Cabeen


VolumeFilterHessian

Description:

Filter a volume to compute its Hessian

Required Input Arguments:

  --input <Volume>      input volume   

Optional Input Arguments:

  --mask <Mask>      input mask   

Optional Parameter Arguments:

  --threads <int>      number of threads (Default: 1)   
  --sobel       use a sobel operator (default is central finite difference)   
  --mode <VolumeFilterHessianMode>      return the given output mode (Options: Matrix, Eigen, Determ, Norm, Westin,     Spherical, Linear, Planar, Ridge, Blob, DarkBlob, LightBlob) (Default:     Matrix)   

Required Output Arguments:

  --output <Volume>      output mask   

Author:

Ryan Cabeen


VolumeFilterLaplacian

Description:

Filter a volume using a Laplacian kernel

Required Input Arguments:

  --input <Volume>      input volume   

Optional Input Arguments:

  --mask <Mask>      input mask   

Optional Parameter Arguments:

  --support <int>      filter support (filter will be 2 * support + 1 voxels in each dimension)     (Default: 3)   
  --sigma <Double>      the smoothing level (Default: 1.0)   
  --amp <Double>      the  (Default: 1.0)   
  --threads <int>      number of threads (Default: 1)   
  --preserve       pass un-masked values through the filter   
  --channel <Integer>      the volume channel (default applies to all)   

Required Output Arguments:

  --output <Volume>      output filtered volume   

Author:

Ryan Cabeen


VolumeFilterMeanShift

Description:

Process a volume with mean shift analysis for either anisotropic filtering or segmentation

Required Input Arguments:

  --input <Volume>      the input volume   

Optional Input Arguments:

  --mask <Mask>      a mask   

Optional Parameter Arguments:

  --hpos <double>      the spatial bandwidth in mm (Default: 8.0)   
  --hval <double>      the adaptive bandwidth in units of intensity (Default: 64.0)   
  --iters <int>      the maxima number of iterations (Default: 5000)   
  --minshift <double>      the threshold for stopping gradient updates (Default: 0.001)   
  --minsize <double>      the minima cluster size (Default: 50.0)   

Optional Output Arguments:

  --filtered <Volume>      the output filtered image   
  --segmented <Mask>      the output segmentation   

Author:

Ryan Cabeen

Citation:

Comaniciu, D., & Meer, P. (2002). Mean shift: A robust approach toward feature space analysis. IEEE Transactions on pattern analysis and machine intelligence, 24(5), 603-619.


VolumeFilterMedian

Description:

Filter a volume using a median filter

Required Input Arguments:

  --input <Volume>      input volume   

Optional Input Arguments:

  --mask <Mask>      input mask   

Optional Parameter Arguments:

  --window <int>      the window size in voxels (Default: 1)   
  --channel <Integer>      the volume channel (default applies to all)   
  --slice <String>      restrict the filtering to a specific slice (i, j, or k)   
  --num <Integer>      the number of times to filter (Default: 1)   
  --threads <Integer>      the number of threads in the pool (Default: 1)   

Required Output Arguments:

  --output <Volume>      output volume   

Author:

Ryan Cabeen


VolumeFilterNLM

Description:

Apply a non-local means filter to a volume

Required Input Arguments:

  --input <Volume>      input volume   

Optional Input Arguments:

  --mask <Mask>      input mask   
  --hrelMask <Mask>      a mask for computing the mean image intensity for relative bandwidth (see     hrel)   

Optional Parameter Arguments:

  --channel <Integer>      the volume channel (default applies to all)   
  --mode <FilterMode>      indicate whether the filtering should be volumetric (default) or restricted     to a specified slice (Options: Volumetric, SliceI, SliceJ, SliceK)     (Default: Volumetric)   
  --patch <int>      the patch size (Default: 1)   
  --search <int>      the search window size (Default: 2)   
  --stats <int>      the statistics window size (for computing mean and variance in adaptive     filtering) (Default: 2)   
  --h <Double>      use a fixed noise level (skips adaptive noise esimation)   
  --epsilon <double>      the minimum meaningful value for mean and vars (Default: 1.0E-5)   
  --meanThresh <double>      the mean intensity threshold (Default: 0.95)   
  --varThresh <double>      the variance intensity threshold (Default: 0.5)   
  --factor <double>      a factor for scaling adaptive sensitivity (larger values remove more noise)     (Default: 1.0)   
  --hrel       use the h bandwidth as a fraction of the mean image intensity   
  --hrelwhich <String>      specify which channels to use for hrel (Default: 0)   
  --rician       whether a Rician noise model should be used   
  --threads <Integer>      the number of threads in the pool (Default: 1)   

Required Output Arguments:

  --output <Volume>      output volume   

Optional Output Arguments:

  --outputNoise <Volume>      output noise map   

Author:

Ryan Cabeen

Citation:

Manjon, Jose V., et al. Adaptive non-local means denoising of MR images with spatially varying noise levels. Journal of Magnetic Resonance Imaging 31.1 (2010): 192-203.


VolumeFilterNeuron

Description:

Filter a volume to isolate neuronal structures

Required Input Arguments:

  --input <Volume>      input volume   

Optional Parameter Arguments:

  --median <Integer>      the number of median filter passes (Default: 1)   
  --dilate <Integer>      the number of dilation passes (Default: 1)   
  --min <Integer>      the minimum number of voxels in a neuron connected component (Default: 300)   
  --thresh <Double>      the threshold for segmenting cell bodies (Default: 0.01)   
  --frangi       apply the Frangi filter   
  --frangiThresh <double>      the threshold for Frangi segmentation (Default: 0.01)   
  --frangiScales <int>      the number of scales used in the Frangi filter (Default: 5)   
  --frangiLow <int>      the lowest scale used in the Frangi filter (Default: 1)   
  --frangiHigh <Integer>      the highest scale used in the Frangi filter (Default: 10)   
  --threads <int>      number of threads (Default: 1)   

Required Output Arguments:

  --output <Volume>      output volume   

Optional Output Arguments:

  --outputFrangi <Volume>      output frangi   
  --outputMask <Mask>      output mask   

Author:

Ryan Cabeen


VolumeFilterPCA

Description:

Denoise a volume using random matrix theory. Noise is estimated using a universal Marchenko Pastur distribution and removed via principal component analysis

Required Input Arguments:

  --input <Volume>      input volume   

Optional Input Arguments:

  --mask <Mask>      input mask   

Optional Parameter Arguments:

  --type <VolumeFilterPCAType>      the type of PCA filtering to use (Options: MP, CenterMP) (Default: MP)   
  --window <int>      the window size (Default: 5)   
  --threads <Integer>      the number of threads in the pool (Default: 1)   

Required Output Arguments:

  --output <Volume>      output denoised volume   

Optional Output Arguments:

  --noise <Volume>      output noise map   
  --comps <Volume>      output pca component count   

Author:

Ryan Cabeen

Citation:

Veraart, J., Novikov, D. S., Christiaens, D., Ades-Aron, B., Sijbers, J., & Fieremans, E. (2016). Denoising of diffusion MRI using random matrix theory. NeuroImage, 142, 394-406.


VolumeFilterPDE

Description:

Filter a volume using a PDE representing anisotropic mri

Required Input Arguments:

  --input <Volume>      input volume   

Optional Input Arguments:

  --mask <Mask>      input mask   

Optional Parameter Arguments:

  --channel <String>      the volume channel(s) (default applies to all)   
  --lambda <Double>      smoothing parameter (in mm) (Default: 0.16666666666666666)   
  --k <Double>      anisotropic flux parameter (relative to image intensities) (Default: 0.01)   
  --steps <Integer>      the number of timesteps to apply (Default: 5)   
  --anisotropic       use anisotropic smoothing   
  --quadratic       use a quadratic flux (instead of exponential)   
  --recurse       use the output as input   

Required Output Arguments:

  --output <Volume>      output volume   

Author:

Ryan Cabeen

Citation:

Perona, P., & Malik, J. (1990). Scale-space and edge detection using anisotropic mri. IEEE Transactions on pattern analysis and machine intelligence, 12(7), 629-639.


VolumeFilterSigmoid

Description:

Filter a volume with a sigmoid to perform a soft threshold

Required Input Arguments:

  --input <Volume>      input volume   

Optional Input Arguments:

  --mask <Mask>      input mask   

Optional Parameter Arguments:

  --thresh <double>      the position of the sigmoid (Default: 0.5)   
  --slope <double>      the slope of the sigmoid (Default: 25.0)   
  --low <double>      low output (Default: 0.0)   
  --high <double>      high output (Default: 1.0)   
  --invert       invert the sigmoid (lower input values will be high)   

Required Output Arguments:

  --output <Volume>      output mask   

Author:

Ryan Cabeen


VolumeFilterSigmoidRange

Description:

Filter a volume with the produce of two sigmoids, which act as a soft range threshold

Required Input Arguments:

  --input <Volume>      input volume   

Optional Input Arguments:

  --mask <Mask>      input mask   

Optional Parameter Arguments:

  --below <double>      the below sigmoid threshold (Default: 0.5)   
  --above <double>      the above sigmoid threshold (Default: 0.5)   
  --slope <double>      the slope of the sigmoid (Default: 25.0)   
  --low <double>      low output (Default: 0.0)   
  --high <double>      high output (Default: 1.0)   
  --invert       invert the sigmoid   

Required Output Arguments:

  --output <Volume>      output mask   

Author:

Ryan Cabeen


VolumeFilterTriangle

Description:

Filter a volume using a Triangle kernel

Required Input Arguments:

  --input <Volume>      input volume   

Optional Input Arguments:

  --mask <Mask>      input mask   

Optional Parameter Arguments:

  --support <int>      filter support (filter will be 2 * support + 1 in each dimension) (Default:     3)   
  --num <int>      number of applications (Default: 1)   
  --preserve       preserve un-masked values through the filter   
  --channel <Integer>      the volume channel (default applies to all)   
  --threads <Integer>      the number of threads (Default: 1)   

Required Output Arguments:

  --output <Volume>      output mask   

Author:

Ryan Cabeen


VolumeFilterZeroCrossing

Description:

Filter a volume using a Gaussian kernel

Required Input Arguments:

  --input <Volume>      input volume   

Optional Input Arguments:

  --mask <Mask>      input mask   

Optional Parameter Arguments:

  --large       use a bigger 27-voxel neighborhood   
  --mode <Mode>      the crossing selection mode (Options: Below, Above, Both) (Default: Both)   

Required Output Arguments:

  --output <Volume>      output zero crossings   

Author:

Ryan Cabeen


VolumeFloodFill

Description:

Flip the voxel values of volume along coordinate axes

Required Input Arguments:

  --input <Volume>      input volume of values for filling   
  --source <Mask>      a mask indicating the source, i.e. which voxels of the input are used for     filling   

Optional Input Arguments:

  --dest <Mask>      a mask used for restricting the voxel flooded (must be convex, but this is     not checked)   

Optional Parameter Arguments:

  --fix <int>      maximum number of fixing passes (Default: 0)   

Required Output Arguments:

  --outputFlood <Volume>      output volume of flood values   

Optional Output Arguments:

  --outputDist <Volume>      output distance field   

Author:

Ryan Cabeen



VolumeFuse

Description:

fuse volumes

Required Input Arguments:

  --input <Volume(s)>      the input volumes   

Optional Input Arguments:

  --mask <Mask>      specify a mask   

Optional Parameter Arguments:

  --pattern <String(s)>      specify a list of names that will be substituted with input %s   
  --bg <Double>      specify an additional background value for softmax or sumnorm   
  --gain <Double>      specify a gain for softmax   
  --offset <Double>      specify a offset for softmax   
  --skip       skip missing files   
  --limit       do not load more than this number of images   
  --robust       use robust statistics   
  --exmulti       exclude extra multi-channel volumes (load only the first one)   
  --norm       use the vector norm (or absolute value)   

Optional Output Arguments:

  --output-cat <Volume>      specify the output concatenated volume   
  --output-min <Volume>      specify the output min volume   
  --output-max <Volume>      specify the output max volume   
  --output-sum <Volume>      specify the output sum volume   
  --output-mean <Volume>      specify the output mean volume   
  --output-median <Volume>      specify the output median volume   
  --output-var <Volume>      specify the output var volume   
  --output-std <Volume>      specify the output std volume   
  --output-cv <Volume>      specify the output cv volume   
  --output-softmax <Volume>      specify the output softmax   
  --output-sumnorm <Volume>      specify the output sumnorm   
  --output-first <Volume>      specify the output first volume   
  --output-last <Volume>      specify the output last volume   

Author:

Ryan Cabeen


VolumeGradient

Description:

Compute the gradient of an image

Required Input Arguments:

  --input <Volume>      input volume   

Optional Input Arguments:

  --mask <Mask>      input mask   

Optional Parameter Arguments:

  --channel <Integer>      the volume channel (default applies to all) (Default: 0)   
  --type <String>      type of finite difference approximation (forward, backward, central)     (Default: central)   

Required Output Arguments:

  --output <Volume>      output volume   

Author:

Ryan Cabeen


VolumeGradientMagnitude

Description:

Compute the gradient magnitude of an image

Required Input Arguments:

  --input <Volume>      input volume   

Optional Input Arguments:

  --mask <Mask>      input mask   

Optional Parameter Arguments:

  --channel <Integer>      the volume channel (default applies to all) (Default: 0)   
  --type <String>      type of finite difference approximation (forward, backward, central)     (Default: central)   

Required Output Arguments:

  --output <Volume>      output volume   

Author:

Ryan Cabeen


VolumeHarmonize

Description:

Harmonize a volume with a reference volume

Required Input Arguments:

  --input <Volume>      the input volume   

Optional Input Arguments:

  --inputMask <Mask>      an input mask to restrict both statistics and harmonized voxels   
  --inputStatMask <Mask>      an input mask to only restrict computing statistics   
  --reference <Volume>      a reference volume   
  --referenceMask <Mask>      a reference mask   

Optional Parameter Arguments:

  --bins <int>      the number of bins (Default: 256)   
  --lower <Bound>      the method for computing the histogram lower bound (Options: Extrema,     Quartile, HalfStd, OneStd, TwoStd, ThreeStd, User) (Default: ThreeStd)   
  --upper <Bound>      the method for computing the histogram upper bound (Options: Extrema,     Quartile, HalfStd, OneStd, TwoStd, ThreeStd, User) (Default: ThreeStd)   
  --mylower <Double>      specify a specific lower bound for user defined mode   
  --myupper <Double>      specify a specific upper bound for user defined mode   
  --smooth <Double>      the amount of smoothing (relative to bins) (Default: 10.0)   
  --lowerThresh <Double>      a lower threshold for excluding background   
  --upperThresh <Double>      an upper threshold for excluding background   

Required Output Arguments:

  --output <Volume>      the output volume   

Author:

Ryan Cabeen


VolumeHistogram

Description:

Compute a histogram of a volume

Required Input Arguments:

  --input <Volume>      the input volume   

Optional Input Arguments:

  --mask <Mask>      an input mask   

Optional Parameter Arguments:

  --bins <int>      the number of bins (Default: 256)   
  --lower <Bound>      the method for computing the histogram lower bound (Options: Extrema,     Quartile, HalfStd, OneStd, TwoStd, ThreeStd, User) (Default: Extrema)   
  --upper <Bound>      the method for computing the histogram upper bound (Options: Extrema,     Quartile, HalfStd, OneStd, TwoStd, ThreeStd, User) (Default: Extrema)   
  --mylower <Double>      specify a specific lower bound for user defined mode   
  --myupper <Double>      specify a specific upper bound for user defined mode   
  --lowerThresh <Double>      apply a lower threshold before computing the histogram   
  --upperThresh <Double>      apply an upper threshold before computing the histogram   
  --normalize       normalize the counts by the total count   
  --cdf       compute the cdf   
  --smooth <Double>      apply Gaussian smoothing (see hdata)   
  --hdata       interpret the smoothing parameter relative to the data intensities (default     is bins)   
  --print       print a the histogram to standard output   
  --value <String>      the value column name (Default: value)   

Optional Output Arguments:

  --output <Table>      an output table   

Author:

Ryan Cabeen


VolumeImpute

Description:

Impute voxels by computing a moving average

Required Input Arguments:

  --input <Volume>      input Volume   

Optional Input Arguments:

  --mask <Mask>      input mask   
  --impute <Mask>      input imputation mask   

Optional Parameter Arguments:

  --support <int>      the radius for imputation (Default: 5)   
  --knn <int>      the k-nearest neighbors for imputation (Default: 6)   
  --missing <Double>      a value for missing cases (when imputation region is larger than the     support)   
  --outlier <Double>      remove extreme values (specify a k value for Tukey's fence, e.g. 1.5 for     outliers or 3 for far out)   

Optional Output Arguments:

  --output <Volume>      output Volume   
  --outputOutlier <Mask>      output outlier mask   

Author:

Ryan Cabeen


VolumeIsotropic

Description:

Isotropically scaleCamera a volume

Required Input Arguments:

  --input <Volume>      the input volume   

Optional Parameter Arguments:

  --size <double>      the output voxel size (Default: 1.0)   
  --interp <InterpolationType>      an interpolation type (Options: Nearest, Trilinear, Tricubic, Gaussian,     GaussianLocalLinear, GaussianLocalQuadratic) (Default: Tricubic)   

Required Output Arguments:

  --output <Volume>      the output volume   

Author:

Ryan Cabeen


VolumeJacobian

Description:

Compute the jacobian of a deformation volume

Required Input Arguments:

  --input <Volume>      input volume   

Optional Input Arguments:

  --mask <Mask>      a mask   
  --affine <Affine>      optional affine component to remove   

Optional Parameter Arguments:

  --deformation       treat the input as a deformation (i.e. displacement)   
  --eigenvalues       return the eigenvalues (exclusive with determinant flag)   
  --determinant       return the determinant (exclusive with eigenvalues flag)   
  --logarithm       return the logarithm (works with other options)   

Required Output Arguments:

  --output <Volume>      output table   

Author:

Ryan Cabeen


VolumeKurtosisFit

Description:

Fit a kurtosis volume. Warning: this does not yet estimate the kurtosis indices, e.g. FA, MK, etc.

Required Input Arguments:

  --input <Volume>      input diffusion-weighted MR volume   
  --gradients <Gradients>      the gradients   

Optional Input Arguments:

  --mask <Mask>      the mask   

Optional Parameter Arguments:

  --method <KurtosisFitType>      specify an estimation method, (FW enables free water elimination) (Options:     LLS, WLLS, FWLLS, FWWLLS) (Default: LLS)   
  --shells <String>      specify a subset of gradient shells to include (comma-separated list of     b-values)   
  --which <String>      specify a subset of gradients to include (comma-separated list of indices     starting from zero)   
  --exclude <String>      specify a subset of gradients to exclude (comma-separated list of indices     starting from zero)   
  --threads <int>      the number of threads to use (Default: 1)   

Advanced Parameter Arguments:

  --shells <String>      specify a subset of gradient shells to include (comma-separated list of     b-values)   
  --which <String>      specify a subset of gradients to include (comma-separated list of indices     starting from zero)   
  --exclude <String>      specify a subset of gradients to exclude (comma-separated list of indices     starting from zero)   
  --threads <int>      the number of threads to use (Default: 1)   

Required Output Arguments:

  --output <Volume>      output kurtosis volume   

Author:

Ryan Cabeen

Citation:

Veraart, J., Sijbers, J., Sunaert, S., Leemans, A., Jeurissen, B.: Weighted linear least squares estimation of mri mri parameters: strengths, limitations, and pitfalls. NeuroImage 81 (2013) 335-346



VolumeKurtosisODF

Description:

Sample an orientation distribution function (ODF) from a kurtosis volume.

Required Input Arguments:

  --input <Volume>      the input kurtosis volume   
  --dirs <Vects>      the sphere directions   

Optional Input Arguments:

  --mask <Mask>      a mask   

Optional Parameter Arguments:

  --alpha <Double>      the alpha power value (Default: 10.0)   
  --detail <Integer>      the level of detail for spherical ODF sampling (Default: 4)   
  --threads <Integer>      the number of threads in the pool (Default: 1)   

Required Output Arguments:

  --output <Volume>      the output odf volume   

Author:

Ryan Cabeen


VolumeKurtosisPeaks

Description:

Extract the peaks from a kurtosis volume. This finds the average direction of local maxima clustered by hierarchical clustering. The output fibers will encode the peak ODF value in place of volume fraction.

Required Input Arguments:

  --input <Volume>      the input kurtosis volume   

Optional Input Arguments:

  --mask <Mask>      a mask   

Optional Parameter Arguments:

  --comps <Integer>      the maximum number of comps (Default: 3)   
  --alpha <Double>      the alpha power value (Default: 10.0)   
  --thresh <Double>      the minimum peak threshold (Default: 0.0)   
  --detail <Integer>      the level of detail for spherical ODF sampling (Default: 4)   
  --cluster <Double>      the minimum angle in degrees for hierarchical clustering of local maxima     (Default: 5.0)   
  --threads <Integer>      the number of threads in the pool (Default: 1)   

Required Output Arguments:

  --output <Volume>      the output fibers volume   

Author:

Ryan Cabeen


VolumeMagnitude

Description:

Compute the magnitude of an image

Required Input Arguments:

  --input <Volume>      input volume   

Optional Input Arguments:

  --mask <Mask>      input mask   

Required Output Arguments:

  --output <Volume>      output volume   

Author:

Ryan Cabeen


VolumeMarchingCubes

Description:

Extract a mesh from a volume level set. This can be used for extracting boundary surfaces of distance fields, probability maps, parametric maps, etc. The background level should be changed depending on the context though to make sure the mesh orientation is correct.

Required Input Arguments:

  --input <Volume>      input volume   

Optional Parameter Arguments:

  --level <double>      level set to extract (Default: 0.5)   
  --background <double>      background value for outside sampling range (should be zero if the     background is 'black' and a large number if the input is similar to a     distance field) (Default: 0.0)   
  --nobound       exclude triangles on the boundary of the volume   
  --largest       retain only the largest component   
  --multi       extract a mesh for every channel   
  --label <String>      a label attribute name for multi-channel extraction (Default: label)   
  --median <Integer>      apply a median filter a given number of times before surface extraction   
  --std <Double>      apply g Gaussian smoothing before surface extraction   
  --support <Integer>      use a given support in voxels for voxel smoothing (Default: 3)   
  --meanarea <Double>      simplify the mesh to have the given mean triangle area   
  --noboundmesh       do not simplify vertices on the mesh boundary   
  --smooth <Double>      smooth the mesh   

Required Output Arguments:

  --output <Mesh>      output mesh   

Author:

Ryan Cabeen

Citation:

Lorensen, W. E., & Cline, H. E. (1987, August). Marching cubes: A high resolution 3D surface construction algorithm. In ACM SIGGRAPH Computer Graphics (Vol. 21, No. 4, pp. 163-169)


VolumeMarchingSquares

Description:

Extract isocontours from slices of a volume

Required Input Arguments:

  --input <Volume>      input volume   

Optional Parameter Arguments:

  --level <double>      level set to extract (Default: 0.0)   
  --background <double>      background value for outside sampling range (Default:     1.7976931348623157E308)   
  --dim <String>      volume channel to contour (x, y, or z) (Default: z)   
  --start <int>      starting slice index (Default: 0)   
  --step <int>      number of slices between contours (Default: 1)   

Required Output Arguments:

  --output <Curves>      output contours   

Author:

Ryan Cabeen

Citation:

Maple, C. (2003, July). Geometric design and space planning using the marching squares and marching cube algorithms. In Geometric Modeling and Graphics, 2003. Proceedings. 2003 International Conference on (pp. 90-95). IEEE.


VolumeMask

Description:

Mask a volume

Required Input Arguments:

  --input <Volume>      input volume   
  --mask <Mask>      a mask   

Required Output Arguments:

  --output <Volume>      output volume   

Author:

Ryan Cabeen


VolumeMaxProb

Description:

Find the maxima probability labels

Required Input Arguments:

  --input <Volume>      input volume   

Optional Input Arguments:

  --mask <Mask>      a mask to indicate background   

Optional Parameter Arguments:

  --bglabel <int>      the background label (Default: 0)   
  --bgvalue <double>      the background value (Default: 1.0)   

Optional Output Arguments:

  --labels <Mask>      output mask of the extremal index   
  --values <Volume>      output volume of the extremal values   

Author:

Ryan Cabeen


VolumeMcsmtFit

Description:

Estimate multi-compartment microscopic diffusion parameters

Required Input Arguments:

  --input <Volume>      the input diffusion-weighted MR volume   
  --gradients <Gradients>      the input gradients   

Optional Input Arguments:

  --mask <Mask>      the input mask   

Optional Parameter Arguments:

  --threads <int>      the input number of threads (Default: 1)   
  --maxiters <int>      the maximum number of iterations (Default: 1500)   
  --rhobeg <double>      the starting simplex size (Default: 0.1)   
  --rhoend <double>      the ending simplex size (Default: 0.001)   
  --dint <double>      the initial guess for parallel diffusivity (Default: 0.0017)   
  --frac <double>      the initial guess for intra-neurite volume fraction (Default: 0.5)   
  --fscale <double>      the scaling for volume fraction optimization (Default: 10.0)   
  --dscale <double>      the scaling for diffusivity optimization (Default: 1000.0)   
  --dmax <double>      the maximum diffusivity (Default: 0.003)   
  --dot       include a dot compartment   

Advanced Parameter Arguments:

  --maxiters <int>      the maximum number of iterations (Default: 1500)   
  --rhobeg <double>      the starting simplex size (Default: 0.1)   
  --rhoend <double>      the ending simplex size (Default: 0.001)   
  --dint <double>      the initial guess for parallel diffusivity (Default: 0.0017)   
  --frac <double>      the initial guess for intra-neurite volume fraction (Default: 0.5)   
  --fscale <double>      the scaling for volume fraction optimization (Default: 10.0)   
  --dscale <double>      the scaling for diffusivity optimization (Default: 1000.0)   
  --dmax <double>      the maximum diffusivity (Default: 0.003)   
  --dot       include a dot compartment   

Required Output Arguments:

  --output <Volume>      the output parameter map   

Author:

Ryan Cabeen

Citation:

Kaden, E., Kelm, N. D., Carson, R. P., Does, M. D., & Alexander, D. C. (2016). Multi-compartment microscopic diffusion imaging. NeuroImage, 139, 346-359.


VolumeMcsmtTransform

Description:

Transform an mcsmt volume

Required Input Arguments:

  --input <Volume>      the input mcsmt volume   
  --reference <Volume>      input reference volume   

Optional Input Arguments:

  --mask <Mask>      input mask   
  --inputMask <Mask>      use an input mask (defined in the input space)   
  --affine <Affine>      apply an affine xfm   
  --invaffine <Affine>      apply an inverse affine xfm   
  --deform <Deformation>      apply a deformation xfm   

Optional Parameter Arguments:

  --reverse       reverse the order, i.e. compose the affine(deform(x)), whereas the default     is deform(affine(x))   
  --reorient <ReorientationType>      specify a reorient method (Options: FiniteStrain, Jacobian) (Default:     Jacobian)   
  --interp <KernelInterpolationType>      the interpolation type (Options: Nearest, Trilinear, Gaussian) (Default:     Trilinear)   
  --support <Integer>      the filter radius in voxels (Default: 3)   
  --hpos <Double>      the positional bandwidth in mm (Default: 1.0)   

Required Output Arguments:

  --output <Volume>      the output transformed mcsmt volume   

Author:

Ryan Cabeen


VolumeMeasure

Description:

Collect statistical sumaries of a volume using a mask. This supports single label masks and more advanced options for multi-channel masks (e.g. loading names associated with each label)

Required Input Arguments:

  --input <Volume>      input volume   

Optional Input Arguments:

  --weight <Volume>      a weighting   
  --mask <Mask>      a mask   
  --lookup <Table>      use a lookup for region names   

Optional Parameter Arguments:

  --background       use the background   
  --multiple       use multiple regions   
  --channel <int>      specify a volume channel (Default: 0)   
  --base <String>      specify a region basename (Default: region)   
  --index <String>      specify the lookup index field (Default: index)   
  --name <String>      specify the lookup name field (Default: name)   
  --region <String>      specify the output region field name (Default: region)   
  --stat <String>      specify the output statistic field name (Default: stat)   
  --value <String>      specify the output value field name (Default: value)   
  --include <String>      specify which statistics should be included (e.g. mean)   
  --union       combine the region and stat fields into one   
  --join <String>      the character for joining region and stat names (depends on union flag)     (Default: _)   
  --nostat       exclude the statistics field   
  --widen       widen the table on the statistics field   

Required Output Arguments:

  --output <Table>      output table   

Author:

Ryan Cabeen


VolumeMeasureBatch

Description:

Compute measures of a set of volumes in batch mode.

Required Input Arguments:

  --input <FilePattern>      specify an input filename pattern (masks or density volumes)   

Optional Input Arguments:

  --mask <Mask>      specify a mask for including voxels   

Required Parameter Arguments:

  --names <Spec>      specify bundle identifiers   

Optional Parameter Arguments:

  --density       measure density from input mask   
  --thresh <Double>      specify a density threshold for volumetry (Default: 0.5)   
  --volume <String=Volume> [...]      specify volumes to sample   

Required Output Arguments:

  --output <Directory>      specify an output directory   

Author:

Ryan Cabeen


VolumeModelError

Description:

Compute the root mean square error between a model and dwi volume

Required Input Arguments:

  --input <Volume>      input model volume   
  --dwi <Volume>      input dwi   
  --gradients <Gradients>      input gradients   

Optional Input Arguments:

  --mask <Mask>      input mask   

Optional Parameter Arguments:

  --model <String>      a model name (default will try to detect it)   
  --type <ModelErrorType>      specify an error type (default is root mean square error) (Options: MSE,     RMSE, NRMSE, BIC, AIC, AICc) (Default: RMSE)   
  --dof <Integer>      specify an specific degrees of freedom (useful for models that were     constrained when fitting)   
  --dparNoddi <Double>      specify a NODDI parallel diffusivity   
  --disoNoddi <Double>      specify a NODDI isotropic diffusivity   

Required Output Arguments:

  --output <Volume>      output error volume   

Author:

Ryan Cabeen

Citation:

Burnham, K. P., & Anderson, D. R. (2004). Multimodel inference: understanding AIC and BIC in model selection. Sociological methods & research, 33(2), 261-304.


VolumeModelFeature

Description:

Extract a feature from a model volume

Required Input Arguments:

  --input <Volume>      input model volume   

Optional Parameter Arguments:

  --model <String>      a model name (default will try to detect it)   
  --feature <String>      a feature name   

Required Output Arguments:

  --output <Volume>      output feature volume   

Author:

Ryan Cabeen


VolumeModelReorient

Description:

Reorient the fiber orientations of a model volume. If both a flip and swap are specified, the flip is performed first. This only works for tensor, noddi, and fibers volumes

Required Input Arguments:

  --input <Volume>      input model volume   

Optional Input Arguments:

  --mask <Mask>      input mask   

Optional Parameter Arguments:

  --model <String>      a model name (default will try to detect it)   
  --flip <String>      flip a coodinate (x, y, z, or none)   
  --swap <String>      swap a pair of coordinates (xy, xz, yz, or none)   

Required Output Arguments:

  --output <Volume>      output error volume   

Author:

Ryan Cabeen


VolumeModelSample

Description:

Sample model parameters based on a variety of possible data objects

Required Input Arguments:

  --input <Volume>      the input model volume   

Optional Input Arguments:

  --vects <Vects>      vects storing the position where models should be sampled   
  --solids <Solids>      solids storing the position where models should be sampled   
  --mask <Mask>      mask storing the position where models should be sampled   
  --curves <Curves>      curves storing the position where models should be sampled   
  --mesh <Mesh>      mesh storing the position where models should be sampled   

Optional Parameter Arguments:

  --model <ModelType>      a model type (if you select None, the code will try to detect it) (Options:     Vect, Tensor, BiTensor, Fibers, Spharm, Kurtosis, Noddi, ExpDecay, Mcsmt)     (Default: Vect)   
  --jitter <Double>      jitter the samples by a given amount   
  --cull <Double>      cull the samples at a given threshold ditance   
  --multiplier <Integer>      a multiplier of the number of samples taken (sometimes only makes sense     when jittering) (Default: 1)   
  --limit <Integer>      a maximum number of samples (the excess is randomly selected)   
  --param       samples should store only model parameters (otherwise the position is     prepended)   
  --interp <KernelInterpolationType>      the interpolation type (Options: Nearest, Trilinear, Gaussian) (Default:     Trilinear)   
  --support <Integer>      the interpolation filter radius in voxels (Default: 5)   
  --hpos <Double>      the positional interpolation bandwidth in mm (Default: 1.5)   
  --comps <int>      a maxima number of compartments (xfib only) (Default: 3)   
  --log       use log-euclidean estimation (dti only)   
  --threads <int>      the number of threads (Default: 4)   

Advanced Parameter Arguments:

  --interp <KernelInterpolationType>      the interpolation type (Options: Nearest, Trilinear, Gaussian) (Default:     Trilinear)   
  --support <Integer>      the interpolation filter radius in voxels (Default: 5)   
  --hpos <Double>      the positional interpolation bandwidth in mm (Default: 1.5)   
  --comps <int>      a maxima number of compartments (xfib only) (Default: 3)   
  --log       use log-euclidean estimation (dti only)   
  --threads <int>      the number of threads (Default: 4)   

Required Output Arguments:

  --output <Vects>      the output sampled vects   

Author:

Ryan Cabeen

Citation:

Cabeen, R. P., Bastin, M. E., & Laidlaw, D. H. (2016). Kernel regression estimation of fiber orientation mixtures in mri MRI. NeuroImage, 127, 158-172.


VolumeModelSynth

Description:

Synthesize a dMRI from a fibers volume

Required Input Arguments:

  --input <Volume>      input model volume   
  --gradients <Gradients>      the gradient scheme   

Optional Input Arguments:

  --mask <Mask>      input mask   

Optional Parameter Arguments:

  --model <String>      a model name (default will try to detect it)   

Required Output Arguments:

  --output <Volume>      output synthesized diffusion-weighted MR volume   

Author:

Ryan Cabeen


VolumeModelTrackStreamline

Description:

Perform deterministic multi-fiber streamline tractography from a model volume. This supports tensor, fibers, spharm, and noddi volumes.

Required Input Arguments:

  --input <Volume>      the input model volume   

Optional Input Arguments:

  --seedVects <Vects>      seed from vects   
  --seedMask <Mask>      a seed mask (one seed per voxel is initiated from this)   
  --seedSolids <Solids>      seed from solids (one seed per object is initiated from this)   
  --includeMask <Mask>      an include mask (curves are only included if they touch this, i.e. AND)   
  --includeSolids <Solids>      an include solids (curves are only included if they touch this, i.e. AND)   
  --includeAddMask <Mask>      an additional include mask (curves are only included if they touch this,     i.e. AND)   
  --includeAddSolids <Solids>      an additional include solids (curves are only included if they touch this,     i.e. AND)   
  --excludeMask <Mask>      an exclude mask (curves are removed if they touch this mask, i.e. NOT)   
  --excludeSolids <Solids>      an exclude solids object (curves are removed if they touch any solid, ie.e     NOT)   
  --trapMask <Mask>      a trap mask (tracking terminates when leaving this mask)   
  --stopMask <Mask>      a stop mask (tracking terminates when reaching this mask)   
  --stopSolids <Solids>      a stop solids object  (tracking terminates when reaching any solid)   
  --endMask <Mask>      an endpoint mask (curves are only retained if they end inside this)   
  --endSolids <Solids>      an endpoint solids object (curves are only retained if they end inside     this)   
  --trackMask <Mask>      a tracking mask (tracking is stopped if a curve exits this mask)   
  --trackSolids <Solids>      a tracking solids (tracking is stopped if a curve exits solids)   
  --containMask <Mask>      a containment mask (a minimum fraction of arclength must be inside this     mask)   
  --connectMask <Mask>      a connection mask (tracks will be constrained to connect distinct labels)   
  --odfPoints <Vects>      specify the spherical points for processing the odf (the number of vectors     should match the dimensionality of the input volume)   
  --force <Volume>      use a force field   
  --hybridPeaks <Volume>      use the given peaks (otherwise they will be computed from the input)   
  --hybridConnectMask <Mask>      use the given connect mask during the initial tracking phase (but not the     secondary one)   
  --hybridTrapMask <Mask>      use the given trap mask during the initial tracking phase (but not the     secondary one)   
  --hybridExcludeMask <Mask>      use the given exclude mask during the initial tracking phase (but not the     secondary one)   
  --hybridStopMask <Mask>      use the given stop mask during the initial tracking phase (but not the     secondary one)   
  --hybridTrackMask <Mask>      use the given track mask during the initial tracking phase (but not the     secondary one)   
  --hybridCurves <Curves>      use the given curves (and skip the first stage of hybrid tracking)   

Optional Parameter Arguments:

  --samplesFactor <Double>      increase or decrease the total number of samples by a given factor     (regardless of whether using vects, mask, or solids) (Default: 1.0)   
  --samplesMask <Integer>      the number of samples per voxel when using mask seeding (Default: 1)   
  --samplesSolids <Integer>      the number of samples per object when using solid seeding (Default: 5000)   
  --min <double>      a minimum cutoff value for tracking (depend on the voxel model, e.g. FA for     DTI, frac for Fibers, etc.) (Default: 0.075)   
  --angle <Double>      the angle stopping criteria (maximum change in orientation per step)     (Default: 45.0)   
  --disperse <Double>      use a fixed amount of orientation dispersion during tracking (e.g. 0.1)     (Default: 0.0)   
  --step <Double>      the step size for tracking (Default: 1.0)   
  --minlen <Double>      the minimum streamline length (Default: 0.0)   
  --maxlen <Double>      the maximum streamline length (Default: 1000000.0)   
  --maxseeds <Integer>      a maximum number of seeds (Default: 2000000)   
  --maxtracks <Integer>      a maximum number of tracks (Default: 2000000)   
  --interp <KernelInterpolationType>      the interpolation type (Options: Nearest, Trilinear, Gaussian) (Default:     Nearest)   
  --mono       use monodirectional seeding (default is bidirectional), e.g. for seeding     from a subcortical structure   
  --vector       use vector field integration (the default is to use axes, which have not     preferred forward/back direction)   
  --prob       use probabilistic sampling and selection   
  --probMax       follow the maximum probability direction (only used when the prob flag is     enabled)   
  --probPower <Double>      raise the sample probability to the given power (to disable, leave at one)     (Default: 1.0)   
  --probAngle <Double>      the prior gain for angle changes (beta * change / threshold) (t disable,     set to zero) (Default: 5.0)   
  --probPoints <Integer>      the number of ODF points to sample for probabilistic sampling (or you can     provide specific odfPoints) (Default: 300)   
  --endConnect       find connections in the end mask   
  --hybrid       use the hybrid approach   
  --hybridSamplesFactor <Double>      specify a seed multiplication factor for the first stage of hybrid tracking     (Default: 1.0)   
  --hybridMin <Double>      specify an minimum for the first stage of hybrid tracking   
  --hybridAngle <Double>      specify an angle for the first stage of hybrid tracking   
  --hybridDisperse <Double>      specify an amount of dispersion to in the first stage of hybrid tracking     (Default: 0.1)   
  --hybridPresmooth <Double>      specify an pre-smoothing bandwidth (before projection)   
  --hybridProjAngle <Double>      specify an angle for hybrid projection (Default: 45.0)   
  --hybridProjNorm <Double>      specify a minimum norm for hybrid projection (Default: 0.01)   
  --hybridProjFrac <Double>      specify a minimum compartment fraction for hybrid projection (Default:     0.025)   
  --hybridProjFsum <Double>      specify a minimum total fraction for hybrid projection (Default: 0.05)   
  --hybridPostsmooth <Double>      specify an post-smoothing bandwidth (after projection)   
  --hybridInterp <KernelInterpolationType>      the interpolation type for the first stage of hybrid tracking (Options:     Nearest, Trilinear, Gaussian) (Default: Nearest)   
  --gforce <Double>      the prior gain forces (larger values have smoother effects and zero is hard     selection) (Default: 0.0)   
  --model <String>      a model name (default will try to detect it)   
  --threads <int>      the number of threads (Default: 3)   
  --max <Double>      a maximum value for tracking (FA for dti, frac for xfib/spharm, ficvf for     noddi)   
  --mixing <Double>      the mixing weight for orientation updates (0 to 1) (Default: 1.0)   
  --arclen <Double>      an arclength containment threshold (Default: 0.8)   
  --reach <Double>      only allow tracking to travel a given reach distance from the seed   
  --rk       use fourth-order Runge-Kutta integration (default is Euler)   
  --binarize       binarize masks (ignore multiple labels in include and other masks)   
  --quiet       print progress messages   

Advanced Parameter Arguments:

  --vector       use vector field integration (the default is to use axes, which have not     preferred forward/back direction)   
  --hybrid       use the hybrid approach   
  --hybridSamplesFactor <Double>      specify a seed multiplication factor for the first stage of hybrid tracking     (Default: 1.0)   
  --hybridMin <Double>      specify an minimum for the first stage of hybrid tracking   
  --hybridAngle <Double>      specify an angle for the first stage of hybrid tracking   
  --hybridDisperse <Double>      specify an amount of dispersion to in the first stage of hybrid tracking     (Default: 0.1)   
  --hybridPresmooth <Double>      specify an pre-smoothing bandwidth (before projection)   
  --hybridProjAngle <Double>      specify an angle for hybrid projection (Default: 45.0)   
  --hybridProjNorm <Double>      specify a minimum norm for hybrid projection (Default: 0.01)   
  --hybridProjFrac <Double>      specify a minimum compartment fraction for hybrid projection (Default:     0.025)   
  --hybridProjFsum <Double>      specify a minimum total fraction for hybrid projection (Default: 0.05)   
  --hybridPostsmooth <Double>      specify an post-smoothing bandwidth (after projection)   
  --hybridInterp <KernelInterpolationType>      the interpolation type for the first stage of hybrid tracking (Options:     Nearest, Trilinear, Gaussian) (Default: Nearest)   
  --gforce <Double>      the prior gain forces (larger values have smoother effects and zero is hard     selection) (Default: 0.0)   
  --model <String>      a model name (default will try to detect it)   
  --threads <int>      the number of threads (Default: 3)   
  --max <Double>      a maximum value for tracking (FA for dti, frac for xfib/spharm, ficvf for     noddi)   
  --mixing <Double>      the mixing weight for orientation updates (0 to 1) (Default: 1.0)   
  --arclen <Double>      an arclength containment threshold (Default: 0.8)   
  --reach <Double>      only allow tracking to travel a given reach distance from the seed   
  --rk       use fourth-order Runge-Kutta integration (default is Euler)   
  --binarize       binarize masks (ignore multiple labels in include and other masks)   

Required Output Arguments:

  --output <Curves>      the output tractography curves   

Author:

Ryan Cabeen

Citation:

Cabeen, R. P., Bastin, M. E., & Laidlaw, D. H. (2016). Kernel regression estimation of fiber orientation mixtures in diffusion MRI. NeuroImage, 127, 158-172.


VolumeMosaic

Description:

Create a mosaic from an image volume. This will take a 3D volume and create a single slice that shows the whole dataset. This is mainly useful for quality assessment.

Required Input Arguments:

  --input <Volume>      input volume   

Optional Input Arguments:

  --mask <Mask>      input mask   

Required Parameter Arguments:

  --output <String>      output filename to save mosaic   

Optional Parameter Arguments:

  --axis <VolumeMosaicAxis>      choose an axis for slicing (Options: i, j, k) (Default: i)   
  --crop <String>      a string for cropping the volume, e.g. :,:,10:2:17 would show slices 10,     12, 14, and 16 etc.   
  --rgb       treat the input as RGB   
  --enhance       enhance the contrast   
  --min <Double>      use a linear colormap with the given fixed minimum   
  --max <Double>      use a linear colormap with the given fixed maximum   
  --multichannel       save out multichannel slices (the output filename must include '%d' if you     use this option)   

Author:

Ryan Cabeen


VolumeNiftiCopyHeader

Description:

Copy the image data of the input image into a reference volume’s nifti header

Required Parameter Arguments:

  --input <String>      the filename of the input volume (the source of data)   
  --ref <String>      the filename of input reference volume (for providing the header)   
  --output <String>      the filename of the output volume   

Author:

Ryan Cabeen


VolumeNiftiPrintHeader

Description:

Print the header of the given nifti file (this is faster than other modules because it doesn’t read the image data)

Required Parameter Arguments:

  --input <String>      the filename of the input volume   

Optional Parameter Arguments:

  --table       write the summary as a table   

Author:

Ryan Cabeen


VolumeNiftiRead

Description:

Load a nifti in a non-standard way, e.g. setting certain header fields before loading the image data

Required Parameter Arguments:

  --input <String>      the filename of the input nifti volume   

Optional Parameter Arguments:

  --scl_slope <Double>      set the scl_slope field to a certain value   
  --scl_inter <Double>      set the scl_inter field to a certain value   

Required Output Arguments:

  --output <Volume>      the filename of the output volume   

Author:

Ryan Cabeen


VolumeNiftiVoxelToWorld

Description:

Extract the affine transform between voxel and world coordinates (note: this is designed for nifti volumes that have some arbitrary voxel ordering)

Required Input Arguments:

  --input <Volume>      input Volume   

Optional Parameter Arguments:

  --noscale       skip the scaling   
  --notrans       skip the translation   
  --norot       skip the rotation   

Required Output Arguments:

  --output <Affine>      output affine   

Author:

Ryan Cabeen


VolumeNoddiAbtin

Description:

Extract ABTIN (ABsolute TIssue density from NODDI) parameters from a noddi volume. Port from: https://github.com/sepehrband/ABTIN/blob/master/ABTIN.m

Required Input Arguments:

  --input <Volume>      input noddi volume   

Optional Input Arguments:

  --mask <Mask>      the mask   

Optional Parameter Arguments:

  --alpha <double>      the alpha parameter (see theory section of paper) (Default: 25.0)   
  --gratio <double>      the alpha parameter (see theory section of paper) (Default: 0.7)   

Required Output Arguments:

  --outputMylDen <Volume>      output myelin density volume   
  --outputCSFDen <Volume>      output CSF density volume   
  --outputFibDen <Volume>      output fiber density volume   
  --outputCelDen <Volume>      output cellular density volume   

Author:

Ryan Cabeen

Citation:

Sepehrband, F., Clark, K. A., Ullmann, J. F.P., Kurniawan, N. D., Leanage, G., Reutens, D. C. and Yang, Z. (2015), Brain tissue compartment density estimated using diffusion-weighted MRI yields tissue parameters consistent with histology. Hum. Brain Mapp.. doi: 10.1002/hbm.22872 Link: http://onlinelibrary.wiley.com/doi/10.1002/hbm.22872/abstract


VolumeNoddiBlendExperiment

Description:

run a noddi blending experiment

Required Input Arguments:

  --gradients <Gradients>      specify gradientss   

Optional Parameter Arguments:

  --size <Integer>      specify a size (Default: 21)   
  --abase <Double>      specify a noddi parameter (Default: 1)   
  --bbase <Double>      specify a noddi parameter (Default: 1)   
  --aicvf <Double>      specify a noddi parameter (Default: 0.70)   
  --bicvf <Double>      specify a noddi parameter (Default: 0.70)   
  --aisovf <Double>      specify a noddi parameter (Default: 0.01)   
  --bisovf <Double>      specify a noddi parameter (Default: 0.01)   
  --aod <Double>      specify a noddi parameter (Default: 0.2)   
  --bod <Double>      specify a noddi parameter (Default: 0.2)   
  --angle <Double>      specify an angle between models in degrees (Default: 90)   

Required Output Arguments:

  --output <Directory>      specify an output directory   

Author:

Ryan Cabeen


VolumeNoddiCortex

Description:

Estimate cortical gray matter noddi parameters

Required Input Arguments:

  --input <Volume>      input volume   
  --mesh <Mesh>      input mesh   

Optional Input Arguments:

  --mask <Mask>      a mask   

Optional Parameter Arguments:

  --interp <KernelInterpolationType>      the interpolation type (Options: Nearest, Trilinear, Gaussian) (Default:     Trilinear)   
  --estimation <String>      specify an estimation method (Default: Component)   
  --support <Integer>      the filter radius in voxels (Default: 3)   
  --hpos <Double>      the positional bandwidth in mm (Default: 1.0)   
  --pial <String>      pial attribute name (Default: pial)   
  --white <String>      white attribute name (Default: white)   
  --samples <int>      the number of points to sample (Default: 15)   
  --inner <double>      the inner search buffer size (Default: 0.5)   
  --outer <double>      the outer search buffer size (Default: 0.5)   
  --maxiso <Double>      the maximum isotropic volume fraction (Default: 0.5)   
  --zscore <Double>      the maximum isotropic volume fraction (Default: 3.0)   

Required Output Arguments:

  --output <Mesh>      the output mesh   

Optional Output Arguments:

  --weights <Volume>      the output weights   

Author:

Ryan Cabeen


VolumeNoddiFit

Description:

Fit a noddi volume

Required Input Arguments:

  --input <Volume>      input diffusion-weighted MR volume   
  --gradients <Gradients>      the gradients   

Optional Input Arguments:

  --mask <Mask>      the mask   

Optional Parameter Arguments:

  --method <VolumeNoddiFitMethod>      the method for fitting (Options: SmartStart, FullSMT, SMT, FastSMT, NLLS,     Grid) (Default: FullSMT)   
  --dpar <Double>      the parallel diffusivity (change for ex vivo) (Default: 0.0017)   
  --diso <Double>      the isotropic diffusivity (change for ex vivo) (Default: 0.003)   
  --dot       include a dot compartment (set for ex vivo)   
  --shells <String>      specify a subset of gradient shells to include (comma-separated list of     b-values)   
  --which <String>      specify a subset of gradients to include (comma-separated list of indices     starting from zero)   
  --exclude <String>      specify a subset of gradients to exclude (comma-separated list of indices     starting from zero)   
  --threads <Integer>      the number of threads in the pool (Default: 1)   
  --columns       use fine-grained multi-threading   
  --maxiter <Integer>      specify a maximum number of iterations for non-linear optimization     (Default: 100)   
  --rhobeg <double>      specify the starting rho parameter for non-linear optimization (Default:     0.1)   
  --rhoend <double>      specify the ending rho parameter for non-linear optimization (Default:     1.0E-4)   
  --prior <Double>      specify the prior for regularizing voxels with mostly free water, a value     between zero and one that indicates substantial free water, e.g. 0.95)   

Advanced Parameter Arguments:

  --shells <String>      specify a subset of gradient shells to include (comma-separated list of     b-values)   
  --which <String>      specify a subset of gradients to include (comma-separated list of indices     starting from zero)   
  --exclude <String>      specify a subset of gradients to exclude (comma-separated list of indices     starting from zero)   
  --maxiter <Integer>      specify a maximum number of iterations for non-linear optimization     (Default: 100)   
  --rhobeg <double>      specify the starting rho parameter for non-linear optimization (Default:     0.1)   
  --rhoend <double>      specify the ending rho parameter for non-linear optimization (Default:     1.0E-4)   
  --prior <Double>      specify the prior for regularizing voxels with mostly free water, a value     between zero and one that indicates substantial free water, e.g. 0.95)   

Required Output Arguments:

  --output <Volume>      output noddi volume (name output like *.noddi and an directory of volumes     will be created)   

Author:

Ryan Cabeen




VolumeNoddiFuse

Description:

fuse a collection of noddi volumes

Required Input Arguments:

  --input <Volume(s)>      specify the input noddi volumes   

Optional Input Arguments:

  --mask <Mask>      specify a mask   

Optional Parameter Arguments:

  --pattern <String(s)>      specify a list of names that will be substituted with input %s   
  --estimation <String>      specify a type of estimation (Default: Component)   
  --fractions       use volume fractions in estimation   

Required Output Arguments:

  --output <Volume>      specify the output noddi volume   

Author:

Ryan Cabeen


VolumeNoddiSmooth

Description:

Smooth a noddi volume

Required Input Arguments:

  --input <Volume>      the input Noddi volume   

Optional Input Arguments:

  --mask <Mask>      a mask   

Optional Parameter Arguments:

  --support <Integer>      the filter radius in voxels (Default: 3)   
  --hpos <Double>      the positional bandwidth in mm (Default: 1.0)   
  --hdir <Double>      the directionally adaptive bandwidth (only used with adaptive flag)   
  --hsig <Double>      the baseline signal adaptive bandwidth   
  --estimation <String>      specify an estimation method (Default: Scatter)   

Required Output Arguments:

  --output <Volume>      the output noddi volume   

Author:

Ryan Cabeen


VolumeNoddiTransform

Description:

Transform a noddi volume

Required Input Arguments:

  --input <Volume>      the input noddi volume   
  --reference <Volume>      input reference volume   

Optional Input Arguments:

  --mask <Mask>      input mask (defined in the reference space)   
  --inputMask <Mask>      use an input mask (defined in the input space)   
  --affine <Affine>      apply an affine xfm   
  --invaffine <Affine>      apply an inverse affine xfm   
  --deform <Deformation>      apply a deformation xfm   

Optional Parameter Arguments:

  --reverse       reverse the order, i.e. compose the affine(deform(x)), whereas the default     is deform(affine(x))   
  --reorient <ReorientationType>      specify a reorient method (Options: FiniteStrain, Jacobian) (Default:     Jacobian)   
  --interp <KernelInterpolationType>      the interpolation type (Options: Nearest, Trilinear, Gaussian) (Default:     Trilinear)   
  --support <Integer>      the filter radius in voxels (Default: 3)   
  --hpos <Double>      the positional bandwidth in mm (Default: 1.0)   
  --estimation <String>      specify an estimation method (Default: Component)   

Required Output Arguments:

  --output <Volume>      the output transformed noddi volume   

Author:

Ryan Cabeen


VolumeNoddiZoom

Description:

Zoom a noddi volume

Required Input Arguments:

  --input <Volume>      the input noddi volume   

Optional Input Arguments:

  --mask <Mask>      a mask   

Optional Parameter Arguments:

  --factor <double>      a zooming factor (Default: 2.0)   
  --interp <KernelInterpolationType>      the interpolation type (Options: Nearest, Trilinear, Gaussian) (Default:     Trilinear)   
  --support <Integer>      the filter radius in voxels (Default: 3)   
  --hpos <Double>      the positional kernel bandwidth in mm (Default: 2.0)   
  --hval <Double>      the data kernel bandwidth   
  --hsig <Double>      the signal kernel bandwidth   
  --estimation <String>      specify an estimation method (Default: Scatter)   

Required Output Arguments:

  --output <Volume>      the output noddi volume   

Author:

Ryan Cabeen


VolumeNoise

Description:

Add synthetic noise to a volume

Required Input Arguments:

  --input <Volume>      input volume   

Optional Input Arguments:

  --mask <Mask>      input mask   

Optional Parameter Arguments:

  --sigma <double>      noise level (Default: 1.0)   
  --rician       use rician distributed noise   

Required Output Arguments:

  --output <Volume>      output mask   

Author:

Ryan Cabeen


VolumeNormalize

Description:

Normalize the values of a volume

Required Input Arguments:

  --input <Volume>      input volume   

Optional Input Arguments:

  --mask <Mask>      input mask   

Optional Parameter Arguments:

  --type <VolumeNormalizeType>      type of normalization (Options: Unit, UnitMax, UnitSum, UnitMean, Mean,     UnitMaxFraction, UnitMeanFraction, Gaussian) (Default: UnitMax)   
  --fraction <double>      a fraction for normalization (only applies to some types of normalization)     (Default: 0.5)   

Required Output Arguments:

  --output <Volume>      output volume   

Author:

Ryan Cabeen


VolumeOdfFeature

Description:

Estimate spherical harmonics representing the ODF. SUpported features include: generalized fractional anisotropy (GFA) and normalized entropy (NE)

Required Input Arguments:

  --input <Volume>      the input ODF volume   

Optional Input Arguments:

  --mask <Mask>      a mask   

Optional Parameter Arguments:

  --name <String>      the name of the feature (GFA, NE) (Default: GFA)   
  --threads <Integer>      the number of threads in the pool (Default: 1)   

Required Output Arguments:

  --output <Volume>      the output spharm volume   

Author:

Ryan Cabeen


VolumeOdfFit

Description:

Fit an orientation distribution function (ODF) using spherical deconvolution

Required Input Arguments:

  --input <Volume>      the input dwi   
  --gradients <Gradients>      the gradients   

Optional Input Arguments:

  --points <Vects>      the input odf directions (if you don't provide this, you they will be     generated and returned in outpoints)   
  --mask <Mask>      a mask   

Optional Parameter Arguments:

  --shells <String>      specify a subset of gradient shells to include (comma-separated list of     b-values)   
  --which <String>      specify a subset of gradients to include (comma-separated list of indices     starting from zero)   
  --exclude <String>      specify a subset of gradients to exclude (comma-separated list of indices     starting from zero)   
  --num <int>      the number of points to use if you need to generate spherical points     (Default: 300)   
  --iters <int>      the number of iterations for deconvolution (Default: 500)   
  --alpha <double>      the kernel diffusivity for deconvolution (Default: 0.0017)   
  --beta <double>      the kernel radial diffusivity for deconvolution (Default: 0.0)   
  --threads <Integer>      the number of threads in the pool (Default: 1)   

Advanced Parameter Arguments:

  --shells <String>      specify a subset of gradient shells to include (comma-separated list of     b-values)   
  --which <String>      specify a subset of gradients to include (comma-separated list of indices     starting from zero)   
  --exclude <String>      specify a subset of gradients to exclude (comma-separated list of indices     starting from zero)   

Required Output Arguments:

  --output <Volume>      the output ODF volume   

Optional Output Arguments:

  --outpoints <Vects>      the output odf directions (only relevant if you didn't provide a specific     set)   

Author:

Ryan Cabeen

Citation:

Dell’Acqua, F., Scifo, P., Rizzo, G., Catani, M., Simmons, A., Scotti, G., & Fazio, F. (2010). A modified damped Richardson-Lucy algorithm to reduce isotropic background effects in spherical deconvolution. Neuroimage, 49(2), 1446-1458.


VolumeOdfPeaks

Description:

Extract the peaks from an odf volume. This finds the average direction of local maxima clustered by hierarchical clustering. The output fibers will encode the peak ODF value in place of volume fraction.

Required Input Arguments:

  --input <Volume>      the input ODF volume   
  --points <Vects>      the odf directions   

Optional Input Arguments:

  --mask <Mask>      a mask   

Optional Parameter Arguments:

  --comps <Integer>      the maximum number of comps (Default: 3)   
  --gfa       scaleCamera peak values by generalized fractional anisotropy after     extraction   
  --thresh <Double>      the minimum peak threshold (Default: 0.01)   
  --mode <PeakMode>      the mode for extracting the peak fraction from the lobe (Options: Sum,     Mean, Max) (Default: Mean)   
  --cluster <Double>      the minimum angle in degrees for hierarchical clustering of local maxima     (Default: 25.0)   
  --match       match the ODF sum   
  --threads <Integer>      the number of threads in the pool (Default: 1)   

Required Output Arguments:

  --output <Volume>      the output fibers volume   

Author:

Ryan Cabeen


VolumeOdfResample

Description:

Resample an ODF using spherical harmonics. Using a lower maximum order will lead to smoother resamplings

Required Input Arguments:

  --input <Volume>      the input ODF volume   
  --dirs <Vects>      the input odf directions   
  --resample <Vects>      the directions to resample   

Optional Input Arguments:

  --mask <Mask>      a mask   

Optional Parameter Arguments:

  --order <Integer>      the maximum spherical harmonic order used for resampling (Default: 8)   
  --threads <Integer>      the number of threads in the pool (Default: 1)   

Required Output Arguments:

  --output <Volume>      the output ODF volume   

Author:

Ryan Cabeen


VolumeOdfSpharm

Description:

Estimate spherical harmonics representing the ODF

Required Input Arguments:

  --input <Volume>      the input ODF volume   
  --dirs <Vects>      the odf directions   

Optional Input Arguments:

  --mask <Mask>      a mask   

Optional Parameter Arguments:

  --order <Integer>      the maximum spherical harmonic order (Default: 8)   
  --threads <Integer>      the number of threads in the pool (Default: 1)   

Required Output Arguments:

  --output <Volume>      the output spharm volume   

Author:

Ryan Cabeen


VolumeOrigin

Description:

set the origin of a volume

Required Input Arguments:

  --input <Volume>      the input volume   

Optional Parameter Arguments:

  --x <double>      the origin in x (Default: 0.0)   
  --y <double>      the origin in y (Default: 0.0)   
  --z <double>      the origin in z (Default: 0.0)   

Required Output Arguments:

  --output <Volume>      the output volume   

Author:

Ryan Cabeen


VolumePad

Description:

Pad a volume by a given number of voxels

Required Input Arguments:

  --input <Volume>      input mask   

Optional Parameter Arguments:

  --pad <int>      the amount of padding in voxels (Default: 10)   

Required Output Arguments:

  --output <Volume>      output mask   

Author:

Ryan Cabeen


VolumeParseEchoes

Description:

fuse volumes

Required Input Arguments:

  --input <Volume(s)>      the input volumes   

Optional Output Arguments:

  --output-volume <Volume>      specify the output volume   
  --output-echoes <Text>      specify the output echo times   

Author:

Ryan Cabeen


VolumeParticles

Description:

Create particles representing a volume

Required Input Arguments:

  --input <Volume>      input volume   

Optional Input Arguments:

  --mask <Mask>      input mask   

Required Parameter Arguments:

  --output <String>      output filename (should end in csv)   

Optional Parameter Arguments:

  --samples <int>      at most, produce this many samples per voxel (Default: 4)   
  --adaptive       sample particles adaptively, that is, most particles with higher image     intensities   
  --thresh <double>      specify a threshold for background removal, e.g. 0.01 (based on input image     intensities) (Default: 0.0)   
  --type <VolumeEnhanceContrastType>      use the given type of contrast enhancement to normalize the image (Options:     Histogram, Ramp, RampGauss, Mean, None) (Default: Ramp)   
  --interp <InterpolationType>      use the given image interpolation method (Options: Nearest, Trilinear,     Tricubic, Gaussian, GaussianLocalLinear, GaussianLocalQuadratic) (Default:     Nearest)   

Author:

Ryan Cabeen


VolumePerturbDeform

Description:

Perturb a volume morphometry for data augmentation

Required Input Arguments:

  --input <Volume>      input volume   

Optional Input Arguments:

  --deform <Mask>      apply a deform in the given region   

Optional Parameter Arguments:

  --flip <Double>      specify the probability of a flip perturbation (zero to one)   
  --angle <Double>      specify the sampling standard deviation of the angular perturbation     (degrees)   
  --scale <Double>      specify the sampling standard deviation of the total scaling perturbation     (added to a scaling factor of one)   
  --aniso <Double>      specify the sampling standard deviation of the anisotropic scaling     perturbation (added to an anisotropic scaling of one)   
  --shear <Double>      specify the sampling standard deviation of the anisotropic shear     perturbation   
  --shift <Double>      specify the sampling standard deviation of the translational shift     perturbation   
  --deformEffect <Double>      specify the amount of deform (Default: 3.0)   
  --deformExtent <Double>      specify the extent of deform (Default: 10.0)   
  --deformIters <Integer>      specify the number of deformation integration iterations (Default: 10)   
  --deformRandomize <Double>      randomize the amount of deform with the given sample standard deviation     (Default: 0.0)   

Optional Output Arguments:

  --outputVolume <Volume>      output volume   
  --outputDeform <Deformation>      output deformation field   
  --outputAffine <Affine>      output affine transform   
  --outputTable <Table>      output table   

Author:

Ryan Cabeen


VolumePerturbSignal

Description:

Perturb the volume signal for data augmentation

Required Input Arguments:

  --input <Volume>      input volume   

Optional Input Arguments:

  --blend <Volume>      input blending volume   

Optional Parameter Arguments:

  --blendMean <Double>      specify the blending factor sampling mean value (Default: 0.0)   
  --blendStd <Double>      specify the averaging factor sampling standard deviation (Default: 0.0)   
  --noise <Double>      specify the sampling standard deviation of the intensity noise perturbation     (Default: 0.0)   
  --biasMean <Double>      specify the sampling mean of the bias field perturbation (Default: 0.0)   
  --biasStd <Double>      specify the sampling standard deviation of the bias field perturbation     (Default: 0.0)   
  --contrastMean <Double>      specify the sampling mean of the contrast perturbation (zero is no change)     (Default: 0.0)   
  --contrastStd <Double>      specify the sampling standard deviation of the contrast perturbation (zero     is no change) (Default: 0.0)   

Optional Output Arguments:

  --outputVolume <Volume>      output volume   
  --outputTable <Table>      output table   

Author:

Ryan Cabeen


VolumePhantomBox

Description:

Create a simple box phantom

Optional Parameter Arguments:

  --width <int>      image width (Default: 100)   
  --height <int>      image height (Default: 100)   
  --slices <int>      image slices (Default: 1)   
  --size <double>      box relative dimensions (Default: 0.5)   

Required Output Arguments:

  --output <Volume>      output volume   

Author:

Ryan Cabeen


VolumePoseCopy

Description:

Set the pose (orientation and origin) of a volume to match a reference volume

Required Input Arguments:

  --input <Volume>      the input volume   
  --ref <Volume>      the reference volume (the pose will be copied from here)   

Optional Parameter Arguments:

  --delta       copy the voxel spacing as well   

Required Output Arguments:

  --output <Volume>      the output volume   

Author:

Ryan Cabeen


VolumePoseGet

Description:

Get the pose (orientation and origin) of a volume

Required Input Arguments:

  --input <Volume>      the input volume   

Required Output Arguments:

  --output <Affine>      the output affine xfm   

Author:

Ryan Cabeen


VolumePoseSet

Description:

Set the pose (orientation and origin) of a volume. By default, the existing origin and orientation will be removed

Required Input Arguments:

  --input <Volume>      the input volume   
  --pose <Affine>      the affine pose (any shear will be removed)   

Optional Parameter Arguments:

  --premult       compose the existing pose with the given one by premultiplying   
  --postmult       compose the existing pose with the given one by post multiplying   

Required Output Arguments:

  --output <Volume>      the output volume   

Author:

Ryan Cabeen


VolumePrintInfo

Description:

Print basic information about a volume

Required Input Arguments:

  --input <Volume>      the input volume   

Optional Parameter Arguments:

  --stats       print statistics   
  --nifti       print complete nifti header (only relevant if the input is nifti)   

Author:

Ryan Cabeen


VolumeProjection

Description:

Compute a projection of an image volume along one axis, for example a minimum intensity projection

Required Input Arguments:

  --input <Volume>      input volume   

Optional Input Arguments:

  --mask <Mask>      a mask   

Optional Parameter Arguments:

  --axis <VolumeProjectionAxis>      the axis for the projection (Options: i, j, k) (Default: k)   
  --type <VolumeProjectionType>      the type of statistic for the projection (Options: Min, Max, Mean, Sum,     Var, CV, Median, IQR) (Default: Mean)   
  --thin <Integer>      use thin projection, whereby groups of the given number of slices are     aggregated   
  --index <int>      when collapsing the volume to a single slice, use this image index for the     position (Default: 0)   

Required Output Arguments:

  --output <Volume>      output image slice   

Author:

Ryan Cabeen


VolumePrototype

Description:

Crop a volume down to a smaller volume (only one criteria per run)

Required Input Arguments:

  --input <Volume>      input volume   

Required Parameter Arguments:

  --dim <Integer>      the output volume dimension   

Required Output Arguments:

  --output <Volume>      the output volume   

Author:

Ryan Cabeen


VolumeReduce

Description:

Reduce a multi-channel volume to a volume with fewer channels

Required Input Arguments:

  --input <Volume>      input volume   

Optional Parameter Arguments:

  --which <String>      the list of indices to select (comma separated zero-based indices)   
  --exclude <String>      exclude specific indices (comma separated zero-based indices)   
  --method <VolumeReduceType>      specify the reduction technique (Subset depends on which or exclude flags)     (Options: Subset, Mean, Min, Max, Sum, Var, Std, Gray, RGB) (Default: Mean)   

Required Output Arguments:

  --output <Volume>      output volume   

Author:

Ryan Cabeen


VolumeRegionMinima

Description:

Mask a volume

Required Input Arguments:

  --input <Volume>      input volume   
  --regions <Mask>      a mask encoding regions   
  --lookup <Table>      a table encoding region names   

Optional Input Arguments:

  --mask <Mask>      a mask restricting which voxels are checked   

Optional Parameter Arguments:

  --minimum       retain the minimum value   
  --sample       retain the sample voxel indices   
  --index <String>      specify the lookup index field (Default: index)   
  --name <String>      specify the lookup name field (Default: name)   
  --min <String>      specify the output field name for the minimum value (Default: min)   
  --i <String>      specify the output field name for the sample i index (Default: i)   
  --j <String>      specify the output field name for the sample j index (Default: j)   
  --k <String>      specify the output field name for the sample k index (Default: k)   

Required Output Arguments:

  --output <Table>      output table   

Author:

Ryan Cabeen




VolumeRegisterLinear

Description:

Estimate an affine transform between two volumes

Required Input Arguments:

  --input <Volume>      input moving volume, which is registered to the reference volume   
  --ref <Volume>      the reference volume   

Optional Input Arguments:

  --mask <Mask>      a mask used to exclude a portion of the input volume   
  --refmask <Mask>      a mask used to exclude a portion of the reference volume   

Optional Parameter Arguments:

  --init <VolumeRegisterLinearInit>      the type of initialization (Options: World, Center, CenterSize) (Default:     Center)   

Required Output Arguments:

  --output <Affine>      output transform   

Author:

Ryan Cabeen



VolumeRemoveNaN

Description:

Remove NaN values

Required Input Arguments:

  --input <Volume>      input volume   

Optional Input Arguments:

  --mask <Mask>      a mask   

Optional Parameter Arguments:

  --replace <Double>      the value to replace (Default: 0.0)   

Required Output Arguments:

  --output <Volume>      the output volume   

Author:

Ryan Cabeen


VolumeRender

Description:

Render a volume slice based on a colormap

Optional Input Arguments:

  --background <Volume>      input background   
  --foreground <Volume>      input foreground colored using a scalar colormap   
  --labels <Mask>      input labels colored using a discrete colormap   
  --fgmask <Mask>      input foreground mask   
  --bgmask <Mask>      input background mask   

Optional Parameter Arguments:

  --range <String>      input slice range, e.g. :,:,80 (Default: all)   
  --bgmap <String>      background colormap (Default: grayscale)   
  --bglow <String>      background lower bound (supports statistics like min, max, etc) (Default:     0)   
  --bghigh <String>      background upper bound (supports statistics like min, max, etc) (Default:     1)   
  --fgmap <String>      scalar colormap for coloring the volume (Default: grayscale)   
  --fglow <String>      scalar lower bound (supports statistics like min, max, etc) (Default: 0)   
  --fghigh <String>      scalar upper bound (supports statistics like min, max, etc) (Default: 1)   
  --fgrlow <String>      scalar lower bound for range (0 to 1) (Default: 0)   
  --fgrhigh <String>      scalar upper bound for range (0 to 1) (Default: 1)   
  --discrete <String>      discrete colormap for coloring the label volume (Default: White)   
  --invert       invert colormap   
  --wash <double>      wash out colors (Default: 0.0)   
  --alpha <double>      blending of background with foreground (Default: 1.0)   
  --label <String>      a label for the colormap (Default: attribute)   

Optional Output Arguments:

  --output <Volume>      output RGB volume rendering   
  --colormap <Volume>      output RGB colormap rendering   

Author:

Ryan Cabeen


VolumeReorder

Description:

Change the ordering of voxels in a volume. You can flip and shift the voxels. Which shifting outside the field a view, the data is wrapped around. Shifting is applied before flipping

Required Input Arguments:

  --input <Volume>      input volume   

Optional Parameter Arguments:

  --flipi       flip in i   
  --flipj       flip in j   
  --flipk       flip in k   
  --shifti <int>      shift in i (Default: 0)   
  --shiftj <int>      shift in j (Default: 0)   
  --shiftk <int>      shift in k (Default: 0)   
  --swapij       swap ij   
  --swapik       swap ik   
  --swapjk       swap jk   

Required Output Arguments:

  --output <Volume>      output volume   

Author:

Ryan Cabeen


VolumeResample

Description:

Resample a volume with a different voxel size

Required Input Arguments:

  --input <Volume>      the input volume   

Optional Parameter Arguments:

  --dx <double>      the voxel size in x (Default: 1.0)   
  --dy <double>      the voxel size in y (Default: 1.0)   
  --dz <double>      the voxel size in z (Default: 1.0)   
  --interp <InterpolationType>      image interpolation method (Options: Nearest, Trilinear, Tricubic,     Gaussian, GaussianLocalLinear, GaussianLocalQuadratic) (Default: Trilinear)   

Required Output Arguments:

  --output <Volume>      the output volume   

Author:

Ryan Cabeen


VolumeResliceACPC

Description:

Reslice a volume using ACPC alignment (anterior and posterior commissure).
You must provide a vects object with three points for the AC, PC, and another midline position (order must match)

Required Input Arguments:

  --input <Volume>      input volume   
  --acpcmid <Vects>      a vects containing three points: the anterior commisure, the posterior     commissure, and any other midline point that is superior to the AC-PC axis   

Optional Input Arguments:

  --bounds <Vects>      points that bound the region of interest (by default the whole volume will     be used)   

Optional Parameter Arguments:

  --delta <Double>      the voxel spacing (by default it detects it from the input)   
  --interp <InterpolationType>      image interpolation method (Options: Nearest, Trilinear, Tricubic,     Gaussian, GaussianLocalLinear, GaussianLocalQuadratic) (Default: Trilinear)   

Required Output Arguments:

  --output <Volume>      output volume   

Author:

Ryan Cabeen


VolumeResliceAxis

Description:

Reslice a volume along a given axis (specified by a vects)

Required Input Arguments:

  --input <Volume>      input volume   

Optional Input Arguments:

  --vects <Vects>      input vects (should roughly lie on a straight line)   
  --mask <Mask>      input mask   

Optional Parameter Arguments:

  --delta <Double>      the voxel spacing (by default it detects it from the input)   
  --mode <VolumeResliceMode>      specify the target slice (Options: I, J, K) (Default: K)   
  --interp <InterpolationType>      image interpolation method (Options: Nearest, Trilinear, Tricubic,     Gaussian, GaussianLocalLinear, GaussianLocalQuadratic) (Default: Trilinear)   

Required Output Arguments:

  --output <Volume>      output volume   

Author:

Ryan Cabeen


VolumeReslicePlane

Description:

Reslice a volume by a given plane (contained in a solids object)

Required Input Arguments:

  --input <Volume>      input volume   
  --plane <Solids>      input solids (should contain a plane)   

Optional Input Arguments:

  --mask <Mask>      input mask   

Optional Parameter Arguments:

  --delta <Double>      the voxel spacing (by default it detects it from the input)   
  --mode <VolumeResliceMode>      specify the target slice (Options: I, J, K) (Default: K)   
  --interp <InterpolationType>      image interpolation method (Options: Nearest, Trilinear, Tricubic,     Gaussian, GaussianLocalLinear, GaussianLocalQuadratic) (Default: Trilinear)   

Required Output Arguments:

  --output <Volume>      output volume   

Author:

Ryan Cabeen


VolumeSampleCortex

Description:

Estimate cortical gray matter parameters

Required Input Arguments:

  --input <Volume>      input volume   
  --mesh <Mesh>      input mesh   

Optional Input Arguments:

  --mask <Mask>      a mask   
  --gm <Volume>      input gray matter probability map   

Optional Parameter Arguments:

  --name <String>      the name of the volumetric data (only used for naming mesh attributes)     (Default: data)   
  --pial <String>      pial attribute name (Default: pial)   
  --middle <String>      the middle attribute name (Default: middle)   
  --white <String>      white attribute name (Default: white)   
  --samples <int>      the number of points to sample (Default: 15)   
  --inner <double>      the inner search buffer size (Default: 0.0)   
  --outer <double>      the outer search buffer size (Default: 0.0)   
  --linear       use linear weights, e.g. 1 - abs(x)   
  --gain <double>      use the given weight gain, e.g. exp(-gain*x^2)) (Default: 12.0)   
  --zscore <Double>      the z-score for filtering (Default: 3.0)   
  --mest       use Tukey's biweight m-estimator for robust statistics   

Optional Output Arguments:

  --output <Mesh>      the output mesh   
  --weights <Volume>      the output weights   
  --num <Vects>      the output num vects   
  --median <Vects>      the output mean vects   
  --mean <Vects>      the output mean vects   
  --std <Vects>      the output std vects   
  --min <Vects>      the output min vects   
  --max <Vects>      the output max vects   

Author:

Ryan Cabeen


VolumeSampleLine

Description:

Sample a volume along a polyline. The results are stored in table along with the world coordinates and position along the segment

Required Input Arguments:

  --input <Volume>      input volume   
  --vects <Vects>      input vects (two points in a vects object)   

Optional Input Arguments:

  --mask <Mask>      a mask   

Optional Parameter Arguments:

  --num <int>      the number of samples (Default: 5)   
  --interp <InterpolationType>      image interpolation method (Options: Nearest, Trilinear, Tricubic,     Gaussian, GaussianLocalLinear, GaussianLocalQuadratic) (Default: Trilinear)   
  --value <String>      the name of the volume value field (Default: value)   
  --dims <String>      a which of dimensions to use   
  --vector       include vector values   
  --vx <String>      the field for the x coordinate (Default: x)   
  --vy <String>      the field for the y coordinate (Default: y)   
  --vz <String>      the field for the z coordinate (Default: z)   
  --pos <String>      the position along the line segment in mm (Default: posCamera)   
  --idx <String>      the index along the line segment (Default: idx)   

Advanced Parameter Arguments:

  --dims <String>      a which of dimensions to use   
  --vx <String>      the field for the x coordinate (Default: x)   
  --vy <String>      the field for the y coordinate (Default: y)   
  --vz <String>      the field for the z coordinate (Default: z)   
  --pos <String>      the position along the line segment in mm (Default: posCamera)   
  --idx <String>      the index along the line segment (Default: idx)   

Required Output Arguments:

  --output <Table>      output table   

Author:

Ryan Cabeen


VolumeSegmentCluster

Description:

Segment a volume by clustering intensities (with k-means, dp-means, or Gaussian mixtures)

Required Input Arguments:

  --input <Volume>      the input volume   

Optional Input Arguments:

  --mask <Mask>      a mask   

Optional Parameter Arguments:

  --iters <int>      a maximum number of iterations (Default: 10)   
  --num <int>      the number classes (inital guess in the case of dp-means) (Default: 3)   
  --restarts <int>      the number of restarts (Default: 1)   
  --lambda <Double>      a threshold for detecting the number of clusters in the DP-means algorithm   
  --bayesian       use a Bayesian probabilistic approach (MRF Gaussian mixture expectation     maximization framework)   
  --emIters <Integer>      use the following number of expectation maximization iteration (Default: 5)   
  --emCov <String>      specify a covariance type (spherical, diagonal, full) (Default: spherical)   
  --emReg <Double>      a regularization parameter added to the covariance (Default: 0.0)   
  --mrfIters <Integer>      use the following number of MRF optimization iterations (Default: 5)   
  --mrfCross       use a 6-neighborhood (instead of a full 27-neighborhood with diagonals)   
  --mrfGamma <Double>      use the following spatial regularization weight (Default: 1.0)   
  --mrfCrfGain <Double>      use the gain used for the conditional random field (zero will disable it)     (Default: 1.0)   

Required Output Arguments:

  --labels <Mask>      the output label map   
  --membership <Volume>      the output membership map   

Author:

Ryan Cabeen


VolumeSegmentForeground

Description:

Segment the foreground of a volume using a statistical approach

Required Input Arguments:

  --input <Volume>      input volume   

Optional Parameter Arguments:

  --median <Integer>      the number of times to median prefilter (Default: 1)   
  --thresh <Double>      apply a threshold   
  --fill       fill the foreground mask to remove islands   
  --largest       extract the largest island   
  --mrf       apply markov random field spatial regularization   
  --mrfCross       use a 6-neighborhood (instead of a full 27-neighborhood with diagonals)   
  --mrfGamma <Double>      use the following spatial regularization weight (Default: 1.0)   
  --mrfCrfGain <Double>      use the gain used for the conditional random field (zero will disable it)     (Default: 1.0)   
  --mrfIcmIters <Integer>      use the following number of MRF optimization iterations (Default: 5)   
  --mrfEmIters <Integer>      use the following number of expectation maximization iteration (Default: 5)   

Optional Output Arguments:

  --output <Mask>      the output mask   
  --report <Table>      the output report   

Author:

Ryan Cabeen


VolumeSegmentForegroundOtsu

Description:

Segment the foreground of a volume using the Otsu method

Required Input Arguments:

  --input <Volume>      input volume   

Optional Input Arguments:

  --mask <Mask>      a mask   

Optional Parameter Arguments:

  --median <int>      apply a median filter this many times before segmenting (Default: 3)   
  --open <int>      open the mask with mask morphology (Default: 2)   
  --islands       keep islands in the segmentation (otherwise only the largest component is     kept)   
  --holes       keep holes in the segmentation (otherwise they will be filled)   
  --dilate <int>      dilate the segmentation at the very end (Default: 0)   
  --threads <int>      use this many threads (Default: 1)   

Required Output Arguments:

  --output <Mask>      the output mask   

Author:

Ryan Cabeen


VolumeSegmentGraph

Description:

Segment a volume using graph based segmentation

Required Input Arguments:

  --input <Volume>      the input tensor volume   

Optional Input Arguments:

  --mask <Mask>      a mask   

Optional Parameter Arguments:

  --min <Integer>      a minima region size (Default: 10)   
  --threshold <Double>      a threshold for grouping (Default: 1.0)   

Required Output Arguments:

  --output <Mask>      the output segmentation mask   

Author:

Ryan Cabeen

Citation:

Felzenszwalb, P. F., & Huttenlocher, D. P. (2004). Efficient graph-based image segmentation. International journal of computer vision, 59(2), 167-181. Chicago


VolumeSegmentLocalExtrema

Description:

Segment a volume based on local extrema

Required Input Arguments:

  --input <Volume>      input volume   

Optional Input Arguments:

  --mask <Mask>      input mask   

Optional Parameter Arguments:

  --minima       find minima instead of maxima   
  --full       use a full 27-voxel neighborhood (default is 6-voxel)   

Required Output Arguments:

  --output <Mask>      output region labels   

Author:

Ryan Cabeen


VolumeSegmentRegionGrowing

Description:

Segment a volume using a statistical region-growing technique

Required Input Arguments:

  --input <Volume>      the input volume   
  --seed <Mask>      the input seed mask   

Optional Input Arguments:

  --include <Mask>      an option mask for including only specific voxels in the segmentation   
  --exclude <Mask>      an option for excluding voxels from the segmentation   

Optional Parameter Arguments:

  --nbThresh <int>      the neighbor count threshold (Default: 0)   
  --dataThresh <Double>      the intensity stopping threshold (Default: 3.0)   
  --gradThresh <Double>      the gradient stopping threshold (Default: 3.0)   
  --maxiter <int>      the maxima number of iterations (Default: 10000)   
  --maxsize <double>      the maxima region volume (Default: 1.7976931348623157E308)   
  --full       use a full 27-voxel neighborhood (default is 6-voxel)   

Required Output Arguments:

  --output <Mask>      the output segmentation   

Author:

Ryan Cabeen

Citation:

Adams, R., & Bischof, L. (1994). Seeded region growing. IEEE Transactions on pattern analysis and machine intelligence, 16(6), 641-647.


VolumeSegmentSuperKMeans

Description:

Segment supervoxels from a volume using k-means. Voxels are clustered based on position and intensity

Required Input Arguments:

  --input <Volume>      the input volume   

Optional Input Arguments:

  --mask <Mask>      a mask   

Optional Parameter Arguments:

  --iters <int>      a maxima number of iterations (Default: 10)   
  --num <int>      the number regions (Default: 100)   
  --scale <double>      the scaleCamera for combining intensities with voxel positions (Default:     1.0)   

Required Output Arguments:

  --output <Mask>      none   

Author:

Ryan Cabeen


VolumeSegmentSuperSLIC

Description:

Segment a volume to obtain SLIC supervoxels

Required Input Arguments:

  --input <Volume>      the input volume   

Optional Input Arguments:

  --mask <Mask>      a mask   

Optional Parameter Arguments:

  --iters <int>      a maximum number of iterations (Default: 500)   
  --error <double>      the convergence criteria (Default: 0.001)   
  --size <double>      the average size (along each dimension) for the supervoxels (Default: 20.0)   
  --scale <double>      the scaleCamera for intensities (Default: 1.0)   
  --merge <double>      a threshold region volume for merging (Default: 10.0)   
  --group <Double>      a threshold gradient magnitude for grouping   

Required Output Arguments:

  --output <Mask>      none   

Author:

Ryan Cabeen

Citation:

Radhakrishna Achanta, Appu Shaji, Kevin Smith, Aurelien Lucchi, Pascal Fua, and Sabine Susstrunk, SLIC Superpixels, EPFL Technical Report 149300, June 2010.


VolumeSetSampling

Description:

Set the origin of a volume

Required Input Arguments:

  --input <Volume>      the input volume   

Optional Parameter Arguments:

  --starti <Double>      the origin in i   
  --startj <Double>      the origin in j   
  --startk <Double>      the origin in k   
  --deltai <Double>      the voxel spacing in i   
  --deltaj <Double>      the voxel spacing in j   
  --deltak <Double>      the voxel spacing in k   

Required Output Arguments:

  --output <Volume>      the output volume   

Author:

Ryan Cabeen


VolumeSetTable

Description:

Create a table listing regions of a mask

Required Input Arguments:

  --reference <Volume>      input volume   
  --table <Table>      input table   

Optional Parameter Arguments:

  --dim <int>      the channel (Default: 0)   
  --index <String>      the index field name (Default: index)   
  --value <String>      a field to set (Default: value)   
  --background <double>      a background value (Default: 0.0)   
  --missing <Double>      a missing value   

Required Output Arguments:

  --output <Volume>      output volume   

Author:

Ryan Cabeen


VolumeSkeletonize

Description:

Extract a skeleton from the local maxima and ridges of a volume

Required Input Arguments:

  --input <Volume>      input volume   

Optional Input Arguments:

  --mask <Mask>      input mask   

Optional Parameter Arguments:

  --threshold <Double>      exclude voxels with an input intensity below this value   

Required Output Arguments:

  --output <Mask>      output skeleton   

Author:

Ryan Cabeen


VolumeSlice

Description:

Threshold a volume to make a mask

Required Input Arguments:

  --input <Volume>      input volume   

Optional Parameter Arguments:

  --slice <int>      a slice number (Default: 0)   
  --dim <String>      a slice channel (x, y, or z) (Default: z)   

Required Output Arguments:

  --output <Volume>      output volume   

Author:

Ryan Cabeen


VolumeSliceMesh

Description:

Create a mesh from image slices

Required Input Arguments:

  --input <Volume>      input volume   

Optional Input Arguments:

  --mask <Mask>      input mask   

Optional Parameter Arguments:

  --attribute <String>      specify a name for the attribute (Default: data)   
  --range <String>      specify a range of slices to extract (or a specific slice) (Default:     start:25:end)   
  --axis <VolumeSliceMeshAxis>      the slice axis (Options: i, j, k) (Default: k)   
  --nobg       remove background voxels   
  --thresh <double>      specify a threshold for background removal (Default: 1.0E-6)   
  --color       add vertex colors   
  --normalize       use min/max normalization   

Required Output Arguments:

  --output <Mesh>      output mesh   

Author:

Ryan Cabeen


VolumeSmtFit

Description:

Estimate microscopic diffusion parameters

Required Input Arguments:

  --input <Volume>      the input diffusion-weighted MR volume   
  --gradients <Gradients>      the input gradients   

Optional Input Arguments:

  --mask <Mask>      the input mask   

Optional Parameter Arguments:

  --threads <int>      the input number of threads (Default: 1)   
  --maxiter <int>      the maximum number of iterations (Default: 5000)   
  --rhobeg <double>      the starting simplex size (Default: 0.1)   
  --rhoend <double>      the ending simplex size (Default: 1.0E-6)   
  --dperp <double>      the initial guess for perpendicular diffusivity (Default: 5.0E-4)   
  --dpar <double>      the initial guess for parallel diffusivity (Default: 0.0017)   
  --dmax <double>      the maximum diffusivity (Default: 0.003)   

Advanced Parameter Arguments:

  --maxiter <int>      the maximum number of iterations (Default: 5000)   
  --rhobeg <double>      the starting simplex size (Default: 0.1)   
  --rhoend <double>      the ending simplex size (Default: 1.0E-6)   
  --dperp <double>      the initial guess for perpendicular diffusivity (Default: 5.0E-4)   
  --dpar <double>      the initial guess for parallel diffusivity (Default: 0.0017)   
  --dmax <double>      the maximum diffusivity (Default: 0.003)   

Required Output Arguments:

  --output <Volume>      the output parameter map   

Author:

Ryan Cabeen

Citation:

Kaden, E., Kruggel, F., & Alexander, D. C. (2016). Quantitative mapping of the per-axon diffusion coefficients in brain white matter. Magnetic resonance in medicine, 75(4), 1752-1763.


VolumeSort

Description:

Sort two volumes based on their mean intensity

Required Input Arguments:

  --a <Volume>      input volume a   
  --b <Volume>      input volume b   

Optional Input Arguments:

  --mask <Mask>      input mask   

Required Output Arguments:

  --outputLow <Volume>      output low volume   
  --outputHigh <Volume>      output high volume   

Author:

Ryan Cabeen


VolumeSortChannels

Description:

Sort the channels of a multi-channel volumes based on their mean intensity

Required Input Arguments:

  --input <Volume>      input volume   

Optional Input Arguments:

  --mask <Mask>      input mask   

Optional Parameter Arguments:

  --reverse       reverse the order (output will be decreasing)   

Required Output Arguments:

  --output <Volume>      output   

Author:

Ryan Cabeen



VolumeSpharmODF

Description:

Sample an orientation distribution function (ODF) from a spharm volume.

Required Input Arguments:

  --input <Volume>      the input spharm volume   

Optional Input Arguments:

  --points <Vects>      the sphere points for estimation   
  --mask <Mask>      a mask   

Optional Parameter Arguments:

  --num <Integer>      the number of points to use if you need to generate spherical points     (Default: 300)   
  --threads <Integer>      the number of threads in the pool (Default: 1)   

Required Output Arguments:

  --output <Volume>      the output odf volume   

Optional Output Arguments:

  --outpoints <Vects>      the output odf directions (only relevant if you didn't provide a specific     set)   

Author:

Ryan Cabeen, Dogu Baran Aydogan


VolumeSpharmPeaks

Description:

Extract the peaks from a spherical harmonic volume. This finds the average direction of local maxima clustered by hierarchical clustering. The output fibers will encode the peak q-value in place of volume fraction.

Required Input Arguments:

  --input <Volume>      the input spharm volume   

Optional Input Arguments:

  --mask <Mask>      a mask   

Optional Parameter Arguments:

  --comps <Integer>      the maximum number of comps (Default: 4)   
  --thresh <Double>      the minimum peak threshold (Default: 0.1)   
  --detail <Integer>      the level of detail for spherical harmonic sampling (Default: 5)   
  --mode <PeakMode>      the mode for extracting the peak fraction from the lobe (Options: Sum,     Mean, Max) (Default: Mean)   
  --cluster <Double>      the minimum angle in degrees for hierarchical clustering of local maxima     (Default: 25.0)   
  --match       match the ODF sum   
  --threads <Integer>      the number of threads in the pool (Default: 1)   

Required Output Arguments:

  --output <Volume>      the output fibers volume   

Author:

Ryan Cabeen


VolumeSplit

Description:

Split a multi-channel volume into multiple seperate volumes

Required Input Arguments:

  --input <File>      specify an input multi-channel volume   

Optional Parameter Arguments:

  --which <Integers(s)>      specify a subset of channels to extract   

Required Output Arguments:

  --output <Pattern>      specify the output filename pattern with %d (will correspond to the channel     number)   

Author:

Ryan Cabeen


VolumeStackParticles

Description:

Extract particles from an image stack. This is meant to process datasets that are too big to be fully loaded into memory. This will process one slice at a time and save the results to disk in the process.

Optional Parameter Arguments:

  --input <String>      input filename pattern (e.g. %04d will be replaced with 0000, 0001, etc. or     e.g. %d will be replaced with 0, 1, etc.) (Default: slice%04d.tif)   
  --isize <double>      the voxel size in the i direction (Default: 1.0)   
  --jsize <double>      the voxel size in the j direction (Default: 1.0)   
  --ksize <double>      the voxel size in the k direction (Default: 1.0)   
  --istart <int>      start at the given pixel in i when reading the volume (Default: 0)   
  --jstart <int>      start at the given pixel in j when reading the volume (Default: 0)   
  --kstart <int>      start at the given pixel in k when reading the volume (Default: 0)   
  --istep <int>      step the given number of pixels in i when reading the volume (Default: 1)   
  --jstep <int>      step the given number of pixels in j when reading the volume (Default: 1)   
  --kstep <int>      step the given number of pixels in k when reading the volume (Default: 1)   
  --samples <Double>      the number of particle samples per unit intensity (e.g. if the image     intensity is one, it will produce this many particles) (Default: 8.0)   
  --min <double>      specify a minimum window intensity (all voxels below this intensity are     ignored) (Default: 0.25)   
  --max <double>      specify a maximum window intensity (all voxels above this intensity are     sampled uniformly) (Default: 0.75)   
  --empty       keep empty particle slices   
  --dstart <int>      start at the given index when loading slices (Default: 0)   
  --dend <Integer>      end at the given index when loading slices   
  --dstep <int>      step the given amount when loading slices (Default: 1)   
  --interp <InterpolationType>      use the given image interpolation method (Options: Nearest, Trilinear,     Tricubic, Gaussian, GaussianLocalLinear, GaussianLocalQuadratic) (Default:     Nearest)   
  --output <String>      output filename of particles (should end in csv) (Default: output.csv)   

Author:

Ryan Cabeen


VolumeStackProject

Description:

Compute the maximum or minimum intensity projection of an image stack

Optional Parameter Arguments:

  --input <String>      input filename pattern (e.g. %04d will be replaced with 0000, 0001, etc. or     e.g. %d will be replaced with 0, 1, etc.) (Default: input/slice%04d.png)   
  --min       use a minimum intensity projection (default is maximum intensity     projection)   
  --mode <ProjectMode>      project slabs of a given stack fraction (only relevant to SlabFracZ)     (Options: FullZ, SlabZ, SlabFracZ, FullX, FullY) (Default: FullZ)   
  --statistic <StatisticMode>      the statistic to use for projection (Options: Max, Min, Mean, Sum)     (Default: Max)   
  --slabCount <Integer>      project slabs of a given thickness (only relevant to SlabZ) (Default: 100)   
  --slabStep <Integer>      use a given step amount (only relevant to the SlabZ) (Default: 100)   
  --slabFraction <Double>      project slabs of a given stack fraction (only relevant to SlabFracZ)     (Default: 0.1)   
  --xstart <int>      start at the given index projecting pixels in x (Default: 0)   
  --xend <Integer>      end at the given index projecting pixels in x   
  --ystart <int>      start at the given index projecting pixels in y (Default: 0)   
  --yend <Integer>      end at the given index projecting pixels in y   
  --dstart <int>      start at the given index when loading slices (Default: 0)   
  --dend <Integer>      end at the given index when loading slices   
  --dstep <int>      step the given amount when loading slices (Default: 1)   
  --output <String>      the output stack (use %d if you specify a slab) (Default: output.png)   

Author:

Ryan Cabeen


VolumeStackRead

Description:

Read a volume from an image stack

Optional Parameter Arguments:

  --input <String>      the input filename input for reading each image (must contain %d or some a     similar formatting charater for substituting the index) (Default: %03d.tif)   
  --isize <double>      the voxel size in the i direction (Default: 1.0)   
  --jsize <double>      the voxel size in the j direction (Default: 1.0)   
  --ksize <double>      the voxel size in the k direction (Default: 1.0)   
  --istart <int>      start at the given pixel in i when reading the volume (Default: 0)   
  --jstart <int>      start at the given pixel in j when reading the volume (Default: 0)   
  --kstart <int>      start at the given pixel in k when reading the volume (Default: 0)   
  --istep <int>      step the given number of pixels in i when reading the volume (Default: 1)   
  --jstep <int>      step the given number of pixels in j when reading the volume (Default: 1)   
  --kstep <int>      step the given number of pixels in k when reading the volume (Default: 1)   
  --dstart <int>      start at the given index when loading slices (Default: 0)   
  --dend <Integer>      end at the given index when loading slices   
  --dstep <int>      step the given amount when loading slices (Default: 1)   
  --smooth <Double>      apply Gaussian smoothing to each slice with the given bandwidth in pixels     (before downsampling)   

Required Output Arguments:

  --output <Volume>      output volume   

Author:

Ryan Cabeen


VolumeStackReadBlocks

Description:

Extract particles from an image stack. This is meant to process datasets that are too big to be fully loaded into memory. This will process one slice at a time and save the results to disk in the process.

Optional Parameter Arguments:

  --input <String>      input block filename pattern (e.g. %04d will be replaced with 0000, 0001,     etc. or e.g. %d will be replaced with 0, 1, etc.) (Default:     /your/path/input/block%04d.nii.gz)   
  --ref <String>      reference image stack filename pattern (e.g. %04d will be replaced with     0000, 0001, etc. or e.g. %d will be replaced with 0, 1, etc.) (Default:     /your/path/ref/slice%04d.png)   
  --isize <int>      the block size in the i direction (Default: 256)   
  --jsize <int>      the block size in the j direction (Default: 256)   
  --ksize <int>      the voxel size in the k direction (Default: 64)   
  --overlap <int>      the amount of overlap in blocks (Default: 8)   
  --scale <double>      the scaling applied to the image intensities (Default: 1.0)   
  --dstart <int>      start at the given index when loading slices (Default: 0)   
  --dend <Integer>      end at the given index when loading slices   
  --dstep <int>      step the given amount when loading slices (Default: 1)   
  --output <String>      output image stack filename pattern (e.g. %04d will be replaced with 0000,     0001, etc. or e.g. %d will be replaced with 0, 1, etc.) (Default:     /your/path/output/slice%04d.png)   

Author:

Ryan Cabeen


VolumeStackWrite

Description:

Save the volume to an image stack

Required Input Arguments:

  --input <Volume>      input volume   

Required Parameter Arguments:

  --output <String>      output directory to the stack   

Optional Parameter Arguments:

  --axis <VolumeSaveStackAxis>      choose an axis for slicing (Options: i, j, k) (Default: k)   
  --range <String>      specify a range, e.g. '10:50,5:25,start:2:end'   
  --enhance       enhance the contrast   
  --pattern <String>      the output pattern for saving each image (Default: slice%04d.png)   

Author:

Ryan Cabeen


VolumeStackWriteBlocks

Description:

Extract particles from an image stack. This is meant to process datasets that are too big to be fully loaded into memory. This will process one slice at a time and save the results to disk in the process.

Optional Parameter Arguments:

  --input <String>      input image stack filename pattern (e.g. %04d will be replaced with 0000,     0001, etc. or e.g. %d will be replaced with 0, 1, etc.) (Default:     /your/path/slice%04d.tif)   
  --isize <int>      the block size in the i direction (Default: 256)   
  --jsize <int>      the block size in the j direction (Default: 256)   
  --ksize <int>      the voxel size in the k direction (Default: 64)   
  --overlap <int>      the amount of overlap in blocks (Default: 8)   
  --idelta <double>      the voxel size in the i direction (Default: 1.0)   
  --jdelta <double>      the voxel size in the j direction (Default: 1.0)   
  --kdelta <double>      the voxel delta in the k direction (Default: 1.0)   
  --dstart <int>      start at the given index when loading slices (Default: 0)   
  --dend <Integer>      end at the given index when loading slices   
  --dstep <int>      step the given amount when loading slices (Default: 1)   
  --output <String>      output block filename pattern (e.g. %04d will be replaced with 0000, 0001,     etc. or e.g. %d will be replaced with 0, 1, etc.) (Default:     /your/path/output%04d.nii.gz)   

Author:

Ryan Cabeen


VolumeStandardize

Description:

Standardize the orientation of a volume (no rotation and zero origin). The original pose can be saved to xfm.

Required Input Arguments:

  --input <Volume>      input Volume   

Optional Output Arguments:

  --output <Volume>      output Volume   
  --xfm <Affine>      output affine   
  --invxfm <Affine>      output inverse affine   

Author:

Ryan Cabeen


VolumeStatsPaired

Description:

Compute pairwise statistics from volumetric data

Required Input Arguments:

  --matching <Table>      a table where each row stores a pair of matching subjects   

Required Parameter Arguments:

  --pattern <String>      input volume filename pattern (should contain %s for the subject     identifier)   

Optional Parameter Arguments:

  --left <String>      the left group in the pair (Default: left)   
  --right <String>      the right group in the pair (Default: right)   

Optional Output Arguments:

  --outputLeftMean <Volume>      output left mean volume   
  --outputLeftStd <Volume>      output left standard deviation volume   
  --outputRightMean <Volume>      output right mean volume   
  --outputRightStd <Volume>      output right standard deviation volume   
  --outputDiff <Volume>      output difference in means   
  --outputCohenD <Volume>      output Cohen's-d effect size   

Author:

Ryan Cabeen


VolumeStoreVoxelPosition

Description:

Create a volume storing the 3D world coordinates of each voxel

Required Input Arguments:

  --input <Volume>      the input volume   

Required Output Arguments:

  --output <Volume>      output volume   

Author:

Ryan Cabeen


VolumeSubset

Description:

Which the intensities of a volume

Required Input Arguments:

  --input <Volume>      input volume   

Required Parameter Arguments:

  --which <String>      the list of indices to select   

Required Output Arguments:

  --output <Volume>      output volume   

Author:

Ryan Cabeen


VolumeSurfacePlot

Description:

Plot data from a planar image

Required Input Arguments:

  --input <Volume>      input   

Optional Input Arguments:

  --mask <Mask>      a mask   

Optional Parameter Arguments:

  --dimension <int>      the channel (Default: 0)   
  --sx <double>      the scaleCamera in x (Default: 1.0)   
  --sy <double>      the scaleCamera in y (Default: 1.0)   
  --sz <double>      the scaleCamera in z (Default: 1.0)   

Required Output Arguments:

  --output <Mesh>      output   

Author:

Ryan Cabeen


VolumeTable

Description:

Record voxel values in a table

Required Input Arguments:

  --input <Volume>      input volume   

Optional Input Arguments:

  --mask <Mask>      a mask   
  --lookup <Table>      a lookup table for matching names to mask labels   

Optional Parameter Arguments:

  --value <String>      value (Default: value)   
  --multiple       use multiple mask labels   
  --lookupNameField <String>      specify the lookup name field (Default: name)   
  --lookupIndexField <String>      specify the output voxel field name (Default: voxel)   
  --range <String>      a mask specification   
  --dims <String>      a which of dimensions to use   
  --vector       include vector values   
  --vi <String>      the field for the voxel i coordinate   
  --vj <String>      the field for the voxel j coordinate   
  --vk <String>      the field for the voxel k coordinate   
  --voxel <String>      the field for the voxel voxel (Default: voxel)   

Advanced Parameter Arguments:

  --lookupNameField <String>      specify the lookup name field (Default: name)   
  --lookupIndexField <String>      specify the output voxel field name (Default: voxel)   
  --range <String>      a mask specification   
  --dims <String>      a which of dimensions to use   
  --vector       include vector values   
  --vi <String>      the field for the voxel i coordinate   
  --vj <String>      the field for the voxel j coordinate   
  --vk <String>      the field for the voxel k coordinate   
  --voxel <String>      the field for the voxel voxel (Default: voxel)   

Required Output Arguments:

  --output <Table>      output table   

Author:

Ryan Cabeen



VolumeTensorFilter

Description:

Filter a tensor volume in a variety of ways, e.g. changing units, clamping diffusivities, masking out regions

Required Input Arguments:

  --input <Volume>      the input tensor volume   

Optional Parameter Arguments:

  --scale <Double>      the scaleCamera to multiply diffusivities (typically needed to changed the     physical units)   
  --clamp <Double>      clamp the diffusivities (values below the threshold will be set to it)   
  --expression <String>      zero out voxels that do not satisfy the given arithmetic expression, e.g.     FA > 0.15 && MD < 0.001 && MD > 0.0001   

Required Output Arguments:

  --output <Volume>      the output tensor volume   

Author:

Ryan Cabeen


VolumeTensorFit

Description:

Fit a tensor volume to a diffusion-weighted MRI.

Required Input Arguments:

  --input <Volume>      input diffusion-weighted MR volume   
  --gradients <Gradients>      the gradients   

Optional Input Arguments:

  --mask <Mask>      the mask   

Optional Parameter Arguments:

  --method <TensorFitType>      specify an estimation method (Options: LLS, WLLS, NLLS, FWLLS, FWWLLS,     FWNLLS, RESTORE) (Default: LLS)   
  --cost <CostType>      specify a cost function for non-linear fitting (Options: SE, MSE, RMSE,     NRMSE, CHISQ, RLL) (Default: SE)   
  --single       use the lowest single shell for tensor estimation (if used, this will skip     the shells, which, and exclude flags)   
  --bestb       use the best combination of b-values (first try b<=1250, and otherwise use     the lowest single shell)   
  --rounder <Integer>      specify the multiple for rounding b-values, e.g. if the rounder in 100,     then 1233 is treated as 1200 (Default: 100)   
  --shells <String>      specify a subset of gradient shells to include (comma-separated list of     b-values)   
  --which <String>      specify a subset of gradients to include (comma-separated list of indices     starting from zero)   
  --exclude <String>      specify a subset of gradients to exclude (comma-separated list of indices     starting from zero)   
  --baseline       estimate the baseline value separately from tensor parameter estimation     (only for LLS)   
  --threads <int>      the number of threads to use (Default: 1)   
  --clamp <Double>      clamp the diffusivity to be greater or equal to the given value (Default:     0.0)   

Advanced Parameter Arguments:

  --cost <CostType>      specify a cost function for non-linear fitting (Options: SE, MSE, RMSE,     NRMSE, CHISQ, RLL) (Default: SE)   
  --single       use the lowest single shell for tensor estimation (if used, this will skip     the shells, which, and exclude flags)   
  --bestb       use the best combination of b-values (first try b<=1250, and otherwise use     the lowest single shell)   
  --rounder <Integer>      specify the multiple for rounding b-values, e.g. if the rounder in 100,     then 1233 is treated as 1200 (Default: 100)   
  --shells <String>      specify a subset of gradient shells to include (comma-separated list of     b-values)   
  --which <String>      specify a subset of gradients to include (comma-separated list of indices     starting from zero)   
  --exclude <String>      specify a subset of gradients to exclude (comma-separated list of indices     starting from zero)   
  --baseline       estimate the baseline value separately from tensor parameter estimation     (only for LLS)   
  --threads <int>      the number of threads to use (Default: 1)   
  --clamp <Double>      clamp the diffusivity to be greater or equal to the given value (Default:     0.0)   

Required Output Arguments:

  --output <Volume>      output tensor volume (name output like *.dti and an directory of volumes     will be created)   

Author:

Ryan Cabeen


VolumeTensorFuse

Description:

fuse a collection of tensor volumes

Required Input Arguments:

  --input <Volume(s)>      specify the input tensor volumes   

Optional Input Arguments:

  --mask <Mask>      specify a mask   

Optional Parameter Arguments:

  --pattern <String(s)>      specify a list of names that will be substituted with input %s   
  --log       use log-euclidean estimation   

Required Output Arguments:

  --output <Volume>      specify the output tensor volume   

Author:

Ryan Cabeen


VolumeTensorNoise

Description:

Add noise to a tensor volume

Required Input Arguments:

  --input <Volume>      input tensor volume   

Optional Input Arguments:

  --mask <Mask>      a mask   

Optional Parameter Arguments:

  --sigma <Double>      the sigma of the noise   

Required Output Arguments:

  --output <Volume>      output tensor volume   

Author:

Ryan Cabeen


VolumeTensorOdf

Description:

Sample an orientation distribution function (ODF) from a tensor volume.

Required Input Arguments:

  --input <Volume>      the input tensor volume   
  --dirs <Vects>      the sphere directions   

Optional Input Arguments:

  --mask <Mask>      a mask   

Optional Parameter Arguments:

  --alpha <Double>      the alpha power value (Default: 1.0)   
  --threads <Integer>      the number of threads in the pool (Default: 1)   

Required Output Arguments:

  --output <Volume>      the output odf volume   

Author:

Ryan Cabeen




VolumeTensorSegmentGraph

Description:

Tensor volume graph-based segmentation based on principal direction

Required Input Arguments:

  --input <Volume>      the input tensor volume   

Optional Input Arguments:

  --mask <Mask>      a mask   

Optional Parameter Arguments:

  --line       use a line metric   
  --log       use a log Euclidean metric   
  --threshold <Double>      a threshold for grouping (Default: 1.0)   

Required Output Arguments:

  --output <Mask>      the output segmentation mask   

Author:

Ryan Cabeen


VolumeTensorSegmentSuper

Description:

Segment supervoxels from a tensor volume

Required Input Arguments:

  --input <Volume>      the input tensor volume   
  --mask <Mask>      a mask   

Optional Input Arguments:

  --weights <Volume>      a weight volume   

Optional Parameter Arguments:

  --size <Integer>      a threshold size (any region smaller than this will be removed)   
  --iters <Integer>      the number of iterations (Default: 10)   
  --restarts <Integer>      the number of restarts   
  --num <Integer>      the number of clusters (the initial number if dp-means is used) (Default:     100)   
  --alpha <Double>      the alpha parameter for spatial extent (Default: 1.0)   
  --beta <Double>      the beta parameter for angular extent (Default: 15.0)   
  --lambda <Double>      the lambda parameter for region size (for dp-means clustering)   

Required Output Arguments:

  --output <Mask>      the output segmentation mask   

Author:

Ryan Cabeen


VolumeTensorSegmentTissue

Description:

Use a free-water eliminated tensor volume to segment gray and white matter

Required Input Arguments:

  --input <Volume>      the input tensor volume   

Optional Input Arguments:

  --mask <Mask>      a mask   

Optional Parameter Arguments:

  --fw <Double>      a maximum free water (Default: 0.5)   
  --md <Double>      a minimum mean diffusivity (Default: 2.0E-4)   
  --num <Integer>      a number of iterations for mask opening (Default: 2)   

Required Output Arguments:

  --labels <Mask>      the gray matter segmentation mask   
  --gray <Volume>      the gray matter density map   
  --white <Volume>      the white matter density map   

Author:

Ryan Cabeen


VolumeTensorSmooth

Description:

Smooth a tensor volume

Required Input Arguments:

  --input <Volume>      the input tensor volume   

Optional Input Arguments:

  --mask <Mask>      a mask   

Optional Parameter Arguments:

  --support <Integer>      the filter radius in voxels (Default: 3)   
  --hpos <Double>      the positional bandwidth in mm (Default: 1.0)   
  --hdir <Double>      the tensor adaptive bandwidth   
  --hsig <Double>      the baseline signal adaptive bandwidth   
  --log       use log-euclidean processing   
  --frac <Double>      exclude voxels below a give FA (Default: 0.0)   

Required Output Arguments:

  --output <Volume>      the output tensor volume   

Author:

Ryan Cabeen


VolumeTensorStandardize

Description:

Standardize the pose of a tensor volume. This will remove the rotation and tranlation from the image grid and rotate the tensors accordingly

Required Input Arguments:

  --input <Volume>      the input tensor volume   

Required Output Arguments:

  --output <Volume>      the output transformed tensor volume   

Optional Output Arguments:

  --xfm <Affine>      output affine xfm   
  --invxfm <Affine>      output inverse affine xfm   

Author:

Ryan Cabeen


VolumeTensorThreshold

Description:

Create a mask from a tensor volume using a complex expression

Required Input Arguments:

  --input <Volume>      the input tensor volume   

Optional Input Arguments:

  --mask <Mask>      mask   

Optional Parameter Arguments:

  --expression <String>      the expression to evaluate (Default: FA > 0.15 && MD < 0.001 && MD >     0.0001)   

Required Output Arguments:

  --output <Mask>      output mask   

Author:

Ryan Cabeen


VolumeTensorTransform

Description:

Spatially transform a tensor volume

Required Input Arguments:

  --input <Volume>      the input tensor volume   
  --reference <Volume>      input reference volume   

Optional Input Arguments:

  --mask <Mask>      input mask (defined in the reference space)   
  --inputMask <Mask>      use an input mask (defined in the input space)   
  --affine <Affine>      apply an affine xfm   
  --invaffine <Affine>      apply an inverse affine xfm   
  --deform <Deformation>      apply a deformation xfm   

Optional Parameter Arguments:

  --reverse       reverse the order, i.e. compose the affine(deform(x)), whereas the default     is deform(affine(x))   
  --reorient <ReorientationType>      specify a reorient method (fs or jac) (Options: FiniteStrain, Jacobian)     (Default: Jacobian)   
  --interp <KernelInterpolationType>      the interpolation type (Options: Nearest, Trilinear, Gaussian) (Default:     Trilinear)   
  --support <Integer>      the filter radius in voxels (Default: 3)   
  --hpos <Double>      the positional bandwidth in mm (Default: 1.0)   
  --log       use log estimation   

Required Output Arguments:

  --output <Volume>      the output transformed tensor volume   

Author:

Ryan Cabeen



VolumeTensorZoom

Description:

Zoom a tensor volume

Required Input Arguments:

  --input <Volume>      the input tensor volume   

Optional Input Arguments:

  --mask <Mask>      a mask   

Optional Parameter Arguments:

  --factor <double>      a zooming factor (Default: 2.0)   
  --interp <KernelInterpolationType>      the interpolation type (Options: Nearest, Trilinear, Gaussian) (Default:     Trilinear)   
  --log       use log euclidean estimation   
  --support <Integer>      the filter radius in voxels (Default: 3)   
  --hpos <Double>      the positional bandwidth in mm (Default: 2.0)   

Required Output Arguments:

  --output <Volume>      the output tensor volume   

Author:

Ryan Cabeen


VolumeThreshold

Description:

Threshold a volume to make a mask

Required Input Arguments:

  --input <Volume>      input volume   

Optional Input Arguments:

  --mask <Mask>      mask   

Optional Parameter Arguments:

  --threshold <Double>      threshold value (Default: 0.5)   
  --magnitude       use the magnitude for multi-channel volumes   
  --invert       invert the threshold   
  --prenorm       normalize the intensities to unit mean before thresholding   

Required Output Arguments:

  --output <Mask>      output mask   

Author:

Ryan Cabeen


VolumeThresholdHysteresis

Description:

Apply a hysteresis threshold

Required Input Arguments:

  --input <Volume>      input volume   

Optional Input Arguments:

  --mask <Mask>      mask   

Optional Parameter Arguments:

  --low <Double>      this low threshold value (Default: 0.5)   
  --high <Double>      the high threshold value (Default: 0.75)   
  --magnitude       use the magnitude for multi-channel volumes   
  --invert       invert the threshold   
  --prenorm       normalize the intensities to unit mean before thresholding   

Required Output Arguments:

  --output <Mask>      output mask   

Author:

Ryan Cabeen


VolumeThresholdOtsu

Description:

Threshold a volume using Otsu’s method

Required Input Arguments:

  --input <Volume>      input volume   

Optional Input Arguments:

  --mask <Mask>      mask   

Optional Parameter Arguments:

  --bins <int>      the number of bins (Default: 512)   
  --invert       invert the segmentation   

Required Output Arguments:

  --output <Mask>      output mask   

Author:

Ryan Cabeen

Citation:

Nobuyuki Otsu (1979). “A threshold selection method from gray-level histograms”. IEEE Trans. Sys., Man., Cyber. 9 (1): 62-66.


VolumeThresholdRamp

Description:

Threshold a volume using a ramp defined by low and high thresholds. Values below the low threshold will be zero, values above will be one, and ones in between will increase gradually.

Required Input Arguments:

  --input <Volume>      input volume   

Optional Input Arguments:

  --mask <Mask>      mask   

Optional Parameter Arguments:

  --low <double>      low threshold value (Default: 0.25)   
  --high <double>      low threshold value (Default: 0.25)   
  --magnitude       use the magnitude for multi-channel volumes   
  --invert       invert the threshold   

Required Output Arguments:

  --output <Volume>      output threshold map   

Author:

Ryan Cabeen


VolumeThresholdRange

Description:

Threshold a volume to make a mask

Required Input Arguments:

  --input <Volume>      input volume   

Optional Input Arguments:

  --mask <Mask>      mask   

Optional Parameter Arguments:

  --lower <Double>      threshold value (Default: 0.25)   
  --upper <Double>      threshold value (Default: 0.75)   
  --magnitude       use the magnitude for multi-channel volumes   
  --invert       invert the threshold   
  --prenorm       normalize the intensities to unit mean before thresholding   

Required Output Arguments:

  --output <Mask>      output mask   

Author:

Ryan Cabeen


VolumeTiffPrintInfo

Description:

Print info about the organization of a TIFF file

Required Parameter Arguments:

  --input <String>      the filename of the input volume   

Optional Parameter Arguments:

  --which <String>      print info only about a specific sub-page   
  --table       write the summary as a table   

Author:

Ryan Cabeen


VolumeTiffSplit

Description:

Print info about the organization of a TIFF file

Required Parameter Arguments:

  --input <String>      the filename of the input tiff file   
  --output <String>      the filename pattern of the output tiffs (should contain %d)   

Optional Parameter Arguments:

  --which <String>      extract only a specific sub-page (comma-separated list)   

Author:

Ryan Cabeen


VolumeTile

Description:

Tile a collection of volumes in a single volume

Optional Parameter Arguments:

  --pattern <String>      the input pattern (should contain ${x} and ${y}) (Default:     volume.${x}.${y}.nii.gz)   
  --xids <String>      the row identifiers to be substituted (Default: a,b,c)   
  --yids <String>      the column identifiers to be substituted (Default: 1,2,3,4)   
  --xbuffer <int>      a buffer size between tiles (Default: 0)   
  --ybuffer <int>      a buffer size between tiles (Default: 0)   
  --orientation <String>      slice orientation for storing a stack (x, y, or z) (Default: z)   

Required Output Arguments:

  --output <Volume>      the output volume   

Author:

Ryan Cabeen


VolumeTransfer

Description:

Apply a transfer function to a volume

Required Input Arguments:

  --input <Volume>      input volume   
  --transfer <Table>      input transfer function (table with from and to fields)   

Optional Parameter Arguments:

  --from <String>      the from field name (Default: from)   
  --to <String>      the to field name (Default: to)   

Required Output Arguments:

  --output <Volume>      output   

Author:

Ryan Cabeen


VolumeTransform

Description:

Transform a volume

Required Input Arguments:

  --input <Volume>      input volume   
  --reference <Volume>      input reference volume   

Optional Input Arguments:

  --mask <Mask>      use a mask (defined in the reference space)   
  --inputMask <Mask>      use an input mask (defined in the input space)   
  --affine <Affine>      apply an affine xfm   
  --invaffine <Affine>      apply an inverse affine xfm   
  --deform <Deformation>      apply a deformation xfm   

Optional Parameter Arguments:

  --interp <InterpolationType>      image interpolation method (Options: Nearest, Trilinear, Tricubic,     Gaussian, GaussianLocalLinear, GaussianLocalQuadratic) (Default: Trilinear)   
  --reverse       reverse the order, i.e. compose the affine(deform(x)), whereas the default     is deform(affine(x))   
  --reorient       reorient vector image data   
  --reoriention <ReorientationType>      specify a reorient method (fs or jac) (Options: FiniteStrain, Jacobian)     (Default: Jacobian)   
  --threads <Integer>      the number of threads in the pool (Default: 1)   

Required Output Arguments:

  --output <Volume>      output volume   

Author:

Ryan Cabeen


VolumeVoxelMathScalar

Description:

Evaluate an expression at each voxel of volume data

Required Input Arguments:

  --a <Volume>      the input volume stored as a variable named 'a'   

Optional Input Arguments:

  --b <Volume>      the input volume stored as a variable named 'b'   
  --c <Volume>      the input volume stored as a variable named 'c'   
  --d <Volume>      the input volume stored as a variable named 'd'   
  --mask <Mask>      mask   

Optional Parameter Arguments:

  --expression <String>      the expression to evaluate (Default: a > 0.5)   
  --undefined <double>      use the specificed value for undefined output, e.g. NaN or Infinity     (Default: 0.0)   

Required Output Arguments:

  --output <Volume>      output volume   

Author:

Ryan Cabeen


VolumeVoxelMathVect

Description:

Evaluate an expression at each voxel of volume data

Required Input Arguments:

  --a <Volume>      the input volume stored as a variable named 'a'   

Optional Input Arguments:

  --b <Volume>      the input volume stored as a variable named 'b'   
  --c <Volume>      the input volume stored as a variable named 'c'   
  --d <Volume>      the input volume stored as a variable named 'd'   
  --mask <Mask>      mask   

Optional Parameter Arguments:

  --world       add a variable for world coordinates of the given voxel   
  --expression <String>      the expression to evaluate (Default: mean(a))   
  --undefined <double>      use the specified value for undefined output, e.g. NaN or Infinity     (Default: 0.0)   

Required Output Arguments:

  --output <Volume>      output volume   

Author:

Ryan Cabeen


VolumeZoom

Description:

Zoom a volume. Note: be careful using this for downsampling, as it does not apply an anti-aliasing prefilter.

Required Input Arguments:

  --input <Volume>      the input volume   

Optional Parameter Arguments:

  --factor <Double>      an isotropic scaling factor   
  --fi <Double>      a scaling factor in i   
  --fj <Double>      a scaling factor in j   
  --fk <Double>      a scaling factor in k   
  --interp <InterpolationType>      an interpolation type (Options: Nearest, Trilinear, Tricubic, Gaussian,     GaussianLocalLinear, GaussianLocalQuadratic) (Default: Trilinear)   
  --threads <Integer>      the number of threads in the pool (Default: 3)   

Required Output Arguments:

  --output <Volume>      the output volume   

Author:

Ryan Cabeen


VolumesTable

Description:

create a table from one or multiple volumes

Required Input Arguments:

  --input <String=Volume(s)>      specify the input volumes (field=file field2=file2 ...)   

Optional Input Arguments:

  --mask <Mask>      specify a mask   
  --lookup <Table>      use a lookup to map mask labels to names   

Optional Parameter Arguments:

  --pattern <String(s)>      specify a list of names that will be substituted with input %s   
  --multiple       use multiple mask labels   
  --lookupNameField <String>      specify a name field in the lookup table (Default: name)   
  --lookupIndexField <String>      specify an voxel field in the lookup table (Default: index)   
  --vi <String>      specify a voxel i voxel name   
  --vj <String>      specify a voxel j voxel name   
  --vk <String>      specify a voxel k voxel name   
  --voxel <String>      specify a voxel voxel field name (Default: voxel)   

Required Output Arguments:

  --output <Table>      specify the output table   

Author:

Ryan Cabeen