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
MaskNodeLink
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