Workbench Command is a set of command-line tools that can be used to perform simple and complex operations within Connectome Workbench.
-annotation-resample
RESAMPLE AN ANNOTATION FILE TO DIFFERENT MESHES
wb_command -annotation-resample
<annotation-in> - the annotation file to resample
<annotation-out> - name of resampled annotation file
[-surface-pair] - repeatable - pair of surfaces for resampling surface
annotations for one structure
<source-surface> - the midthickness surface of the current mesh the
annotations use
<target-surface> - the midthickness surface of the mesh the
annotations should be transferred to
Resample an annotation file from the source mesh to the target mesh.
Only annotations in surface space are modified, no changes are made to
annotations in other spaces. The -surface-pair option may be repeated
for additional structures used by surface space annotations.
-backend-average-dense-roi
CONNECTOME DB BACKEND COMMAND FOR CIFTI AVERAGE DENSE ROI
wb_command -backend-average-dense-roi
<index-list> - comma separated list of cifti indexes to average
<out-file> - file to write the average row to
This command is probably not the one you are looking for, try
-cifti-average-dense-roi. It takes the list of cifti files to average
from standard input, and writes its output as little endian, 32-bit
integer of row size followed by the row as 32-bit floats.
-backend-average-roi-correlation
CONNECTOME DB BACKEND COMMAND FOR CIFTI AVERAGE ROI CORRELATION
wb_command -backend-average-roi-correlation
<index-list> - comma separated list of cifti indexes to average and then
correlate
<out-file> - file to write the average row to
This command is probably not the one you are looking for, try
-cifti-average-roi-correlation. It takes the list of cifti files to
average from standard input, and writes its output as little endian,
32-bit integer of row size followed by the row as 32-bit floats.
-border-export-color-table
WRITE BORDER NAMES AND COLORS AS TEXT
wb_command -border-export-color-table
<border-file> - the input border file
<table-out> - output - the output text file
[-class-colors] - use class colors instead of the name colors
Takes the names and colors of each border, and writes it to the same
format as -metric-label-import expects. By default, the borders are
colored by border name, specify -class-colors to color them by class
instead. The key values start at 1 and follow the order of the borders
in the file.
-border-file-export-to-caret5
EXPORT BORDER FILE TO CARET5 FILE FORMAT
wb_command -border-file-export-to-caret5
<border-file> - workbench border file
<output-file-prefix> - prefix for name of output caret5
border/borderproj/bordercolor files
[-surface] - repeatable - specify an input surface
<surface-in> - a surface file for unprojection of borders
A Workbench border file may contain borders for multiple structures and
borders that are both projected and unprojected. It also contains a
color table for the borders.
Caret5 has both border (unprojected) and border projection (projected)
files. In addition, each Caret5 border or border projection file
typically contains data for a single structure. Caret5 also uses a border
color file that associates colors with the names of the borders.
This command will try to output both Caret5 border and border projection
files. Each output border/border projection file will contains data for
one structure so there may be many files created. The structure name is
included in the name of each border or border projection file that is
created.
One Caret5 border color file will also be produced by this command.
Providing surface(s) as input parameters is optional, but recommended.
Surfaces may be needed to create both projected and/or unprojected
coordinates of borders. If there is a failure to produce an output
border or border projection due to a missing surface with the matching
structure, an error message will be displayed and some output files will
not be created.
When writing new files, this command will overwrite a file with the same
name.
-border-length
REPORT LENGTH OF BORDERS
wb_command -border-length
<border> - the input border file
<surface> - the surface to measure the borders on
[-corrected-areas] - vertex areas to use instead of computing them from
the surface
<area-metric> - the corrected vertex areas, as a metric
[-separate-pieces] - report lengths for multi-part borders as separate
numbers
[-hide-border-name] - don't print border name before each output
For each border, print its length along the surface, in mm. If a border
has multiple parts, their lengths are summed before printing, unless
-separate-pieces is specified.
The -corrected-areas option is intended for when the length is not
meaningfully measurable on individual surfaces, it is only an approximate
correction for the reduction in structure of a group average surface.
-border-merge
MERGE BORDER FILES INTO A NEW FILE
wb_command -border-merge
<border-file-out> - output - the output border file
[-border] - repeatable - specify an input border file
<border-file-in> - a border file to use borders from
[-select] - repeatable - select a single border to use
<border> - the border number or name
[-up-to] - use an inclusive range of borders
<last-border> - the number or name of the last column to include
[-reverse] - use the range in reverse order
Takes one or more border files and makes a new border file from the
borders in them.
Example: wb_command -border-merge out.border -border first.border -select
1 -border second.border
This example would take the first border from first.border, followed by
all borders from second.border, and write these to out.border.
-border-resample
RESAMPLE A BORDER FILE TO A DIFFERENT MESH
wb_command -border-resample
<border-in> - the border file to resample
<current-sphere> - a sphere surface with the mesh that the metric is
currently on
<new-sphere> - a sphere surface that is in register with <current-sphere>
and has the desired output mesh
<border-out> - output - the output border file
Resamples a border file, given two spherical surfaces that are in
register. Only borders that have the same structure as current-sphere
will be resampled.
-border-to-rois
MAKE METRIC ROIS FROM BORDERS
wb_command -border-to-rois
<surface> - the surface the borders are drawn on
<border-file> - the border file
<metric-out> - output - the output metric file
[-border] - create ROI for only one border
<name> - the name of the border
[-inverse] - use inverse selection (outside border)
[-include-border] - include vertices the border is closest to
By default, draws ROIs inside all borders in the border file, as separate
metric columns.
-border-to-vertices
DRAW BORDERS AS VERTICES IN A METRIC FILE
wb_command -border-to-vertices
<surface> - the surface the borders are drawn on
<border-file> - the border file
<metric-out> - output - the output metric file
[-border] - create ROI for only one border
<name> - the name of the border
Outputs a metric with 1s on vertices that follow a border, and 0s
elsewhere. By default, a separate metric column is created for each
border.
-cifti-all-labels-to-rois
MAKE ROIS FROM ALL LABELS IN A CIFTI LABEL MAP
wb_command -cifti-all-labels-to-rois
<label-in> - the input cifti label file
<map> - the number or name of the label map to use
<cifti-out> - output - the output cifti file
The output cifti file is a dscalar file with a column (map) for each
label in the specified input map, other than the ??? label, each of which
contains a binary ROI of all brainordinates that are set to the
corresponding label.
Most of the time, specifying '1' for the <map> argument will do what is
desired.
-cifti-average
AVERAGE CIFTI FILES
wb_command -cifti-average
<cifti-out> - output - output cifti file
[-exclude-outliers] - exclude outliers by standard deviation of each
element across files
<sigma-below> - number of standard deviations below the mean to
include
<sigma-above> - number of standard deviations above the mean to
include
[-mem-limit] - restrict memory used for file reading efficiency
<limit-GB> - memory limit in gigabytes
[-cifti] - repeatable - specify an input file
<cifti-in> - the input cifti file
[-weight] - give a weight for this file
<weight> - the weight to use
Averages cifti files together. Files without -weight specified are given
a weight of 1. If -exclude-outliers is specified, at each element, the
data across all files is taken as a set, its unweighted mean and sample
standard deviation are found, and values outside the specified number of
standard deviations are excluded from the (potentially weighted) average
at that element.
-cifti-average-dense-roi
AVERAGE CIFTI ROWS ACROSS SUBJECTS BY ROI
wb_command -cifti-average-dense-roi
<cifti-out> - output - output cifti dscalar file
[-cifti-roi] - cifti file containing combined weights
<roi-cifti> - the roi cifti file
[-in-memory] - cache the roi in memory so that it isn't re-read for
each input cifti
[-left-roi] - weights to use for left hempsphere
<roi-metric> - the left roi as a metric file
[-right-roi] - weights to use for right hempsphere
<roi-metric> - the right roi as a metric file
[-cerebellum-roi] - weights to use for cerebellum surface
<roi-metric> - the cerebellum roi as a metric file
[-vol-roi] - voxel weights to use
<roi-vol> - the roi volume file
[-left-area-surf] - specify the left surface for vertex area correction
<left-surf> - the left surface file
[-right-area-surf] - specify the right surface for vertex area correction
<right-surf> - the right surface file
[-cerebellum-area-surf] - specify the cerebellum surface for vertex area
correction
<cerebellum-surf> - the cerebellum surface file
[-cifti] - repeatable - specify an input cifti file
<cifti-in> - a cifti file to average across
Averages rows for each map of the ROI(s), across all files. ROI maps are
treated as weighting functions, including negative values. For
efficiency, ensure that everything that is not intended to be used is
zero in the ROI map. If -cifti-roi is specified, -left-roi, -right-roi,
-cerebellum-roi, and -vol-roi must not be specified. If multiple
non-cifti ROI files are specified, they must have the same number of
columns.
-cifti-average-roi-correlation
CORRELATE ROI AVERAGE WITH ALL ROWS THEN AVERAGE ACROSS SUBJECTS
wb_command -cifti-average-roi-correlation
<cifti-out> - output - output cifti file
[-cifti-roi] - cifti file containing combined weights
<roi-cifti> - the roi cifti file
[-in-memory] - cache the roi in memory so that it isn't re-read for
each input cifti
[-left-roi] - weights to use for left hempsphere
<roi-metric> - the left roi as a metric file
[-right-roi] - weights to use for right hempsphere
<roi-metric> - the right roi as a metric file
[-cerebellum-roi] - weights to use for cerebellum surface
<roi-metric> - the cerebellum roi as a metric file
[-vol-roi] - voxel weights to use
<roi-vol> - the roi volume file
[-left-area-surf] - specify the left surface for vertex area correction
<left-surf> - the left surface file
[-right-area-surf] - specify the right surface for vertex area correction
<right-surf> - the right surface file
[-cerebellum-area-surf] - specify the cerebellum surface for vertex area
correction
<cerebellum-surf> - the cerebellum surface file
[-cifti] - repeatable - specify an input cifti file
<cifti-in> - a cifti file to average across
Averages rows for each map of the ROI(s), takes the correlation of each
ROI average to the rest of the rows in the same file, applies the fisher
small z transform, then averages the results across all files. ROIs are
always treated as weighting functions, including negative values. For
efficiency, ensure that everything that is not intended to be used is
zero in the ROI map. If -cifti-roi is specified, -left-roi, -right-roi,
-cerebellum-roi, and -vol-roi must not be specified. If multiple
non-cifti ROI files are specified, they must have the same number of
columns.
-cifti-change-mapping
CONVERT TO SCALAR, COPY MAPPING, ETC
wb_command -cifti-change-mapping
<data-cifti> - the cifti file to use the data from
<direction> - which direction on <data-cifti> to replace the mapping
<cifti-out> - output - the output cifti file
[-series] - set the mapping to series
<step> - increment between series points
<start> - start value of the series
[-unit] - select unit for series (default SECOND)
<unit> - unit identifier
[-scalar] - set the mapping to scalar
[-name-file] - specify names for the maps
<file> - text file containing map names, one per line
[-from-cifti] - copy mapping from another cifti file
<template-cifti> - a cifti file containing the desired mapping
<direction> - which direction to copy the mapping from
Take an existing cifti file and change one of the mappings. Exactly one
of -series, -scalar, or -from-cifti must be specified. The direction can
be either an integer starting from 1, or the strings 'ROW' or 'COLUMN'.
The argument to -unit must be one of the following:
SECOND
HERTZ
METER
RADIAN
-cifti-convert
DUMP CIFTI MATRIX INTO OTHER FORMATS
wb_command -cifti-convert
[-to-gifti-ext] - convert to GIFTI external binary
<cifti-in> - the input cifti file
<gifti-out> - output - the output gifti file
[-from-gifti-ext] - convert a GIFTI made with this command back into a
CIFTI
<gifti-in> - the input gifti file
<cifti-out> - output - the output cifti file
[-reset-timepoints] - reset the mapping along rows to timepoints,
taking length from the gifti file
<timestep> - the desired time between frames
<timestart> - the desired time offset of the initial frame
[-unit] - use a unit other than time
<unit> - unit identifier (default SECOND)
[-reset-scalars] - reset mapping along rows to scalars, taking length
from the gifti file
[-column-reset-scalars] - reset mapping along columns to scalar
(useful for changing number of series in a sdseries file)
[-replace-binary] - replace data with a binary file
<binary-in> - the binary file that contains replacement data
[-flip-endian] - byteswap the binary file
[-transpose] - transpose the binary file
[-to-nifti] - convert to NIFTI1
<cifti-in> - the input cifti file
<nifti-out> - output - the output nifti file
[-smaller-file] - use better-fitting dimension lengths
[-smaller-dims] - minimize the largest dimension, for tools that don't
like large indices
[-from-nifti] - convert a NIFTI (1 or 2) file made with this command back
into CIFTI
<nifti-in> - the input nifti file
<cifti-template> - a cifti file with the dimension(s) and mapping(s)
that should be used
<cifti-out> - output - the output cifti file
[-reset-timepoints] - reset the mapping along rows to timepoints,
taking length from the nifti file
<timestep> - the desired time between frames
<timestart> - the desired time offset of the initial frame
[-unit] - use a unit other than time
<unit> - unit identifier (default SECOND)
[-reset-scalars] - reset mapping along rows to scalars, taking length
from the nifti file
[-to-text] - convert to a plain text file
<cifti-in> - the input cifti file
<text-out> - output - the output text file
[-col-delim] - choose string to put between elements in a row
<delim-string> - the string to use (default is a tab character)
[-from-text] - convert from plain text to cifti
<text-in> - the input text file
<cifti-template> - a cifti file with the dimension(s) and mapping(s)
that should be used
<cifti-out> - output - the output cifti file
[-col-delim] - specify string that is between elements in a row
<delim-string> - the string to use (default is any whitespace)
[-reset-timepoints] - reset the mapping along rows to timepoints,
taking length from the text file
<timestep> - the desired time between frames
<timestart> - the desired time offset of the initial frame
[-unit] - use a unit other than time
<unit> - unit identifier (default SECOND)
[-reset-scalars] - reset mapping along rows to scalars, taking length
from the text file
This command is used to convert a full CIFTI matrix to/from formats that
can be used by programs that don't understand CIFTI. You must specify
exactly one of -to-gifti-ext, -from-gifti-ext, -to-nifti, -from-nifti,
-to-text, or -from-text.
This command cannot map surface-based parts of the cifti file to a
spatially-correct volume file, or map volume-based data to the surface,
see -volume-to-surface-mapping and -metric-to-volume-mapping instead
(other commands such as -cifti-separate are also required).
If you want to write an existing CIFTI file with a different CIFTI
version, see -file-convert, and its -cifti-version-convert option.
If you want part of the CIFTI file as a metric, label, or volume file,
see -cifti-separate. If you want to create a CIFTI file from metric
and/or volume files, see the -cifti-create-* commands.
If you want to import a matrix in non-CIFTI format that is restricted to
an ROI, first obtain a template CIFTI file matching that ROI (you can use
-cifti-create-dense-scalar if you don't have such a file). Use
-cifti-convert to import it to CIFTI format, and you can then expand the
file into a standard brainordinates space with
-cifti-create-dense-from-template. If you want to export only part of a
CIFTI file, first create an roi-restricted CIFTI file with
-cifti-restrict-dense-mapping.
The -transpose option to -from-gifti-ext is needed if the replacement
binary file is in column-major order.
The -unit options accept these values:
SECOND
HERTZ
METER
RADIAN
-cifti-correlation
GENERATE CORRELATION OF ROWS IN A CIFTI FILE
wb_command -cifti-correlation
<cifti> - input cifti file
<cifti-out> - output - output cifti file
[-roi-override] - perform correlation from a subset of rows to all rows
[-left-roi] - use an roi for left hempsphere
<roi-metric> - the left roi as a metric file
[-right-roi] - use an roi for right hempsphere
<roi-metric> - the right roi as a metric file
[-cerebellum-roi] - use an roi for cerebellum
<roi-metric> - the cerebellum roi as a metric file
[-vol-roi] - use an roi for volume
<roi-vol> - the volume roi file
[-cifti-roi] - use a cifti file for combined rois
<roi-cifti> - the cifti roi file
[-weights] - specify column weights
<weight-file> - text file containing one weight per column
[-fisher-z] - apply fisher small z transform (ie, artanh) to correlation
[-no-demean] - instead of correlation, do dot product of rows, then
normalize by diagonal
[-covariance] - compute covariance instead of correlation
[-mem-limit] - restrict memory usage
<limit-GB> - memory limit in gigabytes
For each row (or each row inside an roi if -roi-override is specified),
correlate to all other rows. The -cifti-roi suboption to -roi-override
may not be specified with any other -*-roi suboption, but you may specify
the other -*-roi suboptions together.
When using the -fisher-z option, the output is NOT a Z-score, it is
artanh(r), to do further math on this output, consider using -cifti-math.
Restricting the memory usage will make it calculate the output in chunks,
and if the input file size is more than 70% of the memory limit, it will
also read through the input file as rows are required, resulting in
several passes through the input file (once per chunk). Memory limit
does not need to be an integer, you may also specify 0 to calculate a
single output row at a time (this may be very slow).
-cifti-correlation-gradient
CORRELATE CIFTI ROWS AND TAKE GRADIENT
wb_command -cifti-correlation-gradient
<cifti> - the input cifti
<cifti-out> - output - the output cifti
[-left-surface] - specify the left surface to use
<surface> - the left surface file
[-left-corrected-areas] - vertex areas to use instead of computing
them from the left surface
<area-metric> - the corrected vertex areas, as a metric
[-right-surface] - specify the right surface to use
<surface> - the right surface file
[-right-corrected-areas] - vertex areas to use instead of computing
them from the right surface
<area-metric> - the corrected vertex areas, as a metric
[-cerebellum-surface] - specify the cerebellum surface to use
<surface> - the cerebellum surface file
[-cerebellum-corrected-areas] - vertex areas to use instead of
computing them from the cerebellum surface
<area-metric> - the corrected vertex areas, as a metric
[-surface-presmooth] - smooth on the surface before computing the
gradient
<surface-kernel> - the size of the gaussian surface smoothing kernel
in mm, as sigma by default
[-volume-presmooth] - smooth the volume before computing the gradient
<volume-kernel> - the size of the gaussian volume smoothing kernel in
mm, as sigma by default
[-presmooth-fwhm] - smoothing kernel sizes are FWHM, not sigma
[-undo-fisher-z] - apply the inverse fisher small z transform to the
input
[-fisher-z] - apply the fisher small z transform to the correlations
before taking the gradient
[-surface-exclude] - exclude vertices near each seed vertex from
computation
<distance> - geodesic distance from seed vertex for the exclusion
zone, in mm
[-volume-exclude] - exclude voxels near each seed voxel from computation
<distance> - distance from seed voxel for the exclusion zone, in mm
[-covariance] - compute covariance instead of correlation
[-mem-limit] - restrict memory usage
<limit-GB> - memory limit in gigabytes
[-double-correlation] - do two correlations before taking the gradient
[-fisher-z-first] - after the FIRST correlation, apply fisher small z
transform (ie, artanh)
[-no-demean-first] - instead of correlation for the FIRST operation,
do dot product of rows, then normalize by diagonal
[-covariance-first] - instead of correlation for the FIRST operation,
compute covariance
For each structure, compute the correlation of the rows in the structure,
and take the gradients of the resulting rows, then average them. Memory
limit does not need to be an integer, you may also specify 0 to use as
little memory as possible (this may be very slow).
-cifti-create-dense-from-template
CREATE CIFTI WITH MATCHING DENSE MAP
wb_command -cifti-create-dense-from-template
<template-cifti> - file to match brainordinates of
<cifti-out> - output - the output cifti file
[-series] - make a dtseries file instead of a dscalar
<step> - increment between series points
<start> - start value of the series
[-unit] - select unit for series (default SECOND)
<unit> - unit identifier
[-volume-all] - specify an input volume file for all voxel data
<volume-in> - the input volume file
[-from-cropped] - the input is cropped to the size of the voxel data
in the template file
[-label-collision] - how to handle conflicts between label keys
<action> - 'ERROR', 'SURFACES_FIRST', or 'LEGACY', default 'ERROR',
use 'LEGACY' to match v1.4.2 and earlier
[-cifti] - repeatable - use input data from a cifti file
<cifti-in> - cifti file containing input data
[-metric] - repeatable - use input data from a metric file
<structure> - which structure to put the metric file into
<metric-in> - input metric file
[-label] - repeatable - use input data from surface label files
<structure> - which structure to put the label file into
<label-in> - input label file
[-volume] - repeatable - use a volume file for a single volume
structure's data
<structure> - which structure to put the volume file into
<volume-in> - the input volume file
[-from-cropped] - the input is cropped to the size of the volume
structure
This command helps you make a new dscalar, dtseries, or dlabel cifti file
that matches the brainordinate space used in another cifti file. The
template file must have the desired brainordinate space in the mapping
along the column direction (for dtseries, dscalar, dlabel, and symmetric
dconn this is always the case). All input cifti files must have a brain
models mapping along column and use the same volume space and/or surface
vertex count as the template for structures that they contain. If any
input files contain label data, then input files with non-label data are
not allowed, and the -series option may not be used.
Any structure that isn't covered by an input is filled with zeros or the
unlabeled key.
The <structure> argument of -metric, -label or -volume must be one of the
following:
CORTEX_LEFT
CORTEX_RIGHT
CEREBELLUM
ACCUMBENS_LEFT
ACCUMBENS_RIGHT
ALL_GREY_MATTER
ALL_WHITE_MATTER
AMYGDALA_LEFT
AMYGDALA_RIGHT
BRAIN_STEM
CAUDATE_LEFT
CAUDATE_RIGHT
CEREBELLAR_WHITE_MATTER_LEFT
CEREBELLAR_WHITE_MATTER_RIGHT
CEREBELLUM_LEFT
CEREBELLUM_RIGHT
CEREBRAL_WHITE_MATTER_LEFT
CEREBRAL_WHITE_MATTER_RIGHT
CORTEX
DIENCEPHALON_VENTRAL_LEFT
DIENCEPHALON_VENTRAL_RIGHT
HIPPOCAMPUS_LEFT
HIPPOCAMPUS_RIGHT
HIPPOCAMPUS_DENTATE_LEFT
HIPPOCAMPUS_DENTATE_RIGHT
INVALID
OTHER
OTHER_GREY_MATTER
OTHER_WHITE_MATTER
PALLIDUM_LEFT
PALLIDUM_RIGHT
PUTAMEN_LEFT
PUTAMEN_RIGHT
THALAMUS_LEFT
THALAMUS_RIGHT
The argument to -unit must be one of the following:
SECOND
HERTZ
METER
RADIAN
-cifti-create-dense-scalar
CREATE A CIFTI DENSE SCALAR FILE
wb_command -cifti-create-dense-scalar
<cifti-out> - output - the output cifti file
[-volume] - volume component
<volume-data> - volume file containing all voxel data for all volume
structures
<structure-label-volume> - label volume file containing labels for
cifti structures
[-left-metric] - metric for the left cortical surface
<metric> - the metric file
[-roi-left] - roi of vertices to use from left surface
<roi-metric> - the ROI as a metric file
[-right-metric] - metric for the right cortical surface
<metric> - the metric file
[-roi-right] - roi of vertices to use from right surface
<roi-metric> - the ROI as a metric file
[-cerebellum-metric] - metric for the cerebellum
<metric> - the metric file
[-roi-cerebellum] - roi of vertices to use from right surface
<roi-metric> - the ROI as a metric file
[-name-file] - use a text file to set all map names
<file> - text file containing map names, one per line
[-metric] - repeatable - metric for a specified surface structure
<structure> - the structure name
<metric> - the metric file
[-roi] - roi of vertices to use from this structure
<roi-metric> - the ROI as a metric file
All input files must have the same number of columns/subvolumes. Only
the specified components will be in the output cifti file. Map names
will be taken from one of the input files. At least one component must
be specified.
See -volume-label-import and -volume-help for format details of label
volume files. The -metric structure argument and labels in the
structure-label-volume must use names from the below list (labels with
other names are ignored, -metric arguments with other strings are an
error):
CORTEX_LEFT
CORTEX_RIGHT
CEREBELLUM
ACCUMBENS_LEFT
ACCUMBENS_RIGHT
ALL_GREY_MATTER
ALL_WHITE_MATTER
AMYGDALA_LEFT
AMYGDALA_RIGHT
BRAIN_STEM
CAUDATE_LEFT
CAUDATE_RIGHT
CEREBELLAR_WHITE_MATTER_LEFT
CEREBELLAR_WHITE_MATTER_RIGHT
CEREBELLUM_LEFT
CEREBELLUM_RIGHT
CEREBRAL_WHITE_MATTER_LEFT
CEREBRAL_WHITE_MATTER_RIGHT
CORTEX
DIENCEPHALON_VENTRAL_LEFT
DIENCEPHALON_VENTRAL_RIGHT
HIPPOCAMPUS_LEFT
HIPPOCAMPUS_RIGHT
HIPPOCAMPUS_DENTATE_LEFT
HIPPOCAMPUS_DENTATE_RIGHT
INVALID
OTHER
OTHER_GREY_MATTER
OTHER_WHITE_MATTER
PALLIDUM_LEFT
PALLIDUM_RIGHT
PUTAMEN_LEFT
PUTAMEN_RIGHT
THALAMUS_LEFT
THALAMUS_RIGHT
-cifti-create-dense-timeseries
CREATE A CIFTI DENSE TIMESERIES
wb_command -cifti-create-dense-timeseries
<cifti-out> - output - the output cifti file
[-volume] - volume component
<volume-data> - volume file containing all voxel data for all volume
structures
<structure-label-volume> - label volume file containing labels for
cifti structures
[-left-metric] - metric for the left cortical surface
<metric> - the metric file
[-roi-left] - roi of vertices to use from left surface
<roi-metric> - the ROI as a metric file
[-right-metric] - metric for the right cortical surface
<metric> - the metric file
[-roi-right] - roi of vertices to use from right surface
<roi-metric> - the ROI as a metric file
[-cerebellum-metric] - metric for the cerebellum
<metric> - the metric file
[-roi-cerebellum] - roi of vertices to use from right surface
<roi-metric> - the ROI as a metric file
[-timestep] - set the timestep
<interval> - the timestep, in seconds (default 1.0)
[-timestart] - set the start time
<start> - the time at the first frame, in seconds (default 0.0)
[-unit] - use a unit other than time
<unit> - unit identifier (default SECOND)
[-metric] - repeatable - metric for a specified surface structure
<structure> - the structure name
<metric> - the metric file
[-roi] - roi of vertices to use from this structure
<roi-metric> - the ROI as a metric file
All input files must have the same number of columns/subvolumes. Only
the specified components will be in the output cifti. At least one
component must be specified.
See -volume-label-import and -volume-help for format details of label
volume files. The -metric structure argument and labels in the
structure-label-volume must use names from the below list (labels with
other names are ignored, -metric arguments with other strings are an
error):
CORTEX_LEFT
CORTEX_RIGHT
CEREBELLUM
ACCUMBENS_LEFT
ACCUMBENS_RIGHT
ALL_GREY_MATTER
ALL_WHITE_MATTER
AMYGDALA_LEFT
AMYGDALA_RIGHT
BRAIN_STEM
CAUDATE_LEFT
CAUDATE_RIGHT
CEREBELLAR_WHITE_MATTER_LEFT
CEREBELLAR_WHITE_MATTER_RIGHT
CEREBELLUM_LEFT
CEREBELLUM_RIGHT
CEREBRAL_WHITE_MATTER_LEFT
CEREBRAL_WHITE_MATTER_RIGHT
CORTEX
DIENCEPHALON_VENTRAL_LEFT
DIENCEPHALON_VENTRAL_RIGHT
HIPPOCAMPUS_LEFT
HIPPOCAMPUS_RIGHT
HIPPOCAMPUS_DENTATE_LEFT
HIPPOCAMPUS_DENTATE_RIGHT
INVALID
OTHER
OTHER_GREY_MATTER
OTHER_WHITE_MATTER
PALLIDUM_LEFT
PALLIDUM_RIGHT
PUTAMEN_LEFT
PUTAMEN_RIGHT
THALAMUS_LEFT
THALAMUS_RIGHT
The -unit option accepts these values:
SECOND
HERTZ
METER
RADIAN
-cifti-create-label
CREATE A CIFTI LABEL FILE
wb_command -cifti-create-label
<cifti-out> - output - the output cifti file
[-volume] - volume component
<label-volume> - label volume file containing the data to be copied
<structure-label-volume> - label volume file that defines which voxels
to use
[-left-label] - label file for the left cortical surface
<label> - the label file
[-roi-left] - roi of vertices to use from left surface
<roi-metric> - the ROI as a metric file
[-right-label] - label file for the right cortical surface
<label> - the label file
[-roi-right] - roi of vertices to use from right surface
<roi-metric> - the ROI as a metric file
[-cerebellum-label] - label file for the cerebellum
<label> - the label file
[-roi-cerebellum] - roi of vertices to use from right surface
<roi-metric> - the ROI as a metric file
[-label] - repeatable - label for a specified surface structure
<structure> - the structure name
<label> - the label file
[-roi] - roi of vertices to use from this structure
<roi-metric> - the ROI as a metric file
All input files must have the same number of columns/subvolumes. Only
the specified components will be in the output cifti. At least one
component must be specified.
The -volume option requires two volume arguments, the label-volume
argument contains all labels you want to display (e.g. nuclei of the
thalamus), whereas the structure-label-volume argument contains all CIFTI
voxel-based structures you want to include data within (e.g.
THALAMUS_LEFT, THALAMUS_RIGHT, etc). See -volume-label-import and
-volume-help for format details of label volume files. If you just want
the labels in voxels to be the structure names, you may use the same file
for both arguments. The structure-label-volume must use some of the
label names from this list, all other label names in the
structure-label-volume will be ignored:
CORTEX_LEFT
CORTEX_RIGHT
CEREBELLUM
ACCUMBENS_LEFT
ACCUMBENS_RIGHT
ALL_GREY_MATTER
ALL_WHITE_MATTER
AMYGDALA_LEFT
AMYGDALA_RIGHT
BRAIN_STEM
CAUDATE_LEFT
CAUDATE_RIGHT
CEREBELLAR_WHITE_MATTER_LEFT
CEREBELLAR_WHITE_MATTER_RIGHT
CEREBELLUM_LEFT
CEREBELLUM_RIGHT
CEREBRAL_WHITE_MATTER_LEFT
CEREBRAL_WHITE_MATTER_RIGHT
CORTEX
DIENCEPHALON_VENTRAL_LEFT
DIENCEPHALON_VENTRAL_RIGHT
HIPPOCAMPUS_LEFT
HIPPOCAMPUS_RIGHT
HIPPOCAMPUS_DENTATE_LEFT
HIPPOCAMPUS_DENTATE_RIGHT
INVALID
OTHER
OTHER_GREY_MATTER
OTHER_WHITE_MATTER
PALLIDUM_LEFT
PALLIDUM_RIGHT
PUTAMEN_LEFT
PUTAMEN_RIGHT
THALAMUS_LEFT
THALAMUS_RIGHT
-cifti-create-parcellated-from-template
MATCH PARCELS TO TEMPLATE BY NAME
wb_command -cifti-create-parcellated-from-template
<cifti-template> - a cifti file with the template parcel mapping along
column
<modify-direction> - which dimension of the output file should match the
template (integer, 'ROW', or 'COLUMN')
<cifti-out> - output - the output cifti file
[-fill-value] - specify value to be used in parcels that don't match
<value> - value to use (default 0)
[-cifti] - repeatable - specify an input cifti file
<cifti-in> - the input parcellated cifti file
For each parcel name in the template mapping, find that name in an input
cifti file and use its data in the output file. All input cifti files
must have a parcels mapping along <modify-direction> and matching
mappings along other dimensions. The direction can be either an integer
starting from 1, or the strings 'ROW' or 'COLUMN'.
-cifti-create-scalar-series
IMPORT SERIES DATA INTO CIFTI
wb_command -cifti-create-scalar-series
<input> - input file
<cifti-out> - output - output cifti file
[-transpose] - use if the rows of the text file are along the scalar
dimension
[-name-file] - use a text file to set names on scalar dimension
<file> - text file containing names, one per line
[-series] - set the units and values of the series
<unit> - the unit to use
<start> - the value at the first series point
<step> - the interval between series points
Convert a text file containing series of equal length into a cifti file.
The text file should have lines made up of numbers separated by
whitespace, with no extra newlines between lines.
The <unit> argument must be one of the following:
SECOND
HERTZ
METER
RADIAN
-cifti-cross-correlation
CORRELATE A CIFTI FILE WITH ANOTHER CIFTI FILE
wb_command -cifti-cross-correlation
<cifti-a> - first input cifti file
<cifti-b> - second input cifti file
<cifti-out> - output - output cifti file
[-weights] - specify column weights
<weight-file> - text file containing one weight per column
[-fisher-z] - apply fisher small z transform (ie, artanh) to correlation
[-mem-limit] - restrict memory usage
<limit-GB> - memory limit in gigabytes
Correlates every row in <cifti-a> with every row in <cifti-b>. The
mapping along columns in <cifti-b> becomes the mapping along rows in the
output.
When using the -fisher-z option, the output is NOT a Z-score, it is
artanh(r), to do further math on this output, consider using -cifti-math.
Restricting the memory usage will make it calculate the output in chunks,
by reading through <cifti-b> multiple times.
-cifti-dilate
DILATE A CIFTI FILE
wb_command -cifti-dilate
<cifti-in> - the input cifti file
<direction> - which dimension to dilate along, ROW or COLUMN
<surface-distance> - the distance to dilate on surfaces, in mm
<volume-distance> - the distance to dilate in the volume, in mm
<cifti-out> - output - the output cifti file
[-left-surface] - specify the left surface to use
<surface> - the left surface file
[-left-corrected-areas] - vertex areas to use instead of computing
them from the left surface
<area-metric> - the corrected vertex areas, as a metric
[-right-surface] - specify the right surface to use
<surface> - the right surface file
[-right-corrected-areas] - vertex areas to use instead of computing
them from the right surface
<area-metric> - the corrected vertex areas, as a metric
[-cerebellum-surface] - specify the cerebellum surface to use
<surface> - the cerebellum surface file
[-cerebellum-corrected-areas] - vertex areas to use instead of
computing them from the cerebellum surface
<area-metric> - the corrected vertex areas, as a metric
[-bad-brainordinate-roi] - specify an roi of brainordinates to overwrite,
rather than zeros
<roi-cifti> - cifti dscalar or dtseries file, positive values denote
brainordinates to have their values replaced
[-nearest] - use nearest good value instead of a weighted average
[-merged-volume] - treat volume components as if they were a single
component
[-legacy-mode] - use the math from v1.3.2 and earlier for weighted
dilation
For all data values designated as bad, if they neighbor a good value or
are within the specified distance of a good value in the same kind of
model, replace the value with a distance weighted average of nearby good
values, otherwise set the value to zero. If -nearest is specified, it
will use the value from the closest good value within range instead of a
weighted average. When the input file contains label data, nearest
dilation is used on the surface, and weighted popularity is used in the
volume.
The -*-corrected-areas options are intended for dilating on group average
surfaces, but it is only an approximate correction for the reduction of
structure in a group average surface.
If -bad-brainordinate-roi is specified, all values, including those with
value zero, are good, except for locations with a positive value in the
ROI. If it is not specified, only values equal to zero are bad.
-cifti-erode
ERODE A CIFTI FILE
wb_command -cifti-erode
<cifti-in> - the input cifti file
<direction> - which dimension to dilate along, ROW or COLUMN
<surface-distance> - the distance to dilate on surfaces, in mm
<volume-distance> - the distance to dilate in the volume, in mm
<cifti-out> - output - the output cifti file
[-left-surface] - specify the left surface to use
<surface> - the left surface file
[-left-corrected-areas] - vertex areas to use instead of computing
them from the left surface
<area-metric> - the corrected vertex areas, as a metric
[-right-surface] - specify the right surface to use
<surface> - the right surface file
[-right-corrected-areas] - vertex areas to use instead of computing
them from the right surface
<area-metric> - the corrected vertex areas, as a metric
[-cerebellum-surface] - specify the cerebellum surface to use
<surface> - the cerebellum surface file
[-cerebellum-corrected-areas] - vertex areas to use instead of
computing them from the cerebellum surface
<area-metric> - the corrected vertex areas, as a metric
[-merged-volume] - treat volume components as if they were a single
component
For all data values that are empty (for label data, unlabeled, for other
data, zero), set the surrounding values to empty. The surrounding values
are defined as the immediate neighbors and all values in the same
structure within the specified distance (-merged-volume treats all voxels
as one structure).
The -*-corrected-areas options are intended for eroding on group average
surfaces, but it is only an approximate correction.
-cifti-estimate-fwhm
ESTIMATE FWHM SMOOTHNESS OF A CIFTI FILE
wb_command -cifti-estimate-fwhm
<cifti> - the input cifti file
[-merged-volume] - treat volume components as if they were a single
component
[-column] - only output estimates for one column
<column> - the column number
[-whole-file] - estimate for the whole file at once, not each column
separately
[-demean] - subtract the mean image before estimating smoothness
[-surface] - repeatable - specify an input surface
<structure> - what structure to use this surface for
<surface> - the surface file
Estimate the smoothness of the components of the cifti file, printing the
estimates to standard output. If -merged-volume is used, all voxels are
used as a single component, rather than separated by structure.
<structure> must be one of the following:
CORTEX_LEFT
CORTEX_RIGHT
CEREBELLUM
ACCUMBENS_LEFT
ACCUMBENS_RIGHT
ALL_GREY_MATTER
ALL_WHITE_MATTER
AMYGDALA_LEFT
AMYGDALA_RIGHT
BRAIN_STEM
CAUDATE_LEFT
CAUDATE_RIGHT
CEREBELLAR_WHITE_MATTER_LEFT
CEREBELLAR_WHITE_MATTER_RIGHT
CEREBELLUM_LEFT
CEREBELLUM_RIGHT
CEREBRAL_WHITE_MATTER_LEFT
CEREBRAL_WHITE_MATTER_RIGHT
CORTEX
DIENCEPHALON_VENTRAL_LEFT
DIENCEPHALON_VENTRAL_RIGHT
HIPPOCAMPUS_LEFT
HIPPOCAMPUS_RIGHT
HIPPOCAMPUS_DENTATE_LEFT
HIPPOCAMPUS_DENTATE_RIGHT
INVALID
OTHER
OTHER_GREY_MATTER
OTHER_WHITE_MATTER
PALLIDUM_LEFT
PALLIDUM_RIGHT
PUTAMEN_LEFT
PUTAMEN_RIGHT
THALAMUS_LEFT
THALAMUS_RIGHT
-cifti-export-dense-mapping
WRITE INDEX TO ELEMENT MAPPING AS TEXT
wb_command -cifti-export-dense-mapping
<cifti> - the cifti file
<direction> - which direction to export the mapping from, ROW or COLUMN
[-volume-all] - export the the mapping of all voxels
<text-out> - output - the output text file
[-no-cifti-index] - don't write the cifti index in the output file
[-structure] - write the structure each voxel belongs to in the output
file
[-surface] - repeatable - export the the mapping of one surface structure
<structure> - the structure to output
<text-out> - output - the output text file
[-no-cifti-index] - don't write the cifti index in the output file
[-volume] - repeatable - export the the mapping of one volume structure
<structure> - the structure to output
<text-out> - output - the output text file
[-no-cifti-index] - don't write the cifti index in the output file
This command produces text files that describe the mapping from cifti
indices to surface vertices or voxels. All indices are zero-based. The
default format for -surface is lines of the form:
<cifti-index> <vertex>
The default format for -volume and -volume-all is lines of the form:
<cifti-index> <i> <j> <k>
For each <structure> argument, use one of the following strings:
CORTEX_LEFT
CORTEX_RIGHT
CEREBELLUM
ACCUMBENS_LEFT
ACCUMBENS_RIGHT
ALL_GREY_MATTER
ALL_WHITE_MATTER
AMYGDALA_LEFT
AMYGDALA_RIGHT
BRAIN_STEM
CAUDATE_LEFT
CAUDATE_RIGHT
CEREBELLAR_WHITE_MATTER_LEFT
CEREBELLAR_WHITE_MATTER_RIGHT
CEREBELLUM_LEFT
CEREBELLUM_RIGHT
CEREBRAL_WHITE_MATTER_LEFT
CEREBRAL_WHITE_MATTER_RIGHT
CORTEX
DIENCEPHALON_VENTRAL_LEFT
DIENCEPHALON_VENTRAL_RIGHT
HIPPOCAMPUS_LEFT
HIPPOCAMPUS_RIGHT
HIPPOCAMPUS_DENTATE_LEFT
HIPPOCAMPUS_DENTATE_RIGHT
INVALID
OTHER
OTHER_GREY_MATTER
OTHER_WHITE_MATTER
PALLIDUM_LEFT
PALLIDUM_RIGHT
PUTAMEN_LEFT
PUTAMEN_RIGHT
THALAMUS_LEFT
THALAMUS_RIGHT
-cifti-extrema
FIND EXTREMA IN A CIFTI FILE
wb_command -cifti-extrema
<cifti> - the input cifti
<surface-distance> - the minimum distance between extrema of the same
type, for surface components
<volume-distance> - the minimum distance between extrema of the same
type, for volume components
<direction> - which dimension to find extrema along, ROW or COLUMN
<cifti-out> - output - the output cifti
[-left-surface] - specify the left surface to use
<surface> - the left surface file
[-right-surface] - specify the right surface to use
<surface> - the right surface file
[-cerebellum-surface] - specify the cerebellum surface to use
<surface> - the cerebellum surface file
[-surface-presmooth] - smooth on the surface before finding extrema
<surface-kernel> - the size of the gaussian surface smoothing kernel
in mm, as sigma by default
[-volume-presmooth] - smooth volume components before finding extrema
<volume-kernel> - the size of the gaussian volume smoothing kernel in
mm, as sigma by default
[-presmooth-fwhm] - smoothing kernel distances are FWHM, not sigma
[-threshold] - ignore small extrema
<low> - the largest value to consider for being a minimum
<high> - the smallest value to consider for being a maximum
[-merged-volume] - treat volume components as if they were a single
component
[-sum-maps] - output the sum of the extrema maps instead of each map
separately
[-consolidate-mode] - use consolidation of local minima instead of a
large neighborhood
[-only-maxima] - only find the maxima
[-only-minima] - only find the minima
Finds spatial locations in a cifti file that have more extreme values
than all nearby locations in the same component (surface or volume
structure). The input cifti file must have a brain models mapping along
the specified direction. COLUMN is the direction that works on dtseries
and dscalar. For dconn, if it is symmetric use COLUMN, otherwise use
ROW.
-cifti-false-correlation
COMPARE CORRELATION LOCALLY AND ACROSS/THROUGH SULCI/GYRI
wb_command -cifti-false-correlation
<cifti-in> - the cifti file to use for correlation
<3D-dist> - maximum 3D distance to check around each vertex
<geo-outer> - maximum geodesic distance to use for neighboring
correlation
<geo-inner> - minimum geodesic distance to use for neighboring
correlation
<cifti-out> - output - the output cifti dscalar file
[-left-surface] - specify the left surface to use
<surface> - the left surface file
[-dump-text] - dump the raw measures used to a text file
<text-out> - the output text file
[-right-surface] - specify the right surface to use
<surface> - the right surface file
[-dump-text] - dump the raw measures used to a text file
<text-out> - the output text file
[-cerebellum-surface] - specify the cerebellum surface to use
<surface> - the cerebellum surface file
[-dump-text] - dump the raw measures used to a text file
<text-out> - the output text file
For each vertex, compute the average correlation within a range of
geodesic distances that don't cross a sulcus/gyrus, and the correlation
to the closest vertex crossing a sulcus/gyrus. A vertex is considered to
cross a sulcus/gyrus if the 3D distance is less than a third of the
geodesic distance. The output file contains the ratio between these
correlations, and some additional maps to help explain the ratio.
-cifti-find-clusters
FILTER CLUSTERS BY AREA/VOLUME
wb_command -cifti-find-clusters
<cifti> - the input cifti
<surface-value-threshold> - threshold for surface data values
<surface-minimum-area> - threshold for surface cluster area, in mm^2
<volume-value-threshold> - threshold for volume data values
<volume-minimum-size> - threshold for volume cluster size, in mm^3
<direction> - which dimension to use for spatial information, ROW or
COLUMN
<cifti-out> - output - the output cifti
[-less-than] - find values less than <value-threshold>, rather than
greater
[-left-surface] - specify the left surface to use
<surface> - the left surface file
[-corrected-areas] - vertex areas to use instead of computing them
from the surface
<area-metric> - the corrected vertex areas, as a metric
[-right-surface] - specify the right surface to use
<surface> - the right surface file
[-corrected-areas] - vertex areas to use instead of computing them
from the surface
<area-metric> - the corrected vertex areas, as a metric
[-cerebellum-surface] - specify the cerebellum surface to use
<surface> - the cerebellum surface file
[-corrected-areas] - vertex areas to use instead of computing them
from the surface
<area-metric> - the corrected vertex areas, as a metric
[-cifti-roi] - search only within regions of interest
<roi-cifti> - the regions to search within, as a cifti file
[-merged-volume] - treat volume components as if they were a single
component
[-size-ratio] - ignore clusters smaller than a given fraction of the
largest cluster in the structure
<surface-ratio> - fraction of the structure's largest cluster area
<volume-ratio> - fraction of the structure's largest cluster volume
[-distance] - ignore clusters further than a given distance from the
largest cluster in the structure
<surface-distance> - how far from the largest cluster a cluster can
be, edge to edge, in mm
<volume-distance> - how far from the largest cluster a cluster can be,
edge to edge, in mm
[-start] - start labeling clusters from a value other than 1
<startval> - the value to give the first cluster found
Outputs a cifti file with nonzero integers for all brainordinates within
a large enough cluster, and zeros elsewhere. The integers denote cluster
membership (by default, first cluster found will use value 1, second
cluster 2, etc). Cluster values are not reused across maps of the
output, but instead keep counting up. The input cifti file must have a
brain models mapping on the chosen dimension, columns for .dtseries, and
either for .dconn. The ROI should have a brain models mapping along
columns, exactly matching the mapping of the chosen direction in the
input file. Data outside the ROI is ignored.
-cifti-gradient
TAKE GRADIENT OF A CIFTI FILE
wb_command -cifti-gradient
<cifti> - the input cifti
<direction> - which dimension to take the gradient along, ROW or COLUMN
<cifti-out> - output - the output cifti
[-left-surface] - specify the left surface to use
<surface> - the left surface file
[-left-corrected-areas] - vertex areas to use instead of computing
them from the left surface
<area-metric> - the corrected vertex areas, as a metric
[-right-surface] - specify the right surface to use
<surface> - the right surface file
[-right-corrected-areas] - vertex areas to use instead of computing
them from the right surface
<area-metric> - the corrected vertex areas, as a metric
[-cerebellum-surface] - specify the cerebellum surface to use
<surface> - the cerebellum surface file
[-cerebellum-corrected-areas] - vertex areas to use instead of
computing them from the cerebellum surface
<area-metric> - the corrected vertex areas, as a metric
[-surface-presmooth] - smooth on the surface before computing the
gradient
<surface-kernel> - the size of the gaussian surface smoothing kernel
in mm, as sigma by default
[-volume-presmooth] - smooth on the surface before computing the gradient
<volume-kernel> - the size of the gaussian volume smoothing kernel in
mm, as sigma by default
[-presmooth-fwhm] - smoothing kernel sizes are FWHM, not sigma
[-average-output] - output the average of the gradient magnitude maps
instead of each gradient map separately
[-vectors] - output gradient vectors
<vectors-out> - output - the vectors, as a dscalar file
[-surface] - repeatable - specify a surface by structure name
<structure> - the surface structure name
<surface> - the surface file
[-corrected-areas] - vertex areas to use instead of computing them
from the surface
<area-metric> - the corrected vertex areas, as a metric
Performs gradient calculation on each component of the cifti file, and
optionally averages the resulting gradients. The -vectors and
-average-output options may not be used together. You must specify a
surface for each surface structure in the cifti file. The COLUMN
direction should be faster, and is the direction that works on dtseries.
For dconn, you probably want ROW, unless you are using -average-output.
The <structure> argument to -surface must be one of the following
strings:
CORTEX_LEFT
CORTEX_RIGHT
CEREBELLUM
ACCUMBENS_LEFT
ACCUMBENS_RIGHT
ALL_GREY_MATTER
ALL_WHITE_MATTER
AMYGDALA_LEFT
AMYGDALA_RIGHT
BRAIN_STEM
CAUDATE_LEFT
CAUDATE_RIGHT
CEREBELLAR_WHITE_MATTER_LEFT
CEREBELLAR_WHITE_MATTER_RIGHT
CEREBELLUM_LEFT
CEREBELLUM_RIGHT
CEREBRAL_WHITE_MATTER_LEFT
CEREBRAL_WHITE_MATTER_RIGHT
CORTEX
DIENCEPHALON_VENTRAL_LEFT
DIENCEPHALON_VENTRAL_RIGHT
HIPPOCAMPUS_LEFT
HIPPOCAMPUS_RIGHT
HIPPOCAMPUS_DENTATE_LEFT
HIPPOCAMPUS_DENTATE_RIGHT
INVALID
OTHER
OTHER_GREY_MATTER
OTHER_WHITE_MATTER
PALLIDUM_LEFT
PALLIDUM_RIGHT
PUTAMEN_LEFT
PUTAMEN_RIGHT
THALAMUS_LEFT
THALAMUS_RIGHT
-cifti-label-adjacency
MAKE ADJACENCY MATRIX OF A CIFTI LABEL FILE
wb_command -cifti-label-adjacency
<label-in> - the input cifti label file
<adjacency-out> - output - the output cifti pconn adjacency matrix
[-left-surface] - specify the left surface to use
<surface> - the left surface file
[-right-surface] - specify the right surface to use
<surface> - the right surface file
[-cerebellum-surface] - specify the cerebellum surface to use
<surface> - the cerebellum surface file
Find face-adjacent voxels and connected vertices that have different
label values, and count them for each pair. Put the resulting counts
into a parcellated connectivity file, with the diagonal being zero. This
gives a rough estimate of how long or expansive the border between two
labels is.
-cifti-label-export-table
EXPORT LABEL TABLE FROM CIFTI AS TEXT
wb_command -cifti-label-export-table
<label-in> - the input cifti label file
<map> - the number or name of the label map to use
<table-out> - output - the output text file
[-hierarchy] - export the hierarchy as json
<json-out> - output - filename to write hierarchy to
Takes the label table from the cifti label map, and writes it to a text
format matching what is expected by -cifti-label-import.
-cifti-label-import
MAKE A CIFTI LABEL FILE FROM A CIFTI FILE
wb_command -cifti-label-import
<input> - the input cifti file
<label-list-file> - text file containing the values and names for labels
<output> - output - the output cifti label file
[-discard-others] - set any values not mentioned in the label list to the
??? label
[-unlabeled-value] - set the value that will be interpreted as unlabeled
<value> - the numeric value for unlabeled (default 0)
[-drop-unused-labels] - remove any unused label values from the label
table
[-hierarchy] - read label name hierarchy from a json file
<file> - the input json file
Creates a cifti label file from a cifti file with label-like values. You
may specify the empty string (use "") for <label-list-file>, which will
be treated as if it is an empty file. The label list file must have the
following format (2 lines per label):
<labelname>
<key> <red> <green> <blue> <alpha>
...
Label names are specified on a separate line from their value and color,
in order to let label names contain spaces. Whitespace is trimmed from
both ends of the label name, but is kept if it is in the middle of a
label. Do not specify the "unlabeled" key in the file, it is assumed
that 0 means not labeled unless -unlabeled-value is specified. The value
of <key> specifies what value in the imported file should be used as this
label (these same key values are also used in the output file). The
values of <red>, <green>, <blue> and <alpha> must be integers from 0 to
255, and will specify the color the label is drawn as (alpha of 255 means
fully opaque, which is probably what you want).
By default, it will create new label names with names like LABEL_5 for
any values encountered that are not mentioned in the list file, specify
-discard-others to instead set these values to the "unlabeled" key.
-cifti-label-modify-keys
CHANGE KEY VALUES IN A DLABEL FILE
wb_command -cifti-label-modify-keys
<cifti-in> - the input dlabel file
<remap-file> - text file with old and new key values
<cifti-out> - output - the output dlabel file
[-column] - select a single column to use
<column> - the column number or name
<remap-file> should have lines of the form 'oldkey newkey', like so:
3 5
5 8
8 2
This would change the current label with key '3' to use the key '5'
instead, 5 would use 8, and 8 would use 2. Any collision in key values
results in the label that was not specified in the remap file getting
remapped to an otherwise unused key. Remapping more than one key to the
same new key, or the same key to more than one new key, results in an
error. This will not change the appearance of the file when displayed,
as it will change the key values in the data at the same time.
-cifti-label-probability
FIND FREQUENCY OF CIFTI LABELS
wb_command -cifti-label-probability
<label-maps> - cifti dlabel file containing individual label maps from
many subjects
<probability-dscalar-out> - output - the relative frequencies of each
label at each vertex/voxel
[-exclude-unlabeled] - don't make a probability map of the unlabeled key
This command outputs a set of soft ROIs, one for each label in the input,
where the value is how many of the input maps had that label at that
vertex/voxel, divided by the number of input maps.
-cifti-label-to-border
DRAW BORDERS AROUND CIFTI LABELS
wb_command -cifti-label-to-border
<cifti-in> - the input cifti dlabel file
[-placement] - set how far along the edge border points are drawn
<fraction> - fraction along edge from inside vertex (default 0.33)
[-column] - select a single column
<column> - the column number or name
[-border] - repeatable - specify output file for a surface structure
<surface> - the surface to use for neighbor and structure information
<border-out> - output - the output border file
For each surface, takes the labels on the matching structure and draws
borders around the labels. Use -column to only draw borders around one
label map.
-cifti-label-to-roi
MAKE A CIFTI LABEL INTO AN ROI
wb_command -cifti-label-to-roi
<label-in> - the input cifti label file
<scalar-out> - output - the output cifti scalar file
[-name] - select label by name
<label-name> - the label name that you want an roi of
[-key] - select label by key
<label-key> - the label key that you want an roi of
[-map] - select a single label map to use
<map> - the map number or name
For each map in <label-in>, a map is created in <scalar-out> where all
locations labeled with <label-name> or with a key of <label-key> are
given a value of 1, and all other locations are given 0. Exactly one of
-name and -key must be specified. Specify -map to use only one map from
<label-in>.
-cifti-math
EVALUATE EXPRESSION ON CIFTI FILES
wb_command -cifti-math
<expression> - the expression to evaluate, in quotes
<cifti-out> - output - the output cifti file
[-fixnan] - replace NaN results with a value
<replace> - value to replace NaN with
[-override-mapping-check] - don't check the mappings for compatibility,
only check length
[-var] - repeatable - a cifti file to use as a variable
<name> - the name of the variable, as used in the expression
<cifti> - the cifti file to use as this variable
[-select] - repeatable - select a single index from a dimension
<dim> - the dimension to select from (1-based)
<index> - the index number (1-based) or map name to use
[-repeat] - repeat the selected values for each index of output in
this dimension
This command evaluates <expression> at each matrix element independently.
There must be at least one -var option (to get the output layout from),
even if the <name> specified in it isn't used in <expression>.
To select a single column from a 2D file (most cifti files are 2D), use
-select 1 <index>, where <index> is 1-based. To select a single row from
a 2D file, use -select 2 <index>. Where -select is not used, the cifti
files must have compatible mappings (e.g., brain models and parcels
mappings must match exactly except for parcel names). Use
-override-mapping-check to skip this checking.
Filenames are not valid in <expression>, use a variable name and a -var
option with matching <name> to specify an input file. The format of
<expression> is as follows:
Expressions consist of constants, variables, operators, parentheses, and
functions, in infix notation, such as 'exp(-x + 3) * scale'. Variables
are strings of any length, using the characters a-z, A-Z, 0-9, and _, but
may not take the name of a named constant. Currently, there is only one
named constant, PI. The operators are +, -, *, /, ^, >, <, >=, <=, ==,
!=, !, &&, ||. These behave as in C, except that ^ is exponentiation,
i.e. pow(x, y), and takes higher precedence than other binary operators
(also, '-3^-4^-5' means '-(3^(-(4^-5)))'). The <=, >=, ==, and !=
operators are given a small amount of wiggle room, equal to one millionth
of the smaller of the absolute values of the values being compared.
Comparison and logical operators return 0 or 1, you can do masking with
expressions like 'x * (mask > 0)'. For all logical operators, an input
is considered true iff it is greater than 0. The expression '0 < x < 5'
is not syntactically wrong, but it will NOT do what is desired, because
it is evaluated left to right, i.e. '((0 < x) < 5)', which will always
return 1, as both possible results of a comparison are less than 5. A
warning is generated if an expression of this type is detected. Use
something like 'x > 0 && x < 5' to get the desired behavior.
Whitespace between elements is ignored, ' sin ( 2 * x ) ' is equivalent
to 'sin(2*x)', but 's in(2*x)' is an error. Implied multiplication is
not allowed, the expression '2x' will be parsed as a variable.
Parentheses are (), do not use [] or {}. Functions require parentheses,
the expression 'sin x' is an error.
The following functions are supported:
sin: 1 argument, the sine of the argument (units are radians)
cos: 1 argument, the cosine of the argument (units are radians)
tan: 1 argument, the tangent of the argument (units are radians)
asin: 1 argument, the inverse of sine of the argument, in radians
acos: 1 argument, the inverse of cosine of the argument, in radians
atan: 1 argument, the inverse of tangent of the argument, in radians
atan2: 2 arguments, atan2(y, x) returns the inverse of tangent of
(y/x), in radians, determining quadrant by the sign of both arguments
sinh: 1 argument, the hyperbolic sine of the argument
cosh: 1 argument, the hyperbolic cosine of the argument
tanh: 1 argument, the hyperbolic tangent of the argument
asinh: 1 argument, the inverse hyperbolic sine of the argument
acosh: 1 argument, the inverse hyperbolic cosine of the argument
atanh: 1 argument, the inverse hyperbolic tangent of the argument
sinc: 1 argument, sinc(0) = 1, sin(x) / x otherwise
ln: 1 argument, the natural logarithm of the argument
exp: 1 argument, the constant e raised to the power of the argument
log: 1 argument, the base 10 logarithm of the argument
log2: 1 argument, the base 2 logarithm of the argument
sqrt: 1 argument, the square root of the argument
abs: 1 argument, the absolute value of the argument
floor: 1 argument, the largest integer not greater than the argument
round: 1 argument, the nearest integer, with ties rounded away from
zero
ceil: 1 argument, the smallest integer not less than the argument
min: 2 arguments, min(x, y) returns y if (x > y), x otherwise
max: 2 arguments, max(x, y) returns y if (x < y), x otherwise
mod: 2 arguments, mod(x, y) = x - y * floor(x / y), or 0 if y == 0
clamp: 3 arguments, clamp(x, low, high) = min(max(x, low), high)
-cifti-merge
MERGE OR SPLIT ON SERIES, SCALAR, OR LABEL DIMENSIONS
wb_command -cifti-merge
<cifti-out> - output - output cifti file
[-direction] - merge in a direction other than along rows
<direction> - the dimension to split/concatenate along, default ROW
[-mem-limit] - restrict memory used for file reading efficiency
<limit-GB> - memory limit in gigabytes
[-cifti] - repeatable - specify an input cifti file
<cifti-in> - a cifti file to use data from
[-index] - repeatable - select a single index to use
<index> - the index number (starting from 1), or name
[-up-to] - use an inclusive range of indices
<last-index> - the number or name of the last index to include
[-reverse] - use the range in reverse order
Given input CIFTI files for which mappings along the selected direction
are the same type, all either series, scalars, or labels, and the other
dimensions are index-compatible, this command concatenates the data in
the specified indices/ranges along the selected direction (by default, on
typical 2D cifti, concatenate horizontally, so rows become longer). The
direction can be either an integer starting from 1, or the strings 'ROW'
or 'COLUMN'.
Example: wb_command -cifti-merge out.dtseries.nii -cifti
first.dtseries.nii -index 1 -cifti second.dtseries.nii
This example would take the first column from first.dtseries.nii,
followed by all columns from second.dtseries.nii, and write these columns
to out.dtseries.nii.
-cifti-merge-dense
MERGE CIFTI FILES ALONG DENSE DIMENSION
wb_command -cifti-merge-dense
<direction> - which dimension to merge along, ROW or COLUMN
<cifti-out> - output - the output cifti file
[-label-collision] - how to handle conflicts between label keys
<action> - 'ERROR', 'FIRST', or 'LEGACY', default 'ERROR', use
'LEGACY' to match v1.4.2 and earlier
[-cifti] - repeatable - specify an input cifti file
<cifti-in> - a cifti file to merge
The input cifti files must have matching mappings along the direction not
specified, and the mapping along the specified direction must be brain
models.
-cifti-merge-parcels
MERGE CIFTI FILES ALONG PARCELS DIMENSION
wb_command -cifti-merge-parcels
<direction> - which dimension to merge along (integer, 'ROW', or
'COLUMN')
<cifti-out> - output - the output cifti file
[-cifti] - repeatable - specify an input cifti file
<cifti-in> - a cifti file to merge
The input cifti files must have matching mappings along the direction not
specified, and the mapping along the specified direction must be parcels.
The direction can be either an integer starting from 1, or the strings
'ROW' or 'COLUMN'.
-cifti-pairwise-correlation
CORRELATE PAIRED ROWS BETWEEN TWO CIFTI FILES
wb_command -cifti-pairwise-correlation
<cifti-a> - first input cifti file
<cifti-b> - second input cifti file
<cifti-out> - output - output cifti file
[-fisher-z] - apply fisher small z transform (ie, artanh) to correlation
[-override-mapping-check] - don't check the mappings for compatibility,
only check length
For each row in <cifti-a>, correlate it with the same row in <cifti-b>,
and put the result in the same row of <cifti-out>, which has only one
column.
-cifti-palette
SET PALETTE ON A CIFTI FILE
wb_command -cifti-palette
<cifti-in> - the cifti input
<mode> - the mapping mode
<cifti-out> - output - the output cifti file
[-column] - select a single column for scalar maps
<column> - the column number or name
[-pos-percent] - percentage min/max for positive data coloring
<pos-min-%> - the percentile for the least positive data
<pos-max-%> - the percentile for the most positive data
[-neg-percent] - percentage min/max for negative data coloring
<neg-min-%> - the percentile for the least negative data
<neg-max-%> - the percentile for the most negative data
[-pos-user] - user min/max values for positive data coloring
<pos-min-user> - the value for the least positive data
<pos-max-user> - the value for the most positive data
[-neg-user] - user min/max values for negative data coloring
<neg-min-user> - the value for the least negative data
<neg-max-user> - the value for the most negative data
[-interpolate] - interpolate colors
<interpolate> - boolean, whether to interpolate
[-disp-pos] - display positive data
<display> - boolean, whether to display
[-disp-neg] - display positive data
<display> - boolean, whether to display
[-disp-zero] - display data closer to zero than the min cutoff
<display> - boolean, whether to display
[-palette-name] - set the palette used
<name> - the name of the palette
[-thresholding] - set the thresholding
<type> - thresholding setting
<test> - show values inside or outside thresholds
<min> - lower threshold
<max> - upper threshold
[-inversion] - specify palette inversion
<type> - the type of inversion
[-normalization] - specify normalization mode (NOTE: this is always a
file-wide setting, NOT per-map)
<type> - the normalization mode
NOTE: The output file must be a different file than the input file.
For scalar maps, by default the palette is changed for every map, specify
-column to change only one map. Palette settings not specified will be
taken from the first column for scalar maps, and from the existing file
palette for other mapping types. The <mode> argument must be one of the
following:
MODE_AUTO_SCALE
MODE_AUTO_SCALE_ABSOLUTE_PERCENTAGE
MODE_AUTO_SCALE_PERCENTAGE
MODE_USER_SCALE
The <name> argument to -palette-name must be one of the following:
ROY-BIG-BL
videen_style
Gray_Interp_Positive
Gray_Interp
PSYCH-FIXED
RBGYR20
RBGYR20P
RYGBR4_positive
RGRBR_mirror90_pos
Orange-Yellow
POS_NEG_ZERO
red-yellow
blue-lightblue
FSL
power_surf
black-red
black-green
black-blue
black-red-positive
black-green-positive
black-blue-positive
blue-black-green
blue-black-red
red-black-green
fsl_red
fsl_green
fsl_blue
fsl_yellow
RedWhiteBlue
cool-warm
spectral
RY-BC-BL
magma
JET256
PSYCH
PSYCH-NO-NONE
ROY-BIG
clear_brain
fidl
raich4_clrmid
raich6_clrmid
HSB8_clrmid
POS_NEG
Special-RGB-Volume
The <type> argument to -thresholding must be one of the following:
THRESHOLD_TYPE_OFF
THRESHOLD_TYPE_NORMAL
THRESHOLD_TYPE_FILE
The <test> argument to -thresholding must be one of the following:
THRESHOLD_TEST_SHOW_OUTSIDE
THRESHOLD_TEST_SHOW_INSIDE
The <type> argument to -inversion must be one of the following:
OFF
POSITIVE_WITH_NEGATIVE
POSITIVE_NEGATIVE_SEPARATE
The <type> argument to -normalization must be one of the following:
NORMALIZATION_ALL_MAP_DATA
NORMALIZATION_SELECTED_MAP_DATA
-cifti-parcel-mapping-to-label
CREATE DLABEL FROM PARCELLATED FILE
wb_command -cifti-parcel-mapping-to-label
<cifti-in> - the input parcellated file
<direction> - which dimension to take the parcel map from, ROW or COLUMN
<template-cifti> - a cifti file with the desired dense mapping along
column
<dlabel-out> - output - the output dense label file
This command will output a dlabel file, useful for doing the same
parcellation to another dense file.
For ptseries, pscalar, plabel, pconn, and pdconn, using COLUMN for
<direction> will work.
-cifti-parcellate
PARCELLATE A CIFTI FILE
wb_command -cifti-parcellate
<cifti-in> - the cifti file to parcellate
<cifti-label> - a cifti label file to use for the parcellation
<direction> - which mapping to parcellate (integer, ROW, or COLUMN)
<cifti-out> - output - output cifti file
[-spatial-weights] - use voxel volume and either vertex areas or metric
files as weights
[-left-area-surf] - use a surface for left vertex areas
<left-surf> - the left surface to use, areas are in mm^2
[-right-area-surf] - use a surface for right vertex areas
<right-surf> - the right surface to use, areas are in mm^2
[-cerebellum-area-surf] - use a surface for cerebellum vertex areas
<cerebellum-surf> - the cerebellum surface to use, areas are in
mm^2
[-left-area-metric] - use a metric file for left vertex weights
<left-metric> - metric file containing left vertex weights
[-right-area-metric] - use a metric file for right vertex weights
<right-metric> - metric file containing right vertex weights
[-cerebellum-area-metric] - use a metric file for cerebellum vertex
weights
<cerebellum-metric> - metric file containing cerebellum vertex
weights
[-cifti-weights] - use a cifti file containing weights
<weight-cifti> - the weights to use, as a cifti file
[-method] - specify method of parcellation (default MEAN, or MODE if
label data)
<method> - the method to use to assign parcel values from the values
of member brainordinates
[-exclude-outliers] - exclude non-numeric values and outliers from each
parcel by standard deviation
<sigma-below> - number of standard deviations below the mean to
include
<sigma-above> - number of standard deviations above the mean to
include
[-only-numeric] - exclude non-numeric values
[-fill-value] - specify value to use in empty parcels (default 0)
<value> - the value to fill empty parcels with
[-nonempty-mask-out] - output a matching pscalar file that has 0s in
empty parcels, and 1s elsewhere
<mask-out> - output - the output mask file
[-legacy-mode] - use the old behavior, parcels are defined by the
intersection between labels and valid data, and empty parcels are
discarded
[-include-empty] - deprecated: now the default behavior
Each label (other than the unlabeled key) in the cifti label file will be
treated as a parcel, and all rows or columns of data within the parcel
are averaged together to form the parcel's output row or column. If
-legacy-mode is specified, parcels will be defined as the overlap between
a label and the data, with no errors for missing data vertices or voxels,
and empty parcels discarded. The direction can be either an integer
starting from 1, or the strings 'ROW' or 'COLUMN'. For dtseries or
dscalar, use COLUMN. If you are parcellating a dconn in both directions,
parcellating by ROW first will use much less memory.
NOTE: the parcels in the output file are sorted by the numeric label
keys, in ascending order.
The parameter to the -method option must be one of the following:
MAX: the maximum value
MIN: the minimum value
INDEXMAX: the 1-based index of the maximum value
INDEXMIN: the 1-based index of the minimum value
SUM: add all values
PRODUCT: multiply all values
MEAN: the mean of the data
STDEV: the standard deviation (N denominator)
SAMPSTDEV: the sample standard deviation (N-1 denominator)
VARIANCE: the variance of the data
TSNR: mean divided by sample standard deviation (N-1 denominator)
COV: sample standard deviation (N-1 denominator) divided by mean
L2NORM: square root of sum of squares
MEDIAN: the median of the data
MODE: the mode of the data
COUNT_NONZERO: the number of nonzero elements in the data
The -*-weights options are mutually exclusive and may only be used with
MEAN (default), SUM, STDEV, SAMPSTDEV, VARIANCE, MEDIAN, or MODE (default
for label data).
-cifti-reduce
PERFORM REDUCTION OPERATION ON A CIFTI FILE
wb_command -cifti-reduce
<cifti-in> - the cifti file to reduce
<operation> - the reduction operator to use
<cifti-out> - output - the output cifti file
[-direction] - specify what direction to reduce along
<direction> - the direction (default ROW)
[-exclude-outliers] - exclude non-numeric values and outliers by standard
deviation
<sigma-below> - number of standard deviations below the mean to
include
<sigma-above> - number of standard deviations above the mean to
include
[-only-numeric] - exclude non-numeric values
For the specified direction (default ROW), perform a reduction operation
along that direction. The direction can be either an integer starting
from 1, or the strings 'ROW' or 'COLUMN'. The reduction operators are as
follows:
MAX: the maximum value
MIN: the minimum value
INDEXMAX: the 1-based index of the maximum value
INDEXMIN: the 1-based index of the minimum value
SUM: add all values
PRODUCT: multiply all values
MEAN: the mean of the data
STDEV: the standard deviation (N denominator)
SAMPSTDEV: the sample standard deviation (N-1 denominator)
VARIANCE: the variance of the data
TSNR: mean divided by sample standard deviation (N-1 denominator)
COV: sample standard deviation (N-1 denominator) divided by mean
L2NORM: square root of sum of squares
MEDIAN: the median of the data
MODE: the mode of the data
COUNT_NONZERO: the number of nonzero elements in the data
-cifti-reorder
REORDER THE PARCELS OR SCALAR/LABEL MAPS IN A CIFTI FILE
wb_command -cifti-reorder
<cifti-in> - input cifti file
<direction> - which dimension to reorder along, ROW or COLUMN
<reorder-list> - a text file containing the desired order transformation
<cifti-out> - output - the reordered cifti file
The mapping along the specified direction must be parcels, scalars, or
labels. For pscalar or ptseries, use COLUMN to reorder the parcels. For
dlabel, use ROW. The <reorder-list> file must contain 1-based indices
separated by whitespace (spaces, newlines, tabs, etc), with as many
indices as <cifti-in> has along the specified dimension. These indices
specify which current index should end up in that position, for instance,
if the current order is 'A B C D', and the desired order is 'D A B C',
the text file should contain '4 1 2 3'.
-cifti-replace-structure
REPLACE DATA IN A STRUCTURE IN A CIFTI FILE
wb_command -cifti-replace-structure
<cifti> - the cifti to modify
<direction> - which dimension to interpret as a single map, ROW or COLUMN
[-volume-all] - replace the data in all volume components
<volume> - the input volume
[-from-cropped] - the input is cropped to the size of the data
[-discard-unused-labels] - when operating on a dlabel file, drop any
unused label keys from the label table
[-label-collision] - how to handle conflicts between label keys
<action> - 'ERROR', 'LEFT_SURFACE_FIRST', or 'LEGACY', default
'ERROR', use 'LEGACY' to match v1.4.2 and earlier
[-label] - repeatable - replace the data in a surface label component
<structure> - the structure to replace the data of
<label> - the input label file
[-metric] - repeatable - replace the data in a surface component
<structure> - the structure to replace the data of
<metric> - the input metric
[-volume] - repeatable - replace the data in a volume component
<structure> - the structure to replace the data of
<volume> - the input volume
[-from-cropped] - the input is cropped to the size of the component
This is a fairly low-level command, you probably want to use
-cifti-create-dense-from-template instead.
You must specify at least one of -metric, -label, -volume, or -volume-all
for this command to do anything. Input volumes must line up with the
output of -cifti-separate. For dtseries/dscalar, use COLUMN, and if your
dconn matrix will be fully symmetric, COLUMN is more efficient. The
-volume-all option must not be specified when using a -volume option. A
-metric option must not be specified when using a -label option, and is
not recommended on a label-type cifti file. For each <structure>
argument, use one of the following strings:
CORTEX_LEFT
CORTEX_RIGHT
CEREBELLUM
ACCUMBENS_LEFT
ACCUMBENS_RIGHT
ALL_GREY_MATTER
ALL_WHITE_MATTER
AMYGDALA_LEFT
AMYGDALA_RIGHT
BRAIN_STEM
CAUDATE_LEFT
CAUDATE_RIGHT
CEREBELLAR_WHITE_MATTER_LEFT
CEREBELLAR_WHITE_MATTER_RIGHT
CEREBELLUM_LEFT
CEREBELLUM_RIGHT
CEREBRAL_WHITE_MATTER_LEFT
CEREBRAL_WHITE_MATTER_RIGHT
CORTEX
DIENCEPHALON_VENTRAL_LEFT
DIENCEPHALON_VENTRAL_RIGHT
HIPPOCAMPUS_LEFT
HIPPOCAMPUS_RIGHT
HIPPOCAMPUS_DENTATE_LEFT
HIPPOCAMPUS_DENTATE_RIGHT
INVALID
OTHER
OTHER_GREY_MATTER
OTHER_WHITE_MATTER
PALLIDUM_LEFT
PALLIDUM_RIGHT
PUTAMEN_LEFT
PUTAMEN_RIGHT
THALAMUS_LEFT
THALAMUS_RIGHT
-cifti-resample
RESAMPLE A CIFTI FILE TO A NEW CIFTI SPACE
wb_command -cifti-resample
<cifti-in> - the cifti file to resample
<direction> - the direction of the input that should be resampled, ROW or
COLUMN
<cifti-template> - a cifti file containing the cifti space to resample to
<template-direction> - the direction of the template to use as the
resampling space, ROW or COLUMN
<surface-method> - specify a surface resampling method
<volume-method> - specify a volume interpolation method
<cifti-out> - output - the output cifti file
[-surface-largest] - use largest weight instead of weighted average or
popularity when doing surface resampling
[-volume-predilate] - dilate the volume components before resampling
<dilate-mm> - distance, in mm, to dilate
[-nearest] - use nearest value dilation
[-weighted] - use weighted dilation (default)
[-exponent] - specify exponent in weighting function
<exponent> - exponent 'n' to use in (1 / (distance ^ n)) as the
weighting function (default 7)
[-legacy-cutoff] - use v1.3.2 logic for the kernel cutoff
[-surface-postdilate] - dilate the surface components after resampling
<dilate-mm> - distance, in mm, to dilate
[-nearest] - use nearest value dilation
[-linear] - use linear dilation
[-weighted] - use weighted dilation (default for non-label data)
[-exponent] - specify exponent in weighting function
<exponent> - exponent 'n' to use in (area / (distance ^ n)) as
the weighting function (default 6)
[-legacy-cutoff] - use v1.3.2 logic for the kernel cutoff
[-affine] - use an affine transformation on the volume components
<affine-file> - the affine file to use
[-flirt] - MUST be used if affine is a flirt affine
<source-volume> - the source volume used when generating the affine
<target-volume> - the target volume used when generating the affine
[-warpfield] - use a warpfield on the volume components
<warpfield> - the warpfield to use
[-fnirt] - MUST be used if using a fnirt warpfield
<source-volume> - the source volume used when generating the
warpfield
[-left-spheres] - specify spheres for left surface resampling
<current-sphere> - a sphere with the same mesh as the current left
surface
<new-sphere> - a sphere with the new left mesh that is in register
with the current sphere
[-left-area-surfs] - specify left surfaces to do vertex area
correction based on
<current-area> - a relevant left anatomical surface with current
mesh
<new-area> - a relevant left anatomical surface with new mesh
[-left-area-metrics] - specify left vertex area metrics to do area
correction based on
<current-area> - a metric file with vertex areas for the current
mesh
<new-area> - a metric file with vertex areas for the new mesh
[-right-spheres] - specify spheres for right surface resampling
<current-sphere> - a sphere with the same mesh as the current right
surface
<new-sphere> - a sphere with the new right mesh that is in register
with the current sphere
[-right-area-surfs] - specify right surfaces to do vertex area
correction based on
<current-area> - a relevant right anatomical surface with current
mesh
<new-area> - a relevant right anatomical surface with new mesh
[-right-area-metrics] - specify right vertex area metrics to do area
correction based on
<current-area> - a metric file with vertex areas for the current
mesh
<new-area> - a metric file with vertex areas for the new mesh
[-cerebellum-spheres] - specify spheres for cerebellum surface resampling
<current-sphere> - a sphere with the same mesh as the current
cerebellum surface
<new-sphere> - a sphere with the new cerebellum mesh that is in
register with the current sphere
[-cerebellum-area-surfs] - specify cerebellum surfaces to do vertex
area correction based on
<current-area> - a relevant cerebellum anatomical surface with
current mesh
<new-area> - a relevant cerebellum anatomical surface with new mesh
[-cerebellum-area-metrics] - specify cerebellum vertex area metrics to
do area correction based on
<current-area> - a metric file with vertex areas for the current
mesh
<new-area> - a metric file with vertex areas for the new mesh
Resample cifti data to a different brainordinate space. Use COLUMN for
the direction to resample dscalar, dlabel, or dtseries. Resampling both
dimensions of a dconn requires running this command twice, once with
COLUMN and once with ROW. If you are resampling a dconn and your machine
has a large amount of memory, you might consider using
-cifti-resample-dconn-memory to avoid writing and rereading an
intermediate file. The <template-direction> argument should usually be
COLUMN, as dtseries, dscalar, and dlabel all have brainordinates on that
direction. If spheres are not specified for a surface structure which
exists in the cifti files, its data is copied without resampling or
dilation. Dilation is done with the 'nearest' method, and is done on
<new-sphere> for surface data. Volume components are padded before
dilation so that dilation doesn't run into the edge of the component
bounding box. If neither -affine nor -warpfield are specified, the
identity transform is assumed for the volume data.
The recommended resampling methods are ADAP_BARY_AREA and CUBIC (cubic
spline), except for label data which should use ADAP_BARY_AREA and
ENCLOSING_VOXEL. Using ADAP_BARY_AREA requires specifying an area option
to each used -*-spheres option.
The <volume-method> argument must be one of the following:
CUBIC
ENCLOSING_VOXEL
TRILINEAR
The <surface-method> argument must be one of the following:
ADAP_BARY_AREA
BARYCENTRIC
-cifti-resample-dconn-memory
USE LOTS OF MEMORY TO RESAMPLE DCONN
wb_command -cifti-resample-dconn-memory
<cifti-in> - the cifti file to resample
<cifti-template> - a cifti file containing the cifti space to resample to
<template-direction> - the direction of the template to use as the
resampling space, ROW or COLUMN
<surface-method> - specify a surface resampling method
<volume-method> - specify a volume interpolation method
<cifti-out> - output - the output cifti file
[-surface-largest] - use largest weight instead of weighted average when
doing surface resampling
[-volume-predilate] - dilate the volume components before resampling
<dilate-mm> - distance, in mm, to dilate
[-nearest] - use nearest value dilation
[-weighted] - use weighted dilation (default)
[-exponent] - specify exponent in weighting function
<exponent> - exponent 'n' to use in (1 / (distance ^ n)) as the
weighting function (default 7)
[-legacy-cutoff] - use v1.3.2 logic for the kernel cutoff
[-surface-postdilate] - dilate the surface components after resampling
<dilate-mm> - distance, in mm, to dilate
[-nearest] - use nearest value dilation
[-linear] - use linear dilation
[-weighted] - use weighted dilation (default)
[-exponent] - specify exponent in weighting function
<exponent> - exponent 'n' to use in (area / (distance ^ n)) as
the weighting function (default 6)
[-legacy-cutoff] - use v1.3.2 logic for the kernel cutoff
[-affine] - use an affine transformation on the volume components
<affine-file> - the affine file to use
[-flirt] - MUST be used if affine is a flirt affine
<source-volume> - the source volume used when generating the affine
<target-volume> - the target volume used when generating the affine
[-warpfield] - use a warpfield on the volume components
<warpfield> - the warpfield to use
[-fnirt] - MUST be used if using a fnirt warpfield
<source-volume> - the source volume used when generating the
warpfield
[-left-spheres] - specify spheres for left surface resampling
<current-sphere> - a sphere with the same mesh as the current left
surface
<new-sphere> - a sphere with the new left mesh that is in register
with the current sphere
[-left-area-surfs] - specify left surfaces to do vertex area
correction based on
<current-area> - a relevant left anatomical surface with current
mesh
<new-area> - a relevant left anatomical surface with new mesh
[-left-area-metrics] - specify left vertex area metrics to do area
correction based on
<current-area> - a metric file with vertex areas for the current
mesh
<new-area> - a metric file with vertex areas for the new mesh
[-right-spheres] - specify spheres for right surface resampling
<current-sphere> - a sphere with the same mesh as the current right
surface
<new-sphere> - a sphere with the new right mesh that is in register
with the current sphere
[-right-area-surfs] - specify right surfaces to do vertex area
correction based on
<current-area> - a relevant right anatomical surface with current
mesh
<new-area> - a relevant right anatomical surface with new mesh
[-right-area-metrics] - specify right vertex area metrics to do area
correction based on
<current-area> - a metric file with vertex areas for the current
mesh
<new-area> - a metric file with vertex areas for the new mesh
[-cerebellum-spheres] - specify spheres for cerebellum surface resampling
<current-sphere> - a sphere with the same mesh as the current
cerebellum surface
<new-sphere> - a sphere with the new cerebellum mesh that is in
register with the current sphere
[-cerebellum-area-surfs] - specify cerebellum surfaces to do vertex
area correction based on
<current-area> - a relevant cerebellum anatomical surface with
current mesh
<new-area> - a relevant cerebellum anatomical surface with new mesh
[-cerebellum-area-metrics] - specify cerebellum vertex area metrics to
do area correction based on
<current-area> - a metric file with vertex areas for the current
mesh
<new-area> - a metric file with vertex areas for the new mesh
This command does the same thing as running -cifti-resample twice, but
uses memory up to approximately 2x the size that the intermediate file
would be. This is because the intermediate dconn is kept in memory,
rather than written to disk, and the components before and after
resampling/dilation have to be in memory at the same time during the
relevant computation. The <template-direction> argument should usually
be COLUMN, as dtseries, dscalar, and dlabel all have brainordinates on
that direction. If spheres are not specified for a surface structure
which exists in the cifti files, its data is copied without resampling or
dilation. Dilation is done with the 'nearest' method, and is done on
<new-sphere> for surface data. Volume components are padded before
dilation so that dilation doesn't run into the edge of the component
bounding box.
To get the v1.3.2 and earlier behavior of weighted dilation, specify
exponent of 2 for surface and volume, and -legacy-cutoff for both surface
and volume.
The <volume-method> argument must be one of the following:
CUBIC
ENCLOSING_VOXEL
TRILINEAR
The <surface-method> argument must be one of the following:
ADAP_BARY_AREA
BARYCENTRIC
-cifti-restrict-dense-map
EXCLUDE BRAINORDINATES FROM A CIFTI FILE
wb_command -cifti-restrict-dense-map
<cifti-in> - the input cifti
<direction> - which dimension to change the mapping on (integer, 'ROW',
or 'COLUMN')
<cifti-out> - output - the output cifti
[-cifti-roi] - cifti file containing combined rois
<roi-cifti> - the rois as a cifti file
[-left-roi] - vertices to use from left hemisphere
<roi-metric> - the left roi as a metric file
[-right-roi] - vertices to use from right hemisphere
<roi-metric> - the right roi as a metric file
[-cerebellum-roi] - vertices to use from cerebellum
<roi-metric> - the cerebellum roi as a metric file
[-vol-roi] - voxels to use
<roi-vol> - the roi volume file
Writes a modified version of <cifti-in>, where all brainordinates outside
the specified roi(s) are removed from the file. The direction can be
either an integer starting from 1, or the strings 'ROW' or 'COLUMN'. If
-cifti-roi is specified, no other -*-roi option may be specified. If not
using -cifti-roi, any -*-roi options not present will discard the
relevant structure, if present in the input file.
-cifti-roi-average
AVERAGE ROWS IN A SINGLE CIFTI FILE
wb_command -cifti-roi-average
<cifti-in> - the cifti file to average rows from
<text-out> - output text file of the average values
[-cifti-roi] - cifti file containing combined rois
<roi-cifti> - the rois as a cifti file
[-left-roi] - vertices to use from left hemisphere
<roi-metric> - the left roi as a metric file
[-right-roi] - vertices to use from right hemisphere
<roi-metric> - the right roi as a metric file
[-cerebellum-roi] - vertices to use from cerebellum
<roi-metric> - the cerebellum roi as a metric file
[-vol-roi] - voxels to use
<roi-vol> - the roi volume file
Average the rows that are within the specified ROIs, and write the
resulting average row to a text file, separated by newlines. If
-cifti-roi is specified, -left-roi, -right-roi, -cerebellum-roi, and
-vol-roi must not be specified.
-cifti-rois-from-extrema
CREATE CIFTI ROI MAPS FROM EXTREMA MAPS
wb_command -cifti-rois-from-extrema
<cifti> - the input cifti
<surf-limit> - geodesic distance limit from vertex, in mm
<vol-limit> - euclidean distance limit from voxel center, in mm
<direction> - which dimension an extrema map is along, ROW or COLUMN
<cifti-out> - output - the output cifti
[-left-surface] - specify the left surface to use
<surface> - the left surface file
[-right-surface] - specify the right surface to use
<surface> - the right surface file
[-cerebellum-surface] - specify the cerebellum surface to use
<surface> - the cerebellum surface file
[-gaussian] - generate gaussian kernels instead of flat ROIs
<surf-sigma> - the sigma for the surface gaussian kernel, in mm
<vol-sigma> - the sigma for the volume gaussian kernel, in mm
[-overlap-logic] - how to handle overlapping ROIs, default ALLOW
<method> - the method of resolving overlaps
[-merged-volume] - treat volume components as if they were a single
component
For each nonzero value in each map, make a map with an ROI around that
location. If the -gaussian option is specified, then normalized gaussian
kernels are output instead of ROIs. The <method> argument to
-overlap-logic must be one of ALLOW, CLOSEST, or EXCLUDE. ALLOW is the
default, and means that ROIs are treated independently and may overlap.
CLOSEST means that ROIs may not overlap, and that no ROI contains
vertices that are closer to a different seed vertex. EXCLUDE means that
ROIs may not overlap, and that any vertex within range of more than one
ROI does not belong to any ROI.
-cifti-separate
WRITE A CIFTI STRUCTURE AS METRIC, LABEL OR VOLUME
wb_command -cifti-separate
<cifti-in> - the cifti to separate a component of
<direction> - which direction to separate into components, ROW or COLUMN
[-volume-all] - separate all volume structures into a volume file
<volume-out> - output - the output volume
[-roi] - also output the roi of which voxels have data
<roi-out> - output - the roi output volume
[-label] - output a volume label file indicating the location of
structures
<label-out> - output - the label output volume
[-crop] - crop volume to the size of the data rather than using the
original volume size
[-label] - repeatable - separate a surface model into a surface label
file
<structure> - the structure to output
<label-out> - output - the output label file
[-roi] - also output the roi of which vertices have data
<roi-out> - output - the roi output metric
[-metric] - repeatable - separate a surface model into a metric file
<structure> - the structure to output
<metric-out> - output - the output metric
[-roi] - also output the roi of which vertices have data
<roi-out> - output - the roi output metric
[-volume] - repeatable - separate a volume structure into a volume file
<structure> - the structure to output
<volume-out> - output - the output volume
[-roi] - also output the roi of which voxels have data
<roi-out> - output - the roi output volume
[-crop] - crop volume to the size of the component rather than using
the original volume size
For dtseries, dscalar, and dlabel, use COLUMN for <direction>, and if you
have a symmetric dconn, COLUMN is more efficient.
You must specify at least one of -metric, -volume-all, -volume, or -label
for this command to do anything. Output volumes will spatially line up
with their original positions, whether or not they are cropped. Volume
files produced by separating a dlabel file, or from the -label suboption
of -volume-all, will be label volumes, see -volume-help.
For each <structure> argument, use one of the following strings:
CORTEX_LEFT
CORTEX_RIGHT
CEREBELLUM
ACCUMBENS_LEFT
ACCUMBENS_RIGHT
ALL_GREY_MATTER
ALL_WHITE_MATTER
AMYGDALA_LEFT
AMYGDALA_RIGHT
BRAIN_STEM
CAUDATE_LEFT
CAUDATE_RIGHT
CEREBELLAR_WHITE_MATTER_LEFT
CEREBELLAR_WHITE_MATTER_RIGHT
CEREBELLUM_LEFT
CEREBELLUM_RIGHT
CEREBRAL_WHITE_MATTER_LEFT
CEREBRAL_WHITE_MATTER_RIGHT
CORTEX
DIENCEPHALON_VENTRAL_LEFT
DIENCEPHALON_VENTRAL_RIGHT
HIPPOCAMPUS_LEFT
HIPPOCAMPUS_RIGHT
HIPPOCAMPUS_DENTATE_LEFT
HIPPOCAMPUS_DENTATE_RIGHT
INVALID
OTHER
OTHER_GREY_MATTER
OTHER_WHITE_MATTER
PALLIDUM_LEFT
PALLIDUM_RIGHT
PUTAMEN_LEFT
PUTAMEN_RIGHT
THALAMUS_LEFT
THALAMUS_RIGHT
-cifti-smoothing
SMOOTH A CIFTI FILE
wb_command -cifti-smoothing
<cifti> - the input cifti
<surface-kernel> - the size of the gaussian surface smoothing kernel in
mm, as sigma by default
<volume-kernel> - the size of the gaussian volume smoothing kernel in mm,
as sigma by default
<direction> - which dimension to smooth along, ROW or COLUMN
<cifti-out> - output - the output cifti
[-fwhm] - kernel sizes are FWHM, not sigma
[-left-surface] - specify the left cortical surface to use
<surface> - the left surface file
[-left-corrected-areas] - vertex areas to use instead of computing
them from the left surface
<area-metric> - the corrected vertex areas, as a metric
[-right-surface] - specify the right cortical surface to use
<surface> - the right surface file
[-right-corrected-areas] - vertex areas to use instead of computing
them from the right surface
<area-metric> - the corrected vertex areas, as a metric
[-cerebellum-surface] - specify the cerebellum surface to use
<surface> - the cerebellum surface file
[-cerebellum-corrected-areas] - vertex areas to use instead of
computing them from the cerebellum surface
<area-metric> - the corrected vertex areas, as a metric
[-cifti-roi] - smooth only within regions of interest
<roi-cifti> - the regions to smooth within, as a cifti file
[-fix-zeros-volume] - treat values of zero in the volume as missing data
[-fix-zeros-surface] - treat values of zero on the surface as missing
data
[-merged-volume] - smooth across subcortical structure boundaries
[-surface] - repeatable - specify a surface by structure name
<structure> - the surface structure name
<surface> - the surface file
[-corrected-areas] - vertex areas to use instead of computing them
from the surface
<area-metric> - the corrected vertex areas, as a metric
The input cifti file must have a brain models mapping on the chosen
dimension, columns for .dtseries, and either for .dconn. By default,
data in different structures is smoothed independently (i.e., "parcel
constrained" smoothing), so volume structures that touch do not smooth
across this boundary. Specify -merged-volume to ignore these boundaries.
Surface smoothing uses the GEO_GAUSS_AREA smoothing method.
The -*-corrected-areas options are intended for when it is unavoidable to
smooth on group average surfaces, it is only an approximate correction
for the reduction of structure in a group average surface. It is better
to smooth the data on individuals before averaging, when feasible.
The -fix-zeros-* options will treat values of zero as lack of data, and
not use that value when generating the smoothed values, but will fill
zeros with extrapolated values. The ROI should have a brain models
mapping along columns, exactly matching the mapping of the chosen
direction in the input file. Data outside the ROI is ignored.
The <structure> argument of -surface must be one of the following
strings:
CORTEX_LEFT
CORTEX_RIGHT
CEREBELLUM
ACCUMBENS_LEFT
ACCUMBENS_RIGHT
ALL_GREY_MATTER
ALL_WHITE_MATTER
AMYGDALA_LEFT
AMYGDALA_RIGHT
BRAIN_STEM
CAUDATE_LEFT
CAUDATE_RIGHT
CEREBELLAR_WHITE_MATTER_LEFT
CEREBELLAR_WHITE_MATTER_RIGHT
CEREBELLUM_LEFT
CEREBELLUM_RIGHT
CEREBRAL_WHITE_MATTER_LEFT
CEREBRAL_WHITE_MATTER_RIGHT
CORTEX
DIENCEPHALON_VENTRAL_LEFT
DIENCEPHALON_VENTRAL_RIGHT
HIPPOCAMPUS_LEFT
HIPPOCAMPUS_RIGHT
HIPPOCAMPUS_DENTATE_LEFT
HIPPOCAMPUS_DENTATE_RIGHT
INVALID
OTHER
OTHER_GREY_MATTER
OTHER_WHITE_MATTER
PALLIDUM_LEFT
PALLIDUM_RIGHT
PUTAMEN_LEFT
PUTAMEN_RIGHT
THALAMUS_LEFT
THALAMUS_RIGHT
-cifti-stats
STATISTICS ALONG CIFTI COLUMNS
wb_command -cifti-stats
<cifti-in> - the input cifti
[-reduce] - use a reduction operation
<operation> - the reduction operation
[-percentile] - give the value at a percentile
<percent> - the percentile to find, must be between 0 and 100
[-column] - only display output for one column
<column> - the column index (starting from 1)
[-roi] - only consider data inside an roi
<roi-cifti> - the roi, as a cifti file
[-match-maps] - each column of input uses the corresponding column
from the roi file
[-show-map-name] - print column index and name before each output
For each column of the input, a line of text is printed, resulting from
the specified reduction or percentile operation. If -roi is specified
without -match-maps, then each line will contain as many numbers as there
are maps in the ROI file, separated by tab characters. Use -column to
only give output for a single data column. Exactly one of -reduce or
-percentile must be specified.
The argument to the -reduce option must be one of the following:
MAX: the maximum value
MIN: the minimum value
INDEXMAX: the 1-based index of the maximum value
INDEXMIN: the 1-based index of the minimum value
SUM: add all values
PRODUCT: multiply all values
MEAN: the mean of the data
STDEV: the standard deviation (N denominator)
SAMPSTDEV: the sample standard deviation (N-1 denominator)
VARIANCE: the variance of the data
TSNR: mean divided by sample standard deviation (N-1 denominator)
COV: sample standard deviation (N-1 denominator) divided by mean
L2NORM: square root of sum of squares
MEDIAN: the median of the data
MODE: the mode of the data
COUNT_NONZERO: the number of nonzero elements in the data
-cifti-transpose
TRANSPOSE A CIFTI FILE
wb_command -cifti-transpose
<cifti-in> - the input cifti file
<cifti-out> - output - the output cifti file
[-mem-limit] - restrict memory usage
<limit-GB> - memory limit in gigabytes
The input must be a 2-dimensional cifti file. The output is a cifti file
where every row in the input is a column in the output.
-cifti-vector-operation
DO A VECTOR OPERATION ON CIFTI FILES
wb_command -cifti-vector-operation
<vectors-a> - first vector input file
<vectors-b> - second vector input file
<operation> - what vector operation to do
<cifti-out> - output - the output file
[-normalize-a] - normalize vectors of first input
[-normalize-b] - normalize vectors of second input
[-normalize-output] - normalize output vectors (not valid for dot
product)
[-magnitude] - output the magnitude of the result (not valid for dot
product)
Does a vector operation on two cifti files (that must have a multiple of
3 columns). Either of the inputs may have multiple vectors (more than 3
columns), but not both (at least one must have exactly 3 columns). The
-magnitude and -normalize-output options may not be specified together,
or with an operation that returns a scalar (dot product). The
<operation> parameter must be one of the following:
DOT
CROSS
ADD
SUBTRACT
-cifti-weighted-stats
WEIGHTED STATISTICS ALONG CIFTI COLUMNS
wb_command -cifti-weighted-stats
<cifti-in> - the input cifti
[-spatial-weights] - use vertex area and voxel volume as weights
[-left-area-surf] - use a surface for left vertex areas
<left-surf> - the left surface to use, areas are in mm^2
[-right-area-surf] - use a surface for right vertex areas
<right-surf> - the right surface to use, areas are in mm^2
[-cerebellum-area-surf] - use a surface for cerebellum vertex areas
<cerebellum-surf> - the cerebellum surface to use, areas are in
mm^2
[-left-area-metric] - use a metric file for left vertex areas
<left-metric> - metric file containing left vertex areas
[-right-area-metric] - use a metric file for right vertex areas
<right-metric> - metric file containing right vertex areas
[-cerebellum-area-metric] - use a metric file for cerebellum vertex
areas
<cerebellum-metric> - metric file containing cerebellum vertex
areas
[-cifti-weights] - use a cifti file containing weights
<weight-cifti> - the weights to use, as a cifti file
[-column] - only display output for one column
<column> - the column to use (1-based)
[-roi] - only consider data inside an roi
<roi-cifti> - the roi, as a cifti file
[-match-maps] - each column of input uses the corresponding column
from the roi file
[-mean] - compute weighted mean
[-stdev] - compute weighted standard deviation
[-sample] - estimate population stdev from the sample
[-percentile] - compute weighted percentile
<percent> - the percentile to find, must be between 0 and 100
[-sum] - compute weighted sum
[-show-map-name] - print map index and name before each output
If the mapping along column is brain models, for each column of the
input, the specified operation is done on each surface and across all
voxels, and the results are printed on separate lines. For other mapping
types, the operation is done on each column, and one line per map is
printed. Exactly one of -spatial-weights or -cifti-weights must be
specified. Use -column to only give output for a single column. If the
-roi option is used without -match-maps, then each line will contain as
many numbers as there are maps in the ROI file, separated by tab
characters. Exactly one of -mean, -stdev, -percentile or -sum must be
specified.
Using -sum with -spatial-weights (or with -cifti-weights and a cifti
containing weights of similar meaning) is equivalent to integrating with
respect to area and volume. When the input is binary ROIs, this will
therefore output the area or volume of each ROI.
-class-add-member
Add members to class header (.h) and implementation (.cxx) files.
Usage: <class-name>
[-add-to-files]
[-m <member-name> <data-type> <description>]...
If the -add-to-files is not specified, the code for the
header and implementation files is printed to the
terminal.
If the -add-to-files is specified, the class files are
expected to be in the current directory and named
<class-name>.h and <class-name>.cxx. The header
file must contain this text in its private section:
// ADD_NEW_MEMBERS_HERE
The implementation file must contain this text in
its public section:
// ADD_NEW_METHODS_HERE
If either of these text string are missing, the code
that would have been added to the file(s) is printed
to the terminal.
For each member, three text strings separated by a space
must be provided and they are the name of the member
its data type, and a description of the member. If the
description contains spaces the description must be
enclosed in double quotes ("").
If the data type begins with a capital letter, it is
assumed to be the name of a class. In this case, both
const and non-const getters are created but not setter
is created. Otherwise, the data type is expected to be
a primitive type and both a getter and a setter are
created. Note that AString and QString are treated as
primitive types.
-class-create
Create class header (.h) and implementation (.cxx) files.
Usage: <class-name>
[-copy]
[-equal]
[-event-class <event-type-enum>]
[-event-listener]
[-no-parent]
[-parent <parent-class-name>]
[-scene]
[-scene-sub-class]
Options:
-copy
Adds copy constructor and assignment operator
-equal
Adds equality operator.
-event-class <event-type-enum>
When creating an Event subclass, using this
option will automatically set the parent
class to Event and place the given event
enumerated type value into the parameter
for the Event class constructor.
For the <event-type-enum> there is no need
to prepend it with "EventTypeEnum::".
-event-listener
Implement the EventListenerInterface so
that the class may listen for events.
-no-parent
Created class is not derived from any other
class. By default, the parent class is
CaretObject.
-parent <parent-class-name>
Specify the parent (derived from) class.
By default, the parent class is CaretObject.
-scene
Implement the SceneableInterface so that
instances of the class can be restored from
and saved to scenes.
-scene-sub-class
Adds methods that can be called by the super-
class so that this sub-class can save and
restore data to and from scenes.
This option should only be used when creating
a class whose super class implements the
SceneableInterface
-class-create-algorithm
Create Algorithm Class header (.h) and implementation (.cxx) files.
Usage: <algorithm-class-name>
<command-line-switch>
<short-description>
algorithm-class-name
Required name of the algorithm class that MUST start with "Algorithm"
command-line-switch
Required command line switch for algorithm.
short-description
Required short description within double quotes.
-class-create-enum
Create enumerated type header (.h) and implementation (.cxx) files.
Usage: <enum-class-name>
<number-of-values>
<auto-number>
[-description <text description of enum>]
enum-class-name
Name of the enumerated type. Must end in "Enum"
number-of-values
Number of values in the enumerated type.
auto-number
Automatically generated integer codes corresponding
to the enumerated values. Value for this parameter
are "true" and "false".
[enum-name-1] [enum-name-2]...[enum-name-N]
Optional names for the enumerated values.
If the number of names listed is greater than
the "number-of-values" parameter, the "number-of-values"
will become the number of names. If the number
of names is is less than the "number-of-values",
empty entries will be created.
[-description <text description of enum>]
Optional description of enum's purpose/function for doxygen comment
-class-create-operation
Create Operation Class header (.h) and implementation (.cxx) files.
Usage: <operation-class-name>
<command-line-switch>
<short-description>
[-no-parameters]
operation-class-name
Required name of the operation class that MUST start with "Operation"
command-line-switch
Required command line switch for operation.
short-description
Required short description within double quotes.
-no-parameters
Optional parameter if the operation does not use parameters.
-convert-affine
CONVERT AN AFFINE FILE BETWEEN CONVENTIONS
wb_command -convert-affine
[-from-world] - input is a NIFTI 'world' affine
<input> - the input affine
[-inverse] - for files that use 'target to source' convention
[-from-itk] - input is an ITK matrix
<input> - the input affine
[-from-flirt] - input is a flirt matrix
<input> - the input affine
<source-volume> - the source volume used when generating the input
affine
<target-volume> - the target volume used when generating the input
affine
[-to-world] - write output as a NIFTI 'world' affine
<output> - output - the output affine
[-inverse] - write file using 'target to source' convention
[-to-itk] - write output as an ITK affine
<output> - output - the output affine
[-to-flirt] - repeatable - write output as a flirt matrix
<output> - output - the output affine
<source-volume> - the volume you want to apply the transform to
<target-volume> - the target space you want the transformed volume to
match
NIFTI world matrices can be used directly on mm coordinates via matrix
multiplication, they use the NIFTI coordinate system, that is, positive X
is right, positive Y is anterior, and positive Z is superior. Note that
wb_command assumes that world matrices transform source coordinates to
target coordinates, while other tools may use affines that transform
target coordinates to source coordinates.
The ITK format is used by ANTS.
You must specify exactly one -from option, but you may specify multiple
-to options, and -to-flirt may be specified more than once.
-convert-fiber-orientations
CONVERT BINGHAM PARAMETER VOLUMES TO FIBER ORIENTATION FILE
wb_command -convert-fiber-orientations
<label-volume> - volume of cifti structure labels
<fiber-out> - output - the output fiber orientation file
[-fiber] - repeatable - specify the parameter volumes for a fiber
<mean-f> - mean fiber strength
<stdev-f> - standard deviation of fiber strength
<theta> - theta angle
<phi> - phi angle
<psi> - psi angle
<ka> - ka bingham parameter
<kb> - kb bingham parameter
Takes precomputed bingham parameters from volume files and converts them
to the format workbench uses for display. The <label-volume> argument
must be a label volume, where the labels use these strings:
CORTEX_LEFT
CORTEX_RIGHT
CEREBELLUM
ACCUMBENS_LEFT
ACCUMBENS_RIGHT
ALL_GREY_MATTER
ALL_WHITE_MATTER
AMYGDALA_LEFT
AMYGDALA_RIGHT
BRAIN_STEM
CAUDATE_LEFT
CAUDATE_RIGHT
CEREBELLAR_WHITE_MATTER_LEFT
CEREBELLAR_WHITE_MATTER_RIGHT
CEREBELLUM_LEFT
CEREBELLUM_RIGHT
CEREBRAL_WHITE_MATTER_LEFT
CEREBRAL_WHITE_MATTER_RIGHT
CORTEX
DIENCEPHALON_VENTRAL_LEFT
DIENCEPHALON_VENTRAL_RIGHT
HIPPOCAMPUS_LEFT
HIPPOCAMPUS_RIGHT
HIPPOCAMPUS_DENTATE_LEFT
HIPPOCAMPUS_DENTATE_RIGHT
INVALID
OTHER
OTHER_GREY_MATTER
OTHER_WHITE_MATTER
PALLIDUM_LEFT
PALLIDUM_RIGHT
PUTAMEN_LEFT
PUTAMEN_RIGHT
THALAMUS_LEFT
THALAMUS_RIGHT
-convert-matrix4-to-matrix2
GENERATES A MATRIX2 CIFTI FROM MATRIX4 WBSPARSE
wb_command -convert-matrix4-to-matrix2
<matrix4-wbsparse> - a wbsparse matrix4 file
<counts-out> - output - the total fiber counts, as a cifti file
[-distances] - output average trajectory distance
<distance-out> - output - the distances, as a cifti file
[-individual-fibers] - output files for each fiber direction
<fiber-1> - output - output file for first fiber
<fiber-2> - output - output file for second fiber
<fiber-3> - output - output file for third fiber
This command makes a cifti file from the fiber counts in a matrix4
wbsparse file, and optionally a second cifti file from the distances.
Note that while the total count is stored exactly, the per-fiber counts
are stored as approximate fractions, so the output of -individual-fibers
will contain nonintegers.
-convert-matrix4-to-workbench-sparse
CONVERT A 3-FILE MATRIX4 TO A WORKBENCH SPARSE FILE
wb_command -convert-matrix4-to-workbench-sparse
<matrix4_1> - the first matrix4 file
<matrix4_2> - the second matrix4 file
<matrix4_3> - the third matrix4 file
<orientation-file> - the .fiberTEMP.nii file this trajectory file applies
to
<voxel-list> - list of white matter voxel index triplets as used in the
trajectory matrix
<wb-sparse-out> - output - the output workbench sparse file
[-surface-seeds] - specify the surface seed space
<seed-roi> - metric roi file of all vertices used in the seed space
[-volume-seeds] - specify the volume seed space
<cifti-template> - cifti file to use the volume mappings from
<direction> - dimension along the cifti file to take the mapping from,
ROW or COLUMN
Converts the matrix 4 output of probtrackx to workbench sparse file
format. Exactly one of -surface-seeds and -volume-seeds must be
specified.
-convert-warpfield
CONVERT A WARPFIELD BETWEEN CONVENTIONS
wb_command -convert-warpfield
[-from-world] - input is a NIFTI 'world' warpfield
<input> - the input warpfield
[-absolute] - warpfield was written in absolute convention, rather
than relative
[-from-itk] - input is an ITK warpfield
<input> - the input warpfield
[-from-fnirt] - input is a fnirt warpfield
<input> - the input warpfield
<source-volume> - the source volume used when generating the input
warpfield
[-absolute] - warpfield was written in absolute convention, rather
than relative
[-to-world] - write output as a NIFTI 'world' warpfield
<output> - output - the output warpfield
[-to-itk] - write output as an ITK warpfield
<output> - output - the output warpfield
[-to-fnirt] - repeatable - write output as a fnirt warpfield
<output> - output - the output warpfield
<source-volume> - the volume you want to apply the warpfield to
NIFTI world warpfields can be used directly on mm coordinates via
sampling the three subvolumes at the coordinate and adding the sampled
values to the coordinate vector. They use the NIFTI coordinate system,
that is, X is left to right, Y is posterior to anterior, and Z is
inferior to superior.
NOTE: this command does not invert the warpfield, and to warp a surface,
you must use the inverse of the warpfield that warps the corresponding
volume.
The ITK format is used by ANTS.
You must specify exactly one -from option, but you may specify multiple
-to options, and -to-fnirt may be specified more than once.
-create-signed-distance-volume
CREATE SIGNED DISTANCE VOLUME FROM SURFACE
wb_command -create-signed-distance-volume
<surface> - the input surface
<refspace> - a volume in the desired output space (dims, spacing, origin)
<outvol> - output - the output volume
[-roi-out] - output an roi volume of where the output has a computed
value
<roi-vol> - output - the output roi volume
[-fill-value] - specify a value to put in all voxels that don't get
assigned a distance
<value> - value to fill with (default 0)
[-exact-limit] - specify distance for exact output
<dist> - distance in mm (default 5)
[-approx-limit] - specify distance for approximate output
<dist> - distance in mm (default 20)
[-approx-neighborhood] - voxel neighborhood for approximate calculation
<num> - size of neighborhood cube measured from center to face, in
voxels (default 2 = 5x5x5)
[-winding] - winding method for point inside surface test
<method> - name of the method (default EVEN_ODD)
Computes the signed distance function of the surface. Exact distance is
calculated by finding the closest point on any surface triangle to the
center of the voxel. Approximate distance is calculated starting with
these distances, using dijkstra's method with a neighborhood of voxels.
Specifying too small of an exact distance may produce unexpected results.
Valid specifiers for winding methods are as follows:
EVEN_ODD (default)
NEGATIVE
NONZERO
NORMALS
The NORMALS method uses the normals of triangles and edges, or the
closest triangle hit by a ray from the point. This method may be
slightly faster, but is only reliable for a closed surface that does not
cross through itself. All other methods count entry (positive) and exit
(negative) crossings of a vertical ray from the point, then counts as
inside if the total is odd, negative, or nonzero, respectively.
-estimate-fiber-binghams
ESTIMATE FIBER ORIENTATION DISTRIBUTIONS FROM BEDPOSTX SAMPLES
wb_command -estimate-fiber-binghams
<merged_f1samples> - fiber 1 strength samples
<merged_th1samples> - fiber 1 theta samples
<merged_ph1samples> - fiber 1 phi samples
<merged_f2samples> - fiber 2 strength samples
<merged_th2samples> - fiber 2 theta samples
<merged_ph2samples> - fiber 2 phi samples
<merged_f3samples> - fiber 3 strength samples
<merged_th3samples> - fiber 3 theta samples
<merged_ph3samples> - fiber 3 phi samples
<label-volume> - volume of cifti structure labels
<cifti-out> - output - output cifti fiber distributons file
This command does an estimation of a bingham distribution for each fiber
orientation in each voxel which is labeled a structure identifier. These
labelings come from the <label-volume> argument, which must have labels
that match the following strings:
CORTEX_LEFT
CORTEX_RIGHT
CEREBELLUM
ACCUMBENS_LEFT
ACCUMBENS_RIGHT
ALL_GREY_MATTER
ALL_WHITE_MATTER
AMYGDALA_LEFT
AMYGDALA_RIGHT
BRAIN_STEM
CAUDATE_LEFT
CAUDATE_RIGHT
CEREBELLAR_WHITE_MATTER_LEFT
CEREBELLAR_WHITE_MATTER_RIGHT
CEREBELLUM_LEFT
CEREBELLUM_RIGHT
CEREBRAL_WHITE_MATTER_LEFT
CEREBRAL_WHITE_MATTER_RIGHT
CORTEX
DIENCEPHALON_VENTRAL_LEFT
DIENCEPHALON_VENTRAL_RIGHT
HIPPOCAMPUS_LEFT
HIPPOCAMPUS_RIGHT
HIPPOCAMPUS_DENTATE_LEFT
HIPPOCAMPUS_DENTATE_RIGHT
INVALID
OTHER
OTHER_GREY_MATTER
OTHER_WHITE_MATTER
PALLIDUM_LEFT
PALLIDUM_RIGHT
PUTAMEN_LEFT
PUTAMEN_RIGHT
THALAMUS_LEFT
THALAMUS_RIGHT
-fiber-dot-products
COMPUTE DOT PRODUCTS OF FIBER ORIENTATIONS WITH SURFACE NORMALS
wb_command -fiber-dot-products
<white-surf> - the white/gray boundary surface
<fiber-file> - the fiber orientation file
<max-dist> - the maximum distance from any surface vertex a fiber
population may be, in mm
<direction> - test against surface for whether a fiber population should
be used
<dot-metric> - output - the metric of dot products
<f-metric> - output - a metric of the f values of the fiber distributions
For each vertex, this command finds the closest fiber population that
satisfies the <direction> test, and computes the absolute value of the
dot product of the surface normal and the normalized mean direction of
each fiber. The <direction> test must be one of INSIDE, OUTSIDE, or ANY,
which causes the command to only use fiber populations that are inside
the surface, outside the surface, or to not care which direction it is
from the surface. Each fiber population is output in a separate metric
column.
-file-convert
CHANGE VERSION OF FILE FORMAT
wb_command -file-convert
[-border-version-convert] - write a border file with a different version
<border-in> - the input border file
<out-version> - the format version to write as, 1 or 3 (2 doesn't
exist)
<border-out> - output - the output border file
[-surface] - must be specified if the input is version 1
<surface> - use this surface file for structure and number of
vertices, ignore borders on other structures
[-nifti-version-convert] - write a nifti file with a different version
<input> - the input nifti file
<version> - the nifti version to write as
<output> - output - the output nifti file
[-cifti-version-convert] - write a cifti file with a different version
<cifti-in> - the input cifti file
<version> - the cifti version to write as
<cifti-out> - output - the output cifti file
You may only specify one top-level option.
-file-information
LIST INFORMATION ABOUT A FILE'S CONTENT
wb_command -file-information
<data-file> - data file
[-no-map-info] - do not show map information for files that support maps
[-only-step-interval] - suppress normal output, print the interval
between maps
[-only-number-of-maps] - suppress normal output, print the number of maps
[-only-map-names] - suppress normal output, print the names of all maps
[-only-metadata] - suppress normal output, print file metadata
[-key] - only print the metadata for one key, with no formatting
<key> - the metadata key
[-only-cifti-xml] - suppress normal output, print the cifti xml if the
file type has it
[-czi] - For a CZI file, show information from the libCZI Info Command
instead of the Workbench CZI File
[-czi-all-sub-blocks] - show all sub-blocks in CZI file (may produce long
output)
[-czi-xml] - show XML from CZI file
List information about the content of a data file. Only one -only option
may be specified. The information listed when no -only option is present
is dependent upon the type of data file.
Library paths:
/usr/local/qt-install/plugins
/mnt/workspace/release/CommandLine
File and extensions for reading and writing:
Annotation: wb_annot
Annotation Text Substitution: wb_annsub.csv
Border: border, wb_border
CIFTI - Dense: dconn.nii
CIFTI - Dense Label: dlabel.nii
CIFTI - Dense Parcel: dpconn.nii
CIFTI - Dense Scalar: dscalar.nii
CIFTI - Dense Data Series: dtseries.nii
CIFTI - Fiber Orientations TEMPORARY: fiberTEMP.nii
CIFTI - Fiber Trajectory TEMPORARY: trajTEMP.wbsparse
CIFTI - Fiber Trajectory Maps: trajMaps.wbsparse
CIFTI - Parcel: pconn.nii
CIFTI - Parcel Dense: pdconn.nii
CIFTI - Parcel Label: plabel.nii
CIFTI - Parcel Scalar: pscalar.nii
CIFTI - Parcel Series: ptseries.nii
CIFTI - Scalar Data Series: sdseries.nii
CZI Image: czi
Foci: foci, wb_foci
Histology Slices: metaczi, meta-image
Image Read: bmp, gif, jpeg, jpg, png, ppm, tif, tiff
Write: bmp, jpeg, jpg, png, ppm, tif, tiff
Label: label.gii
Metric: func.gii, shape.gii
OME-ZARR Image File: ome.zarr, ome.zarr.zip
Palette: palette, wb_palette
RGBA: rgba.gii
Samples: wb_samples
Scene: scene, wb_scene
Specification: spec, wb_spec
Surface: surf.gii
Volume: nii, nii.gz
-foci-create
CREATE A FOCI FILE
wb_command -foci-create
<output> - output - the output foci file
[-class] - repeatable - specify class input data
<class-name> - name of class
<foci-list-file> - text file containing foci names, coordinates, and
colors
<surface> - surface file for projection of foci list file
Creates a foci file from names, coordinates, and RGB values in a text
file. The text file must have the following format (2 lines per focus):
<focus-name>
<red> <green> <blue> <x> <y> <z>
...
Foci names are specified on a separate line from their coordinates and
color, in order to let foci names contain spaces. Whitespace is trimmed
from both ends of the foci name, but is kept if it is in the middle of a
name. The values of <red>, <green>, <blue> and must be integers from 0
to 255, and will specify the color the foci is drawn as.
Foci are grouped into classes and the name for the class is specified
using the <class-name> parameter.
All foci within one text file must be associated with the structure
contained in the <surface> parameter and are projected to that surface.
-foci-get-projection-vertex
GET PROJECTION VERTEX FOR FOCI
wb_command -foci-get-projection-vertex
<foci> - the foci file
<surface> - the surface related to the foci file
<metric-out> - output - the output metric file
[-name] - select a focus by name
<name> - the name of the focus
For each focus, a column is created in <metric-out>, and the vertex with
the most influence on its projection is assigned a value of 1 in that
column, with all other vertices 0. If -name is used, only one focus will
be used.
-foci-list-coords
OUTPUT FOCI COORDINATES IN A TEXT FILE
wb_command -foci-list-coords
<foci-file> - input foci file
<coord-file-out> - output - the output coordinate text file
[-names-out] - output the foci names
<names-file-out> - output - text file to put foci names in
Output the coordinates for every focus in the foci file, and optionally
the focus names in a second text file.
-foci-resample
PROJECT FOCI TO A DIFFERENT SURFACE
wb_command -foci-resample
<foci-in> - the input foci file
<foci-out> - output - the output foci file
[-left-surfaces] - the left surfaces for resampling
<current-surf> - the surface the foci are currently projected on
<new-surf> - the surface to project the foci onto
[-right-surfaces] - the right surfaces for resampling
<current-surf> - the surface the foci are currently projected on
<new-surf> - the surface to project the foci onto
[-cerebellum-surfaces] - the cerebellum surfaces for resampling
<current-surf> - the surface the foci are currently projected on
<new-surf> - the surface to project the foci onto
[-discard-distance-from-surface] - ignore the distance the foci are above
or below the current surface
[-restore-xyz] - put the original xyz coordinates into the foci, rather
than the coordinates obtained from unprojection
Unprojects foci from the <current-surf> for the structure, then projects
them to <new-surf>. If the foci have meaningful distances above or below
the surface, use anatomical surfaces. If the foci should be on the
surface, use registered spheres and the options
-discard-distance-from-surface and -restore-xyz.
-gifti-all-labels-to-rois
MAKE ROIS FROM ALL LABELS IN A GIFTI COLUMN
wb_command -gifti-all-labels-to-rois
<label-in> - the input gifti label file
<map> - the number or name of the label map to use
<metric-out> - output - the output metric file
The output metric file has a column for each label in the specified input
map, other than the ??? label, each of which contains an ROI of all
vertices that are set to the corresponding label.
-gifti-convert
CONVERT A GIFTI FILE TO A DIFFERENT ENCODING
wb_command -gifti-convert
<gifti-encoding> - what the output encoding should be
<input-gifti-file> - the input gifti file
<output-gifti-file> - output - the output gifti file
The value of <gifti-encoding> must be one of the following:
ASCII
BASE64_BINARY
GZIP_BASE64_BINARY
EXTERNAL_FILE_BINARY
-gifti-label-add-prefix
ADD PREFIX TO ALL LABEL NAMES IN A GIFTI LABEL FILE
wb_command -gifti-label-add-prefix
<label-in> - the input label file
<prefix> - the prefix string to add
<label-out> - output - the output label file
For each label other than '???', prepend <prefix> to the label name.
-gifti-label-to-roi
MAKE A GIFTI LABEL INTO AN ROI METRIC
wb_command -gifti-label-to-roi
<label-in> - the input gifti label file
<metric-out> - output - the output metric file
[-name] - select label by name
<label-name> - the label name that you want an roi of
[-key] - select label by key
<label-key> - the label key that you want an roi of
[-map] - select a single label map to use
<map> - the map number or name
For each map in <label-in>, a map is created in <metric-out> where all
locations labeled with <label-name> or with a key of <label-key> are
given a value of 1, and all other locations are given 0. Exactly one of
-name and -key must be specified. Specify -map to use only one map from
<label-in>.
-label-dilate
DILATE A LABEL FILE
wb_command -label-dilate
<label> - the input label
<surface> - the surface to dilate on
<dilate-dist> - distance in mm to dilate the labels
<label-out> - output - the output label file
[-bad-vertex-roi] - specify an roi of vertices to overwrite, rather than
vertices with the unlabeled key
<roi-metric> - metric file, positive values denote vertices to have
their values replaced
[-column] - select a single column to dilate
<column> - the column number or name
[-corrected-areas] - vertex areas to use instead of computing them from
the surface
<area-metric> - the corrected vertex areas, as a metric
Fills in label information for all vertices designated as bad, up to the
specified distance away from other labels. If -bad-vertex-roi is
specified, all vertices, including those with the unlabeled key, are
good, except for vertices with a positive value in the ROI. If it is not
specified, only vertices with the unlabeled key are bad.
-label-erode
ERODE A LABEL FILE
wb_command -label-erode
<label> - the input label
<surface> - the surface to erode on
<erode-dist> - distance in mm to erode the labels
<label-out> - output - the output label file
[-roi] - assume values outside this roi are labeled
<roi-metric> - metric file, positive values denote vertices that have
data
[-column] - select a single column to erode
<column> - the column number or name
[-corrected-areas] - vertex areas to use instead of computing them from
the surface
<area-metric> - the corrected vertex areas, as a metric
Around each vertex that is unlabeled, set surrounding vertices to
unlabeled. The surrounding vertices are all immediate neighbors and all
vertices within the specified distance.
Note that the -corrected-areas option uses an approximate correction for
distance along the surface.
-label-export-table
EXPORT LABEL TABLE FROM GIFTI AS TEXT
wb_command -label-export-table
<label-in> - the input label file
<table-out> - output - the output text file
[-hierarchy] - export the hierarchy as json
<json-out> - output - filename to write hierarchy to
Takes the label table from the gifti label file, and writes it to a text
format matching what is expected by -metric-label-import.
-label-mask
MASK A LABEL FILE
wb_command -label-mask
<label> - the label file to mask
<mask> - the mask metric
<label-out> - output - the output label file
[-column] - select a single column
<column> - the column number or name
By default, the output label is a copy of the input label, but with the
'unused' label wherever the mask metric is zero or negative. if -column
is specified, the output contains only one column, the masked version of
the specified input column.
-label-merge
MERGE LABEL FILES INTO A NEW FILE
wb_command -label-merge
<label-out> - output - the output label
[-label] - repeatable - specify an input label
<label-in> - a label file to use columns from
[-column] - repeatable - select a single column to use
<column> - the column number or name
[-up-to] - use an inclusive range of columns
<last-column> - the number or name of the last column to include
[-reverse] - use the range in reverse order
Takes one or more label files and constructs a new label file by
concatenating columns from them. The input files must have the same
number of vertices and the same structure.
Example: wb_command -label-merge out.label.gii -label first.label.gii
-column 1 -label second.label.gii
This example would take the first column from first.label.gii and all
subvolumes from second.label.gii, and write these to out.label.gii.
-label-modify-keys
CHANGE KEY VALUES IN A LABEL FILE
wb_command -label-modify-keys
<label-in> - the input label file
<remap-file> - text file with old and new key values
<label-out> - output - output label file
[-column] - select a single column to use
<column> - the column number or name
<remap-file> should have lines of the form 'oldkey newkey', like so:
3 5
5 8
8 2
This would change the current label with key '3' to use the key '5'
instead, 5 would use 8, and 8 would use 2. Any collision in key values
results in the label that was not specified in the remap file getting
remapped to an otherwise unused key. Remapping more than one key to the
same new key, or the same key to more than one new key, results in an
error. This will not change the appearance of the file when displayed,
as it will change the key values in the data at the same time.
-label-probability
FIND FREQUENCY OF SURFACE LABELS
wb_command -label-probability
<label-maps> - label file containing individual label maps from many
subjects
<probability-metric-out> - output - the relative frequencies of each
label at each vertex
[-exclude-unlabeled] - don't make a probability map of the unlabeled key
This command outputs a set of soft ROIs, one for each label in the input,
where the value is how many of the input maps had that label at that
vertex, divided by the number of input maps.
-label-resample
RESAMPLE A LABEL FILE TO A DIFFERENT MESH
wb_command -label-resample
<label-in> - the label file to resample
<current-sphere> - a sphere surface with the mesh that the label file is
currently on
<new-sphere> - a sphere surface that is in register with <current-sphere>
and has the desired output mesh
<method> - the method name
<label-out> - output - the output label file
[-area-surfs] - specify surfaces to do vertex area correction based on
<current-area> - a relevant anatomical surface with <current-sphere>
mesh
<new-area> - a relevant anatomical surface with <new-sphere> mesh
[-area-metrics] - specify vertex area metrics to do area correction based
on
<current-area> - a metric file with vertex areas for <current-sphere>
mesh
<new-area> - a metric file with vertex areas for <new-sphere> mesh
[-current-roi] - use an input roi on the current mesh to exclude non-data
vertices
<roi-metric> - the roi, as a metric file
[-valid-roi-out] - output the ROI of vertices that got data from valid
source vertices
<roi-out> - output - the output roi as a metric
[-largest] - use only the label of the vertex with the largest weight
[-bypass-sphere-check] - ADVANCED: allow the current and new 'spheres' to
have arbitrary shape as long as they follow the same contour
Resamples a label file, given two spherical surfaces that are in
register. If ADAP_BARY_AREA is used, exactly one of -area-surfs or
-area-metrics must be specified.
The ADAP_BARY_AREA method is recommended for label data, because it
should be better at resolving vertices that are near multiple labels, or
in case of downsampling. Midthickness surfaces are recommended for the
vertex areas for most data.
The -largest option results in nearest vertex behavior when used with
BARYCENTRIC, as it uses the value of the source vertex that has the
largest weight.
When -largest is not specified, the vertex weights are summed according
to which label they correspond to, and the label with the largest sum is
used.
The <method> argument must be one of the following:
ADAP_BARY_AREA
BARYCENTRIC
-label-to-border
DRAW BORDERS AROUND LABELS
wb_command -label-to-border
<surface> - the surface to use for neighbor information
<label-in> - the input label file
<border-out> - output - the output border file
[-placement] - set how far along the edge border points are drawn
<fraction> - fraction along edge from inside vertex (default 0.33)
[-column] - select a single column
<column> - the column number or name
For each label, finds all edges on the mesh that cross the boundary of
the label, and draws borders through them. By default, this is done on
all columns in the input file, using the map name as the class name for
the border.
-label-to-volume-mapping
MAP LABEL FILE TO VOLUME
wb_command -label-to-volume-mapping
<label> - the input label file
<surface> - the surface to use coordinates from
<volume-space> - a volume file in the desired output volume space
<volume-out> - output - the output volume file
[-nearest-vertex] - use the label from the vertex closest to the voxel
center
<distance> - how far from the surface to map labels to voxels, in mm
[-ribbon-constrained] - use ribbon constrained mapping algorithm
<inner-surf> - the inner surface of the ribbon
<outer-surf> - the outer surface of the ribbon
[-voxel-subdiv] - voxel divisions while estimating voxel weights
<subdiv-num> - number of subdivisions, default 3
[-greedy] - also put labels in voxels with less than 50% partial
volume (legacy behavior)
[-thick-columns] - use overlapping columns (legacy method)
Maps labels from a gifti label file into a volume file. You must specify
exactly one mapping method option. The -nearest-vertex method uses the
label from the vertex closest to the voxel center. The
-ribbon-constrained method uses the same method as in
-volume-to-surface-mapping, then uses the weights in reverse, with
popularity logic to decide on a label to use.
-metadata-remove-provenance
REMOVE PROVENANCE INFORMATION FROM FILE METADATA
wb_command -metadata-remove-provenance
<input-file> - the file to remove provenance information from
<output-file> - output - the name to save the modified file as
Removes the provenance metadata fields added by workbench during
processing.
-metadata-string-replace
REPLACE A STRING IN ALL METADATA OF A FILE
wb_command -metadata-string-replace
<input-file> - the file to replace metadata in
<find-string> - the string to find
<replace-string> - the string to replace <find-string> with
<output-file> - output - the name to save the modified file as
[-case-insensitive] - match with case variation also
Replaces all occurrences of <find-string> in the metadata and map names
of <input-file> with <replace-string>.
-metric-convert
CONVERT METRIC FILE TO FAKE NIFTI
wb_command -metric-convert
[-to-nifti] - convert metric to nifti
<metric-in> - the metric to convert
<nifti-out> - output - the output nifti file
[-from-nifti] - convert nifti to metric
<nifti-in> - the nifti file to convert
<surface-in> - surface file to use number of vertices and structure
from
<metric-out> - output - the output metric file
The purpose of this command is to convert between metric files and nifti1
so that gifti-unaware programs can operate on the data. You must specify
exactly one of the options.
-metric-dilate
DILATE A METRIC FILE
wb_command -metric-dilate
<metric> - the metric to dilate
<surface> - the surface to compute on
<distance> - distance in mm to dilate
<metric-out> - output - the output metric
[-bad-vertex-roi] - specify an roi of vertices to overwrite, rather than
vertices with value zero
<roi-metric> - metric file, positive values denote vertices to have
their values replaced
[-data-roi] - specify an roi of where there is data
<roi-metric> - metric file, positive values denote vertices that have
data
[-column] - select a single column to dilate
<column> - the column number or name
[-nearest] - use the nearest good value instead of a weighted average
[-linear] - fill in values with linear interpolation along strongest
gradient
[-exponent] - use a different exponent in the weighting function
<exponent> - exponent 'n' to use in (area / (distance ^ n)) as the
weighting function (default 6)
[-corrected-areas] - vertex areas to use instead of computing them from
the surface
<area-metric> - the corrected vertex areas, as a metric
[-legacy-cutoff] - use the v1.3.2 method of choosing how many vertices to
use when calulating the dilated value with weighted method
For all metric vertices that are designated as bad, if they neighbor a
non-bad vertex with data or are within the specified distance of such a
vertex, replace the value with a distance-based weighted average of
nearby non-bad vertices that have data, otherwise set the value to zero.
No matter how small <distance> is, dilation will always use at least the
immediate neighbor vertices. If -nearest is specified, it will use the
value from the closest non-bad vertex with data within range instead of a
weighted average.
If -bad-vertex-roi is specified, all vertices with a positive ROI value
are bad. If it is not specified, only vertices that have data, with a
value of zero, are bad. If -data-roi is not specified, all vertices are
assumed to have data.
Note that the -corrected-areas option uses an approximate correction for
the change in distances along a group average surface.
To get the behavior of version 1.3.2 or earlier, use '-legacy-cutoff
-exponent 2'.
-metric-erode
ERODE A METRIC FILE
wb_command -metric-erode
<metric> - the metric file to erode
<surface> - the surface to compute on
<distance> - distance in mm to erode
<metric-out> - output - the output metric
[-roi] - assume values outside this roi are nonzero
<roi-metric> - metric file, positive values denote vertices that have
data
[-column] - select a single column to erode
<column> - the column number or name
[-corrected-areas] - vertex areas to use instead of computing them from
the surface
<area-metric> - the corrected vertex areas, as a metric
Around each vertex with a value of zero, set surrounding vertices to
zero. The surrounding vertices are all immediate neighbors and all
vertices within the specified distance.
Note that the -corrected-areas option uses an approximate correction for
distance along the surface.
-metric-estimate-fwhm
ESTIMATE FWHM SMOOTHNESS OF A METRIC FILE
wb_command -metric-estimate-fwhm
<surface> - the surface to use for distance and neighbor information
<metric-in> - the input metric
[-roi] - use only data within an ROI
<roi-metric> - the metric file to use as an ROI
[-column] - select a single column to estimate smoothness of
<column> - the column number or name
[-whole-file] - estimate for the whole file at once, not each column
separately
[-demean] - subtract the mean image before estimating smoothness
Estimates the smoothness of the metric columns, printing the estimates to
standard output. These estimates ignore variation in vertex spacing.
-metric-extrema
FIND EXTREMA IN A METRIC FILE
wb_command -metric-extrema
<surface> - the surface to use for distance information
<metric-in> - the metric to find the extrema of
<distance> - the minimum distance between identified extrema of the same
type
<metric-out> - output - the output extrema metric
[-presmooth] - smooth the metric before finding extrema
<kernel> - the size of the gaussian smoothing kernel in mm, as sigma
by default
[-fwhm] - kernel size is FWHM, not sigma
[-roi] - ignore values outside the selected area
<roi-metric> - the area to find extrema in, as a metric
[-threshold] - ignore small extrema
<low> - the largest value to consider for being a minimum
<high> - the smallest value to consider for being a maximum
[-sum-columns] - output the sum of the extrema columns instead of each
column separately
[-consolidate-mode] - use consolidation of local minima instead of a
large neighborhood
[-only-maxima] - only find the maxima
[-only-minima] - only find the minima
[-column] - select a single column to find extrema in
<column> - the column number or name
Finds extrema in a metric file, such that no two extrema of the same type
are within <distance> of each other. The extrema are labeled as -1 for
minima, 1 for maxima, 0 otherwise. If -only-maxima or -only-minima is
specified, then it will ignore extrema not of the specified type. These
options are mutually exclusive.
If -roi is specified, not only is data outside the roi not used, but any
vertex on the edge of the ROI will never be counted as an extrema, in
case the ROI cuts across a gradient, which would otherwise generate
extrema where there should be none.
If -sum-columns is specified, these extrema columns are summed, and the
output has a single column with this result.
By default, a datapoint is an extrema only if it is more extreme than
every other datapoint that is within <distance> from it. If
-consolidate-mode is used, it instead starts by finding all datapoints
that are more extreme than their immediate neighbors, then while there
are any extrema within <distance> of each other, take the two extrema
closest to each other and merge them into one by a weighted average based
on how many original extrema have been merged into each.
By default, all input columns are used with no smoothing, use -column to
specify a single column to use, and -presmooth to smooth the input before
finding the extrema.
-metric-false-correlation
COMPARE CORRELATION LOCALLY AND ACROSS/THROUGH SULCI/GYRI
wb_command -metric-false-correlation
<surface> - the surface to compute geodesic and 3D distance with
<metric-in> - the metric to correlate
<3D-dist> - maximum 3D distance to check around each vertex
<geo-outer> - maximum geodesic distance to use for neighboring
correlation
<geo-inner> - minimum geodesic distance to use for neighboring
correlation
<metric-out> - output - the output metric
[-roi] - select a region of interest that has data
<roi-metric> - the region, as a metric file
[-dump-text] - dump the raw measures used to a text file
<text-out> - the output text file
For each vertex, compute the average correlation within a range of
geodesic distances that don't cross a sulcus/gyrus, and the correlation
to the closest vertex crossing a sulcus/gyrus. A vertex is considered to
cross a sulcus/gyrus if the 3D distance is less than a third of the
geodesic distance. The output file contains the ratio between these
correlations, and some additional maps to help explain the ratio.
-metric-fill-holes
FILL HOLES IN AN ROI METRIC
wb_command -metric-fill-holes
<surface> - the surface to use for neighbor information
<metric-in> - the input ROI metric
<metric-out> - output - the output ROI metric
[-corrected-areas] - vertex areas to use instead of computing them from
the surface
<area-metric> - the corrected vertex areas, as a metric
Finds all connected areas that are not included in the ROI, and writes
ones into all but the largest one, in terms of surface area.
-metric-find-clusters
FILTER CLUSTERS BY SURFACE AREA
wb_command -metric-find-clusters
<surface> - the surface to compute on
<metric-in> - the input metric
<value-threshold> - threshold for data values
<minimum-area> - threshold for cluster area, in mm^2
<metric-out> - output - the output metric
[-less-than] - find values less than <value-threshold>, rather than
greater
[-roi] - select a region of interest
<roi-metric> - the roi, as a metric
[-corrected-areas] - vertex areas to use instead of computing them from
the surface
<area-metric> - the corrected vertex areas, as a metric
[-column] - select a single column
<column> - the column number or name
[-size-ratio] - ignore clusters smaller than a given fraction of the
largest cluster in map
<ratio> - fraction of the largest cluster's area
[-distance] - ignore clusters further than a given distance from the
largest cluster
<distance> - how far from the largest cluster a cluster can be, edge
to edge, in mm
[-start] - start labeling clusters from a value other than 1
<startval> - the value to give the first cluster found
Outputs a metric with nonzero integers for all vertices within a large
enough cluster, and zeros elsewhere. The integers denote cluster
membership (by default, first cluster found will use value 1, second
cluster 2, etc). Cluster values are not reused across maps of the
output, but instead keep counting up. By default, values greater than
<value-threshold> are considered to be in a cluster, use -less-than to
test for values less than the threshold. To apply this as a mask to the
data, or to do more complicated thresholding, see -metric-math.
-metric-gradient
SURFACE GRADIENT OF A METRIC FILE
wb_command -metric-gradient
<surface> - the surface to compute the gradient on
<metric-in> - the metric to compute the gradient of
<metric-out> - output - the magnitude of the gradient
[-presmooth] - smooth the metric before computing the gradient
<kernel> - the size of the gaussian smoothing kernel in mm, as sigma
by default
[-fwhm] - kernel size is FWHM, not sigma
[-roi] - select a region of interest to take the gradient of
<roi-metric> - the area to take the gradient within, as a metric
[-match-columns] - for each input column, use the corresponding column
from the roi
[-vectors] - output gradient vectors
<vector-metric-out> - output - the vectors as a metric file
[-column] - select a single column to compute the gradient of
<column> - the column number or name
[-corrected-areas] - vertex areas to use instead of computing them from
the surface
<area-metric> - the corrected vertex areas, as a metric
[-average-normals] - average the normals of each vertex with its
neighbors before using them to compute the gradient
At each vertex, the immediate neighbors are unfolded onto a plane tangent
to the surface at the vertex (specifically, perpendicular to the normal).
The gradient is computed using a regression between the unfolded
positions of the vertices and their values. The gradient is then given
by the slopes of the regression, and reconstructed as a 3D gradient
vector. By default, takes the gradient of all columns, with no
presmoothing, across the whole surface, without averaging the normals of
the surface among neighbors.
When using -corrected-areas, note that it is an approximate correction.
Doing smoothing on individual surfaces before averaging/gradient is
preferred, when possible, in order to make use of the original surface
structure.
Specifying an ROI will restrict the gradient to only use data from where
the ROI metric is positive, and output zeros anywhere the ROI metric is
not positive.
By default, the first column of the roi metric is used for all input
columns. When -match-columns is specified to the -roi option, the input
and roi metrics must have the same number of columns, and for each input
column's index, the same column index is used in the roi metric. If the
-match-columns option to -roi is used while the -column option is also
used, the number of columns of the roi metric must match the input
metric, and it will use the roi column with the index of the selected
input column.
The vector output metric is organized such that the X, Y, and Z
components from a single input column are consecutive columns.
-metric-label-import
IMPORT A GIFTI LABEL FILE FROM A METRIC FILE
wb_command -metric-label-import
<input> - the input metric file
<label-list-file> - text file containing the values and names for labels
<output> - output - the output gifti label file
[-discard-others] - set any values not mentioned in the label list to the
??? label
[-unlabeled-value] - set the value that will be interpreted as unlabeled
<value> - the numeric value for unlabeled (default 0)
[-column] - select a single column to import
<column> - the column number or name
[-drop-unused-labels] - remove any unused label values from the label
table
[-hierarchy] - read label name hierarchy from a json file
<file> - the input json file
Creates a gifti label file from a metric file with label-like values.
You may specify the empty string (use "") for <label-list-file>, which
will be treated as if it is an empty file. The label list file must have
the following format (2 lines per label):
<labelname>
<key> <red> <green> <blue> <alpha>
...
Label names are specified on a separate line from their value and color,
in order to let label names contain spaces. Whitespace is trimmed from
both ends of the label name, but is kept if it is in the middle of a
label. Do not specify the "unlabeled" key in the file, it is assumed
that 0 means not labeled unless -unlabeled-value is specified. The value
of <key> specifies what value in the imported file should be used as this
label (these same key values are also used in the output file). The
values of <red>, <green>, <blue> and <alpha> must be integers from 0 to
255, and will specify the color the label is drawn as (alpha of 255 means
fully opaque, which is probably what you want).
By default, it will create new label names with names like LABEL_5 for
any values encountered that are not mentioned in the list file, specify
-discard-others to instead set these values to the "unlabeled" key.
-metric-mask
MASK A METRIC FILE
wb_command -metric-mask
<metric> - the input metric
<mask> - the mask metric
<metric-out> - output - the output metric
[-column] - select a single column
<column> - the column number or name
By default, the output metric is a copy of the input metric, but with
zeros wherever the mask metric is zero or negative. if -column is
specified, the output contains only one column, the masked version of the
specified input column.
-metric-math
EVALUATE EXPRESSION ON METRIC FILES
wb_command -metric-math
<expression> - the expression to evaluate, in quotes
<metric-out> - output - the output metric
[-fixnan] - replace NaN results with a value
<replace> - value to replace NaN with
[-var] - repeatable - a metric to use as a variable
<name> - the name of the variable, as used in the expression
<metric> - the metric file to use as this variable
[-column] - select a single column
<column> - the column number or name
[-repeat] - reuse a single column for each column of calculation
This command evaluates <expression> at each surface vertex independently.
There must be at least one -var option (to get the structure, number of
vertices, and number of columns from), even if the <name> specified in it
isn't used in <expression>. All metrics must have the same number of
vertices. Filenames are not valid in <expression>, use a variable name
and a -var option with matching <name> to specify an input file. If the
-column option is given to any -var option, only one column is used from
that file. If -repeat is specified, the file must either have only one
column, or have the -column option specified. All files that don't use
-repeat must have the same number of columns requested to be used. The
format of <expression> is as follows:
Expressions consist of constants, variables, operators, parentheses, and
functions, in infix notation, such as 'exp(-x + 3) * scale'. Variables
are strings of any length, using the characters a-z, A-Z, 0-9, and _, but
may not take the name of a named constant. Currently, there is only one
named constant, PI. The operators are +, -, *, /, ^, >, <, >=, <=, ==,
!=, !, &&, ||. These behave as in C, except that ^ is exponentiation,
i.e. pow(x, y), and takes higher precedence than other binary operators
(also, '-3^-4^-5' means '-(3^(-(4^-5)))'). The <=, >=, ==, and !=
operators are given a small amount of wiggle room, equal to one millionth
of the smaller of the absolute values of the values being compared.
Comparison and logical operators return 0 or 1, you can do masking with
expressions like 'x * (mask > 0)'. For all logical operators, an input
is considered true iff it is greater than 0. The expression '0 < x < 5'
is not syntactically wrong, but it will NOT do what is desired, because
it is evaluated left to right, i.e. '((0 < x) < 5)', which will always
return 1, as both possible results of a comparison are less than 5. A
warning is generated if an expression of this type is detected. Use
something like 'x > 0 && x < 5' to get the desired behavior.
Whitespace between elements is ignored, ' sin ( 2 * x ) ' is equivalent
to 'sin(2*x)', but 's in(2*x)' is an error. Implied multiplication is
not allowed, the expression '2x' will be parsed as a variable.
Parentheses are (), do not use [] or {}. Functions require parentheses,
the expression 'sin x' is an error.
The following functions are supported:
sin: 1 argument, the sine of the argument (units are radians)
cos: 1 argument, the cosine of the argument (units are radians)
tan: 1 argument, the tangent of the argument (units are radians)
asin: 1 argument, the inverse of sine of the argument, in radians
acos: 1 argument, the inverse of cosine of the argument, in radians
atan: 1 argument, the inverse of tangent of the argument, in radians
atan2: 2 arguments, atan2(y, x) returns the inverse of tangent of
(y/x), in radians, determining quadrant by the sign of both arguments
sinh: 1 argument, the hyperbolic sine of the argument
cosh: 1 argument, the hyperbolic cosine of the argument
tanh: 1 argument, the hyperbolic tangent of the argument
asinh: 1 argument, the inverse hyperbolic sine of the argument
acosh: 1 argument, the inverse hyperbolic cosine of the argument
atanh: 1 argument, the inverse hyperbolic tangent of the argument
sinc: 1 argument, sinc(0) = 1, sin(x) / x otherwise
ln: 1 argument, the natural logarithm of the argument
exp: 1 argument, the constant e raised to the power of the argument
log: 1 argument, the base 10 logarithm of the argument
log2: 1 argument, the base 2 logarithm of the argument
sqrt: 1 argument, the square root of the argument
abs: 1 argument, the absolute value of the argument
floor: 1 argument, the largest integer not greater than the argument
round: 1 argument, the nearest integer, with ties rounded away from
zero
ceil: 1 argument, the smallest integer not less than the argument
min: 2 arguments, min(x, y) returns y if (x > y), x otherwise
max: 2 arguments, max(x, y) returns y if (x < y), x otherwise
mod: 2 arguments, mod(x, y) = x - y * floor(x / y), or 0 if y == 0
clamp: 3 arguments, clamp(x, low, high) = min(max(x, low), high)
-metric-merge
MERGE METRIC FILES INTO A NEW FILE
wb_command -metric-merge
<metric-out> - output - the output metric
[-metric] - repeatable - specify an input metric
<metric-in> - a metric file to use columns from
[-column] - repeatable - select a single column to use
<column> - the column number or name
[-up-to] - use an inclusive range of columns
<last-column> - the number or name of the last column to include
[-reverse] - use the range in reverse order
Takes one or more metric files and constructs a new metric file by
concatenating columns from them. The input metric files must have the
same number of vertices and same structure.
Example: wb_command -metric-merge out.func.gii -metric first.func.gii
-column 1 -metric second.func.gii
This example would take the first column from first.func.gii, followed by
all columns from second.func.gii, and write these columns to
out.func.gii.
-metric-palette
SET THE PALETTE OF A METRIC FILE
wb_command -metric-palette
<metric> - the metric to modify
<mode> - the mapping mode
[-column] - select a single column
<column> - the column number or name
[-pos-percent] - percentage min/max for positive data coloring
<pos-min-%> - the percentile for the least positive data
<pos-max-%> - the percentile for the most positive data
[-neg-percent] - percentage min/max for negative data coloring
<neg-min-%> - the percentile for the least negative data
<neg-max-%> - the percentile for the most negative data
[-pos-user] - user min/max values for positive data coloring
<pos-min-user> - the value for the least positive data
<pos-max-user> - the value for the most positive data
[-neg-user] - user min/max values for negative data coloring
<neg-min-user> - the value for the least negative data
<neg-max-user> - the value for the most negative data
[-interpolate] - interpolate colors
<interpolate> - boolean, whether to interpolate
[-disp-pos] - display positive data
<display> - boolean, whether to display
[-disp-neg] - display positive data
<display> - boolean, whether to display
[-disp-zero] - display data closer to zero than the min cutoff
<display> - boolean, whether to display
[-palette-name] - set the palette used
<name> - the name of the palette
[-thresholding] - set the thresholding
<type> - thresholding setting
<test> - show values inside or outside thresholds
<min> - lower threshold
<max> - upper threshold
[-inversion] - specify palette inversion
<type> - the type of inversion
[-normalization] - specify normalization mode (NOTE: this is always a
file-wide setting, NOT per-map)
<type> - the normalization mode
The original metric file is overwritten with the modified version. By
default, all columns of the metric file are adjusted to the new settings,
use the -column option to change only one column. Mapping settings not
specified in options will be taken from the first column. The <mode>
argument must be one of the following:
MODE_AUTO_SCALE
MODE_AUTO_SCALE_ABSOLUTE_PERCENTAGE
MODE_AUTO_SCALE_PERCENTAGE
MODE_USER_SCALE
The <name> argument to -palette-name must be one of the following:
ROY-BIG-BL
videen_style
Gray_Interp_Positive
Gray_Interp
PSYCH-FIXED
RBGYR20
RBGYR20P
RYGBR4_positive
RGRBR_mirror90_pos
Orange-Yellow
POS_NEG_ZERO
red-yellow
blue-lightblue
FSL
power_surf
black-red
black-green
black-blue
black-red-positive
black-green-positive
black-blue-positive
blue-black-green
blue-black-red
red-black-green
fsl_red
fsl_green
fsl_blue
fsl_yellow
RedWhiteBlue
cool-warm
spectral
RY-BC-BL
magma
JET256
PSYCH
PSYCH-NO-NONE
ROY-BIG
clear_brain
fidl
raich4_clrmid
raich6_clrmid
HSB8_clrmid
POS_NEG
Special-RGB-Volume
The <type> argument to -thresholding must be one of the following:
THRESHOLD_TYPE_OFF
THRESHOLD_TYPE_NORMAL
THRESHOLD_TYPE_FILE
The <test> argument to -thresholding must be one of the following:
THRESHOLD_TEST_SHOW_OUTSIDE
THRESHOLD_TEST_SHOW_INSIDE
The <type> argument to -inversion must be one of the following:
OFF
POSITIVE_WITH_NEGATIVE
POSITIVE_NEGATIVE_SEPARATE
The <type> argument to -normalization must be one of the following:
NORMALIZATION_ALL_MAP_DATA
NORMALIZATION_SELECTED_MAP_DATA
-metric-reduce
PERFORM REDUCTION OPERATION ACROSS METRIC COLUMNS
wb_command -metric-reduce
<metric-in> - the metric to reduce
<operation> - the reduction operator to use
<metric-out> - output - the output metric
[-exclude-outliers] - exclude non-numeric values and outliers by standard
deviation
<sigma-below> - number of standard deviations below the mean to
include
<sigma-above> - number of standard deviations above the mean to
include
[-only-numeric] - exclude non-numeric values
For each surface vertex, takes the data across columns as a vector, and
performs the specified reduction on it, putting the result into the
single output column at that vertex. The reduction operators are as
follows:
MAX: the maximum value
MIN: the minimum value
INDEXMAX: the 1-based index of the maximum value
INDEXMIN: the 1-based index of the minimum value
SUM: add all values
PRODUCT: multiply all values
MEAN: the mean of the data
STDEV: the standard deviation (N denominator)
SAMPSTDEV: the sample standard deviation (N-1 denominator)
VARIANCE: the variance of the data
TSNR: mean divided by sample standard deviation (N-1 denominator)
COV: sample standard deviation (N-1 denominator) divided by mean
L2NORM: square root of sum of squares
MEDIAN: the median of the data
MODE: the mode of the data
COUNT_NONZERO: the number of nonzero elements in the data
-metric-regression
REGRESS SPATIAL MAP OUT OF A METRIC FILE
wb_command -metric-regression
<metric-in> - the metric to regress from
<metric-out> - output - the output metric
[-roi] - only regress inside an roi
<roi-metric> - the area to use for regression, as a metric
[-column] - select a single column to regress from
<column> - the column number or name
[-remove] - repeatable - specify a metric to regress out
<metric> - the metric file to use
[-remove-column] - select a column to use, rather than all
<column> - the column number or name
[-keep] - repeatable - specify a metric to include in regression, but not
remove
<metric> - the metric file to use
[-keep-column] - select a column to use, rather than all
<column> - the column number or name
For each regressor, its mean across the surface is subtracted from its
data. Each input map is then regressed against these, and a constant
term. The resulting regressed slopes of all regressors specified with
-remove are multiplied with their respective regressor maps, and these
are subtracted from the input map.
-metric-remove-islands
REMOVE ISLANDS FROM AN ROI METRIC
wb_command -metric-remove-islands
<surface> - the surface to use for neighbor information
<metric-in> - the input ROI metric
<metric-out> - output - the output ROI metric
[-corrected-areas] - vertex areas to use instead of computing them from
the surface
<area-metric> - the corrected vertex areas, as a metric
Finds all connected areas in the ROI, and zeros out all but the largest
one, in terms of surface area.
-metric-resample
RESAMPLE A METRIC FILE TO A DIFFERENT MESH
wb_command -metric-resample
<metric-in> - the metric file to resample
<current-sphere> - a sphere surface with the mesh that the metric is
currently on
<new-sphere> - a sphere surface that is in register with <current-sphere>
and has the desired output mesh
<method> - the method name
<metric-out> - output - the output metric
[-area-surfs] - specify surfaces to do vertex area correction based on
<current-area> - a relevant anatomical surface with <current-sphere>
mesh
<new-area> - a relevant anatomical surface with <new-sphere> mesh
[-area-metrics] - specify vertex area metrics to do area correction based
on
<current-area> - a metric file with vertex areas for <current-sphere>
mesh
<new-area> - a metric file with vertex areas for <new-sphere> mesh
[-current-roi] - use an input roi on the current mesh to exclude non-data
vertices
<roi-metric> - the roi, as a metric file
[-valid-roi-out] - output the ROI of vertices that got data from valid
source vertices
<roi-out> - output - the output roi as a metric
[-largest] - use only the value of the vertex with the largest weight
[-bypass-sphere-check] - ADVANCED: allow the current and new 'spheres' to
have arbitrary shape as long as they follow the same contour
Resamples a metric file, given two spherical surfaces that are in
register. If ADAP_BARY_AREA is used, exactly one of -area-surfs or
-area-metrics must be specified.
The ADAP_BARY_AREA method is recommended for ordinary metric data,
because it should use all data while downsampling, unlike BARYCENTRIC.
The recommended areas option for most data is individual midthicknesses
for individual data, and averaged vertex area metrics from individual
midthicknesses for group average data.
The -current-roi option only masks the input, the output may be slightly
dilated in comparison, consider using -metric-mask on the output when
using -current-roi.
The -largest option results in nearest vertex behavior when used with
BARYCENTRIC. When resampling a binary metric, consider thresholding at
0.5 after resampling rather than using -largest.
The <method> argument must be one of the following:
ADAP_BARY_AREA
BARYCENTRIC
-metric-rois-from-extrema
CREATE METRIC ROI MAPS FROM EXTREMA MAPS
wb_command -metric-rois-from-extrema
<surface> - the surface to use for geodesic distance
<metric> - the input metric file
<limit> - geodesic distance limit from vertex, in mm
<metric-out> - output - the output metric file
[-gaussian] - generate a gaussian kernel instead of a flat ROI
<sigma> - the sigma for the gaussian kernel, in mm
[-roi] - select a region of interest to use
<roi-metric> - the area to use, as a metric
[-overlap-logic] - how to handle overlapping ROIs, default ALLOW
<method> - the method of resolving overlaps
[-column] - select a single input column to use
<column> - the column number or name
For each nonzero value in each map, make a map with an ROI around that
location. If the -gaussian option is specified, then normalized gaussian
kernels are output instead of ROIs. The <method> argument to
-overlap-logic must be one of ALLOW, CLOSEST, or EXCLUDE. ALLOW is the
default, and means that ROIs are treated independently and may overlap.
CLOSEST means that ROIs may not overlap, and that no ROI contains
vertices that are closer to a different seed vertex. EXCLUDE means that
ROIs may not overlap, and that any vertex within range of more than one
ROI does not belong to any ROI.
-metric-rois-to-border
DRAW BORDERS AROUND METRIC ROIS
wb_command -metric-rois-to-border
<surface> - the surface to use for neighbor information
<metric> - the input metric containing ROIs
<class-name> - the name to use for the class of the output borders
<border-out> - output - the output border file
[-placement] - set how far along the edge border points are drawn
<fraction> - fraction along edge from inside vertex (default 0.33)
[-column] - select a single column
<column> - the column number or name
For each ROI column, finds all edges on the mesh that cross the boundary
of the ROI, and draws borders through them. By default, this is done on
all columns in the input file, using the map name as the name for the
border.
-metric-smoothing
SMOOTH A METRIC FILE
wb_command -metric-smoothing
<surface> - the surface to smooth on
<metric-in> - the metric to smooth
<smoothing-kernel> - the size of the gaussian smoothing kernel in mm, as
sigma by default
<metric-out> - output - the output metric
[-fwhm] - kernel size is FWHM, not sigma
[-roi] - select a region of interest to smooth
<roi-metric> - the roi to smooth within, as a metric
[-match-columns] - for each input column, use the corresponding column
from the roi
[-fix-zeros] - treat zero values as not being data
[-column] - select a single column to smooth
<column> - the column number or name
[-corrected-areas] - vertex areas to use instead of computing them from
the surface
<area-metric> - the corrected vertex areas, as a metric
[-method] - select smoothing method, default GEO_GAUSS_AREA
<method> - the name of the smoothing method
Smooth a metric file on a surface. By default, smooths all input columns
on the entire surface, specify -column to use only one input column, and
-roi to smooth only where the roi metric is greater than 0, outputting
zeros elsewhere.
When using -roi, input data outside the ROI is not used to compute the
smoothed values. By default, the first column of the roi metric is used
for all input columns. When -match-columns is specified to the -roi
option, the input and roi metrics must have the same number of columns,
and for each input column's index, the same column index is used in the
roi metric. If the -match-columns option to -roi is used while the
-column option is also used, the number of columns must match between the
roi and input metric, and it will use the roi column with the index of
the selected input column.
The -fix-zeros option causes the smoothing to not use an input value if
it is zero, but still write a smoothed value to the vertex. This is
useful for zeros that indicate lack of information, preventing them from
pulling down the intensity of nearby vertices, while giving the zero an
extrapolated value.
The -corrected-areas option is intended for when it is unavoidable to
smooth on a group average surface, it is only an approximate correction
for the reduction of structure in a group average surface. It is better
to smooth the data on individuals before averaging, when feasible.
Valid values for <method> are:
GEO_GAUSS_AREA - uses a geodesic gaussian kernel, and normalizes based on
vertex area in order to work more reliably on irregular surfaces
GEO_GAUSS_EQUAL - uses a geodesic gaussian kernel, and normalizes
assuming each vertex has equal importance
GEO_GAUSS - matches geodesic gaussian smoothing from caret5, but does not
check kernels for having unequal importance
The GEO_GAUSS_AREA method is the default because it is usually the
correct choice. GEO_GAUSS_EQUAL may be the correct choice when the sum
of vertex values is more meaningful then the surface integral (sum of
values .* areas), for instance when smoothing vertex areas (the sum is
the total surface area, while the surface integral is the sum of squares
of the vertex areas). The GEO_GAUSS method is not recommended, it exists
mainly to replicate methods of studies done with caret5's geodesic
smoothing.
-metric-stats
SPATIAL STATISTICS ON A METRIC FILE
wb_command -metric-stats
<metric-in> - the input metric
[-reduce] - use a reduction operation
<operation> - the reduction operation
[-percentile] - give the value at a percentile
<percent> - the percentile to find, must be between 0 and 100
[-column] - only display output for one column
<column> - the column number or name
[-roi] - only consider data inside an roi
<roi-metric> - the roi, as a metric file
[-match-maps] - each column of input uses the corresponding column
from the roi file
[-show-map-name] - print map index and name before each output
For each column of the input, a line of text is printed, resulting from
the specified reduction or percentile operation. Use -column to only
give output for a single column. If the -roi option is used without
-match-maps, then each line will contain as many numbers as there are
maps in the ROI file, separated by tab characters. Exactly one of
-reduce or -percentile must be specified.
The argument to the -reduce option must be one of the following:
MAX: the maximum value
MIN: the minimum value
INDEXMAX: the 1-based index of the maximum value
INDEXMIN: the 1-based index of the minimum value
SUM: add all values
PRODUCT: multiply all values
MEAN: the mean of the data
STDEV: the standard deviation (N denominator)
SAMPSTDEV: the sample standard deviation (N-1 denominator)
VARIANCE: the variance of the data
TSNR: mean divided by sample standard deviation (N-1 denominator)
COV: sample standard deviation (N-1 denominator) divided by mean
L2NORM: square root of sum of squares
MEDIAN: the median of the data
MODE: the mode of the data
COUNT_NONZERO: the number of nonzero elements in the data
-metric-tfce
DO TFCE ON A METRIC FILE
wb_command -metric-tfce
<surface> - the surface to compute on
<metric-in> - the metric to run TFCE on
<metric-out> - output - the output metric
[-presmooth] - smooth the metric before running TFCE
<kernel> - the size of the gaussian smoothing kernel in mm, as sigma
by default
[-fwhm] - kernel size is FWHM, not sigma
[-roi] - select a region of interest to run TFCE on
<roi-metric> - the area to run TFCE on, as a metric
[-parameters] - set parameters for TFCE integral
<E> - exponent for cluster area (default 1.0)
<H> - exponent for threshold value (default 2.0)
[-column] - select a single column
<column> - the column number or name
[-corrected-areas] - vertex areas to use instead of computing them from
the surface
<area-metric> - the corrected vertex areas, as a metric
This command does not do any statistical analysis. Please use something
like PALM if you are just trying to do statistics on your data.
Threshold-free cluster enhancement is a method to increase the relative
value of regions that would form clusters in a standard thresholding
test. This is accomplished by evaluating the integral of:
e(h, p)^E * h^H * dh
at each vertex p, where h ranges from 0 to the maximum value in the data,
and e(h, p) is the extent of the cluster containing vertex p at threshold
h. Negative values are similarly enhanced by negating the data, running
the same process, and negating the result.
When using -presmooth with -corrected-areas, note that it is an
approximate correction within the smoothing algorithm (the TFCE
correction is exact). Doing smoothing on individual surfaces before
averaging/TFCE is preferred, when possible, in order to better tie the
smoothing kernel size to the original feature size.
The TFCE method is explained in: Smith SM, Nichols TE., "Threshold-free
cluster enhancement: addressing problems of smoothing, threshold
dependence and localisation in cluster inference." Neuroimage. 2009 Jan
1;44(1):83-98. PMID: 18501637
-metric-to-volume-mapping
MAP METRIC FILE TO VOLUME
wb_command -metric-to-volume-mapping
<metric> - the input metric file
<surface> - the surface to use coordinates from
<volume-space> - a volume file in the desired output volume space
<volume-out> - output - the output volume file
[-nearest-vertex] - use the value from the vertex closest to the voxel
center
<distance> - how far from the surface to map values to voxels, in mm
[-ribbon-constrained] - use ribbon constrained mapping algorithm
<inner-surf> - the inner surface of the ribbon
<outer-surf> - the outer surface of the ribbon
[-voxel-subdiv] - voxel divisions while estimating voxel weights
<subdiv-num> - number of subdivisions, default 3
[-greedy] - instead of antialiasing partial-volumed voxels, put full
metric values (legacy behavior)
[-thick-columns] - use overlapping columns (legacy method)
Maps values from a metric file into a volume file. You must specify
exactly one mapping method option. The -nearest-vertex method uses the
value from the vertex closest to the voxel center (useful for integer
values). The -ribbon-constrained method uses the same method as in
-volume-to-surface-mapping, then uses the weights in reverse. Mapping to
lower resolutions than the mesh may require a larger -voxel-subdiv value
in order to have all of the surface data participate.
-metric-vector-operation
DO A VECTOR OPERATION ON METRIC FILES
wb_command -metric-vector-operation
<vectors-a> - first vector input file
<vectors-b> - second vector input file
<operation> - what vector operation to do
<metric-out> - output - the output file
[-normalize-a] - normalize vectors of first input
[-normalize-b] - normalize vectors of second input
[-normalize-output] - normalize output vectors (not valid for dot
product)
[-magnitude] - output the magnitude of the result (not valid for dot
product)
Does a vector operation on two metric files (that must have a multiple of
3 columns). Either of the inputs may have multiple vectors (more than 3
columns), but not both (at least one must have exactly 3 columns). The
-magnitude and -normalize-output options may not be specified together,
or with an operation that returns a scalar (dot product). The
<operation> parameter must be one of the following:
DOT
CROSS
ADD
SUBTRACT
-metric-vector-toward-roi
FIND IF VECTORS POINT TOWARD AN ROI
wb_command -metric-vector-toward-roi
<surface> - the surface to compute on
<target-roi> - the roi to find the shortest path to
<metric-out> - output - the output metric
[-roi] - don't compute for vertices outside an roi
<roi-metric> - the region to compute inside, as a metric
At each vertex, compute the vector along the start of the shortest path
to the ROI.
-metric-weighted-stats
WEIGHTED SPATIAL STATISTICS ON A METRIC FILE
wb_command -metric-weighted-stats
<metric-in> - the input metric
[-area-surface] - use vertex areas as weights
<area-surface> - the surface to use for vertex areas
[-weight-metric] - use weights from a metric file
<weight-metric> - metric file containing the weights
[-column] - only display output for one column
<column> - the column number or name
[-roi] - only consider data inside an roi
<roi-metric> - the roi, as a metric file
[-match-maps] - each column of input uses the corresponding column
from the roi file
[-mean] - compute weighted mean
[-stdev] - compute weighted standard deviation
[-sample] - estimate population stdev from the sample
[-percentile] - compute weighted percentile
<percent> - the percentile to find, must be between 0 and 100
[-sum] - compute weighted sum
[-show-map-name] - print map index and name before each output
For each column of the input, a line of text is printed, resulting from
the specified operation. You must specify exactly one of -area-surface
or -weight-metric. Use -column to only give output for a single column.
If the -roi option is used without -match-maps, then each line will
contain as many numbers as there are maps in the ROI file, separated by
tab characters. Exactly one of -mean, -stdev, -percentile or -sum must
be specified.
Using -sum with -area-surface (or -weight-metric with a metric containing
similar data) is equivalent to integrating with respect to surface area.
For example, if you want to find the surface area within an roi, do this:
$ wb_command -metric-weighted-stats roi.func.gii -sum -area-surface
midthickness.surf.gii
-nifti-information
DISPLAY INFORMATION ABOUT A NIFTI/CIFTI FILE
wb_command -nifti-information
<nifti-file> - the nifti/cifti file to examine
[-print-header] - display the header contents
[-allow-truncated] - print the header even if the data is truncated
[-print-matrix] - output the values in the matrix (cifti only)
[-print-xml] - print the cifti XML (cifti only)
[-version] - convert the XML to a specific CIFTI version (default is
the file's cifti version)
<version> - the CIFTI version to use
You must specify at least one -print-* option.
-probtrackx-dot-convert
CONVERT A .DOT FILE FROM PROBTRACKX TO CIFTI
wb_command -probtrackx-dot-convert
<dot-file> - input .dot file
<cifti-out> - output - output cifti file
[-row-voxels] - the output mapping along a row will be voxels
<voxel-list-file> - a text file containing IJK indices for the voxels
used
<label-vol> - a label volume with the dimensions and sform used, with
structure labels
[-row-surface] - the output mapping along a row will be surface vertices
<roi-metric> - a metric file with positive values on all vertices used
[-row-cifti] - take the mapping along a row from a cifti file
<cifti> - the cifti file to take the mapping from
<direction> - which dimension to take the mapping along, ROW or COLUMN
[-col-voxels] - the output mapping along a column will be voxels
<voxel-list-file> - a text file containing IJK indices for the voxels
used
<label-vol> - a label volume with the dimensions and sform used, with
structure labels
[-col-surface] - the output mapping along a column will be surface
vertices
<roi-metric> - a metric file with positive values on all vertices used
[-col-cifti] - take the mapping along a column from a cifti file
<cifti> - the cifti file to take the mapping from
<direction> - which dimension to take the mapping along, ROW or COLUMN
[-transpose] - transpose the input matrix
[-make-symmetric] - transform half-square input into full matrix output
NOTE: exactly one -row option and one -col option must be used.
If the input file does not have its indexes sorted in the correct
ordering, this command may take longer than expected. Specifying
-transpose will transpose the input matrix before trying to put its
values into the cifti file, which is currently needed for at least
matrix2 in order to display it as intended. How the cifti file is
displayed is based on which -row option is specified: if -row-voxels is
specified, then it will display data on volume slices. The label names
in the label volume(s) must have the following names, other names are
ignored:
CORTEX_LEFT
CORTEX_RIGHT
CEREBELLUM
ACCUMBENS_LEFT
ACCUMBENS_RIGHT
ALL_GREY_MATTER
ALL_WHITE_MATTER
AMYGDALA_LEFT
AMYGDALA_RIGHT
BRAIN_STEM
CAUDATE_LEFT
CAUDATE_RIGHT
CEREBELLAR_WHITE_MATTER_LEFT
CEREBELLAR_WHITE_MATTER_RIGHT
CEREBELLUM_LEFT
CEREBELLUM_RIGHT
CEREBRAL_WHITE_MATTER_LEFT
CEREBRAL_WHITE_MATTER_RIGHT
CORTEX
DIENCEPHALON_VENTRAL_LEFT
DIENCEPHALON_VENTRAL_RIGHT
HIPPOCAMPUS_LEFT
HIPPOCAMPUS_RIGHT
HIPPOCAMPUS_DENTATE_LEFT
HIPPOCAMPUS_DENTATE_RIGHT
INVALID
OTHER
OTHER_GREY_MATTER
OTHER_WHITE_MATTER
PALLIDUM_LEFT
PALLIDUM_RIGHT
PUTAMEN_LEFT
PUTAMEN_RIGHT
THALAMUS_LEFT
THALAMUS_RIGHT
-scene-capture-image
OFFSCREEN RENDERING OF SCENE TO AN IMAGE FILE
wb_command -scene-capture-image
<scene-file> - scene file
<scene-name-or-number> - name or number (starting at one) of the scene in
the scene file
<image-file-name> - output - image file name
The file name must end with a valid extension that identifies the
image file format. Valid extensions on this system are: (.bmp .jpeg
.jpg .png .ppm .tif .tiff).
If there is more than one window in the scene, multiple image files
are output with the window's number inserted into the name of the
image file immediately before the image file's extension.
[-size-window] - Output image is size of window's graphics region from
when scene was created.
[-size-capture] - Output image uses size from Capture Dialog when scene
was created
[-size-width-height] - Width and height for output image
<width> - Width for output image
<height> - Height for output image
[-size-width] - Width for output image. Height is computed using the
aspect ratio from the window's width and height saved in the scene.
<width> - Width for output image
[-size-height] - Height for output image. Width is computed using the
aspect ratio from the window's width and height saved in the scene.
<height> - Height for output image
[-units] - Units for image width/height
Default is PIXELS
<units> - Name of units for image width/height. Valid units are:
INCHES
CENTIMETERS
MILLIMETERS
METERS
PIXELS
[-resolution] - Image resolution (number pixels per size unit)
Default is 300 PIXELS_PER_INCH
<Number of pixels> - number of pixels
<Units Name> - Name of resolution units. Valid resolution unit names
are:
PIXELS_PER_INCH
PIXELS_PER_CENTIMETER
PIXELS_PER_METER
PIXELS_PER_MILLIMETER
[-margin] - Add a margin to sides of the image using the window's
background color.
<size> - size of margin, in pixels, added to all sides of output image
[-no-scene-colors] - Do not use background and foreground colors in scene
[-set-map-yoke] - Override selected map index for a map yoking group.
<map yoking roman numeral> - Roman numeral identifying the map yoking
group (I, II, III, IV, V, VI, VII, VIII, IX, X)
<map undex> - Map index for yoking group. Indices start at 1 (one)
[-conn-db-login] - Login for scenes with files in Connectome Database.
If this option is not specified, the login and password stored in the
user's preferences is used.
<username> - Connectome DB Username
<password> - Connectome DB Password
[-show-capture-settings] - Print settings from Capture Dialog only, DO
NOT create image file(s)
[-renderer] - Select renderer for drawing image
<Renderer> - Name of renderer to use for drawing image
Available renderers are (first is default):
OSMesa - Mesa3D OSMesa software renderer
[-print-image-info] - Print the size and other information about output
images only and DO NOT create any output images
----------------------------------------------------------------------
Render content of browser windows displayed in a scene into image
file(s).
If none of the "-size" options are specified, the default is
"-size-window" (Output image is size of the window that was saved in the
scene).
For the "-size" options that accept a width and/or height, the values
default to number of pixels. To express the width and/or height in
physical units (inches, centimeters, etc.), use the "-units" option.
When physical units are used, the pixel width and height are derived
using the physical width/height and the image resolution (see the
"-resolution" option).
Note that scenes created prior to version 1.2 (May 2016) do not contain
information about the size of the window. Therefore, one must use the
"-size-width-height" option.
Examples:
Generate an image of the second scene. Width and height of image is
width and height of window saved in the scene.
wb_command -scene-capture-image myscene.scene 2 image2.jpg
Generate an image of the second scene with a margin around sides of the
image. Width and height of image is width and height of window saved in
the scene.
wb_command -scene-capture-image myscene.scene 2 image2.jpg -margin 10
Generate an image of the second scene that is 6 inches width with 300
pixels per inch. The resulting width is 1800 pixels. The resulting
height of the image is a function of the width and the aspect ratio
(height divided by width) of the window size saved in the scene.
wb_command -scene-capture-image myscene.scene 2 image21.jpg \
-size-width 6 -units INCHES -resolution 300 PIXELS_PER_INCH
Print information about the size of the output image for the second scene
(no image file is created) using a width of 4.5 centimeters.
wb_command -scene-capture-image myscene.scene 2 test.jpg \
-size-width 4.5 -units CENTIMETERS -print-image-info
-scene-file-merge
REARRANGE SCENES INTO A NEW FILE
wb_command -scene-file-merge
<scene-file-out> - output - the output scene file
[-scene-file] - repeatable - specify a scene file to use scenes from
<scene-file> - the input scene file
[-scene] - repeatable - specify a scene to use
<scene> - the scene number or name
[-up-to] - use an inclusive range of scenes
<last-column> - the number or name of the last scene to include
[-reverse] - use the range in reverse order
Takes one or more scene files and constructs a new scene file by
concatenating specified scenes from them.
Example: wb_command -scene-file-merge out.scene -scene-file first.scene
-scene 1 -scene-file second.scene
This example would take the first scene from first.scene, followed by all
scenes from second.scene, and write these scenes to out.scene.
-scene-file-relocate
RECREATE SCENE FILE IN NEW LOCATION
wb_command -scene-file-relocate
<input-scene> - the scene file to use
<output-scene> - output - the new scene file to create
Scene files contain internal relative paths, such that moving or copying
a scene file will cause it to lose track of the files it refers to. This
command makes a modified copy of the scene file, changing the relative
paths to refer to the new relative locations of the files.
-scene-file-update
UPDATE SCENE FILE
wb_command -scene-file-update
<input-scene-file> - the input scene file
<output-scene-file> - the new scene file to create
<scene-name-or-number> - name or number (starting at one) of the scene in
the scene file
[-fix-map-palette-settings] - Fix palette settings for files with change
in number of maps
[-remove-missing-files] - Remove missing files from SpecFile
[-error] - Abort command if there is an error performing any of the
operations on the scene file
[-verbose] - Print names of files that have palettes updated
[-copy-map-one-palette] - repeatable - Copy palettes settings from first
map to all maps in a data file
<Data File Name Suffix> - Name of palette mapped data file (cifti,
metric, volume)
[-data-file-add] - repeatable - Add a data file to scene's loaded files
<Name of data file> - Name of data file. If a data file not in the
current directory, it is best to use an absolute path (a relative
path may work). Instead of a data file, this value may be the name
of a text file (must end in ".txt") that contains the names of one
or more data files, one per line.
Example on UNIX to create a text file containing all CIFTI scalar
files in the current directory with absolute paths:
ls -d $PWD/*dscalar.nii > file.txt
[-data-file-remove] - repeatable - Remove a data file from scene's loaded
files
<Name of data file> - Name of data file. If a data file not in the
current directory, it is best to use an absolute path (a relative
path may work). Instead of a data file, this value may be the name
of a text file (must end in ".txt") that contains the names of one
or more data files, one per line.
Example on UNIX to create a text file containing all CIFTI scalar
files in the current directory with absolute paths:
ls -d $PWD/*dscalar.nii > file.txt
This command will update a scene for specific changes in data files.
"-fix-map-palette-settings" will find all data files that have had a
change in the number of maps since the scene scene was created. If the
file has its "Apply to All Maps" property enabled, the palette setting in
the first map is copied to all maps in the file. Note: This modifies the
palette settings for the file in the scene (data file is NOT modified).
"-copy-map-one-palette" will copy the palette settings from the first map
to all other maps in a data file. This option is typically used when the
number of maps in a data file changes. It changes the palette settings
in the scene that are applied to the data file when the scene is loaded
(the data file is not modified). The name of the data file specified on
the command line is matched to the end of file names in the scene. This
allows matching multiple files if their names end with the same
characters. It also allows including a relative path when there is more
than one file with the same name but in different paths and only one of
the files to be updated.
"-remove-missing-files" Any files that fail to load when the scene is
read will be removed from the scene. Thus, if one deletes files prior to
running with this option, the deleted files are removed from the scene.
"-error" If this option is provided and there is an error while
performing any of the scene operations, the command will immediately
cease processing and the output scene file will not be created.
Otherwise any errors will be listed after the command finishes.
-set-map-names
SET THE NAME OF ONE OR MORE MAPS IN A FILE
wb_command -set-map-names
<data-file> - the file to set the map names of
[-name-file] - use a text file to replace all map names
<file> - text file containing map names, one per line
[-from-data-file] - use the map names from another data file
<file> - a data file with the same number of maps
[-map] - repeatable - specify a map to set the name of
<index> - the map index to change the name of
<new-name> - the name to set for the map
Sets the name of one or more maps for metric, shape, label, volume, cifti
scalar or cifti label files. You must specify either -name-file, or
-from-data-file, or at least one -map option. The three option types are
mutually exclusive.
-set-structure
SET STRUCTURE OF A DATA FILE
wb_command -set-structure
<data-file> - the file to set the structure of
<structure> - the structure to set the file to
[-surface-type] - set the type of a surface (only used if file is a
surface file)
<type> - name of surface type
[-surface-secondary-type] - set the secondary type of a surface (only
used if file is a surface file)
<secondary type> - name of surface secondary type
The existing file is modified and rewritten to the same filename. Valid
values for the structure name are:
CORTEX_LEFT
CORTEX_RIGHT
CEREBELLUM
ACCUMBENS_LEFT
ACCUMBENS_RIGHT
ALL_GREY_MATTER
ALL_WHITE_MATTER
AMYGDALA_LEFT
AMYGDALA_RIGHT
BRAIN_STEM
CAUDATE_LEFT
CAUDATE_RIGHT
CEREBELLAR_WHITE_MATTER_LEFT
CEREBELLAR_WHITE_MATTER_RIGHT
CEREBELLUM_LEFT
CEREBELLUM_RIGHT
CEREBRAL_WHITE_MATTER_LEFT
CEREBRAL_WHITE_MATTER_RIGHT
CORTEX
DIENCEPHALON_VENTRAL_LEFT
DIENCEPHALON_VENTRAL_RIGHT
HIPPOCAMPUS_LEFT
HIPPOCAMPUS_RIGHT
HIPPOCAMPUS_DENTATE_LEFT
HIPPOCAMPUS_DENTATE_RIGHT
INVALID
OTHER
OTHER_GREY_MATTER
OTHER_WHITE_MATTER
PALLIDUM_LEFT
PALLIDUM_RIGHT
PUTAMEN_LEFT
PUTAMEN_RIGHT
THALAMUS_LEFT
THALAMUS_RIGHT
Valid names for the surface type are:
UNKNOWN
RECONSTRUCTION
ANATOMICAL
INFLATED
VERY_INFLATED
SPHERICAL
SEMI_SPHERICAL
ELLIPSOID
FLAT
HULL
Valid names for the surface secondary type are:
INVALID
GRAY_WHITE
MIDTHICKNESS
PIAL
INNER
OUTER
-signed-distance-to-surface
COMPUTE SIGNED DISTANCE FROM ONE SURFACE TO ANOTHER
wb_command -signed-distance-to-surface
<surface-comp> - the comparison surface to measure the signed distance on
<surface-ref> - the reference surface that defines the signed distance
function
<metric> - output - the output metric
[-winding] - winding method for point inside surface test
<method> - name of the method (default EVEN_ODD)
Compute the signed distance function of the reference surface at every
vertex on the comparison surface. NOTE: this relation is NOT symmetric,
the line from a vertex to the closest point on the 'ref' surface (the one
that defines the signed distance function) will only align with the
normal of the 'ref' surface. Valid specifiers for winding methods are as
follows:
EVEN_ODD (default)
NEGATIVE
NONZERO
NORMALS
The NORMALS method uses the normals of triangles and edges, or the
closest triangle hit by a ray from the point. This method may be
slightly faster, but is only reliable for a closed surface that does not
cross through itself. All other methods count entry (positive) and exit
(negative) crossings of a vertical ray from the point, then counts as
inside if the total is odd, negative, or nonzero, respectively.
-spec-file-merge
MERGE TWO SPEC FILES INTO ONE
wb_command -spec-file-merge
<spec-1> - first spec file to merge
<spec-2> - second spec file to merge
<out-spec> - output - output spec file
The output spec file contains every file that is in either of the input
spec files.
-spec-file-modify
ADD OR REMOVE FILES FROM SPEC FILE
wb_command -spec-file-modify
<spec-file> - the spec file to modify
[-add] - repeatable - add a file to the spec
<structure> - the structure of the data file
<file> - the file to add
[-remove] - repeatable - remove a file from the spec file
<filename> - the filename to remove
[-recursive] - remove all files that match the string starting from
any folder
[-suffix] - match any file that ends with the given string (if there
are multiple matches, error unless -recursive was also specified)
The input spec file is overwritten with the new version. If the spec
file does not exist, it is created with default metadata.
Removals are done before additions, so that you can remove files with a
pattern, and then add new files even if they match that removal pattern.
The <structure> argument of -add must match one of the following strings
(you can use INVALID for cifti or volume files):CORTEX_LEFT
CORTEX_RIGHT
CEREBELLUM
ACCUMBENS_LEFT
ACCUMBENS_RIGHT
ALL_GREY_MATTER
ALL_WHITE_MATTER
AMYGDALA_LEFT
AMYGDALA_RIGHT
BRAIN_STEM
CAUDATE_LEFT
CAUDATE_RIGHT
CEREBELLAR_WHITE_MATTER_LEFT
CEREBELLAR_WHITE_MATTER_RIGHT
CEREBELLUM_LEFT
CEREBELLUM_RIGHT
CEREBRAL_WHITE_MATTER_LEFT
CEREBRAL_WHITE_MATTER_RIGHT
CORTEX
DIENCEPHALON_VENTRAL_LEFT
DIENCEPHALON_VENTRAL_RIGHT
HIPPOCAMPUS_LEFT
HIPPOCAMPUS_RIGHT
HIPPOCAMPUS_DENTATE_LEFT
HIPPOCAMPUS_DENTATE_RIGHT
INVALID
OTHER
OTHER_GREY_MATTER
OTHER_WHITE_MATTER
PALLIDUM_LEFT
PALLIDUM_RIGHT
PUTAMEN_LEFT
PUTAMEN_RIGHT
THALAMUS_LEFT
THALAMUS_RIGHT
-spec-file-relocate
RECREATE SPEC FILE IN NEW LOCATION
wb_command -spec-file-relocate
<input-spec> - the spec file to use
<output-spec> - output - the new spec file to create
Spec files contain internal relative paths, such that moving or copying a
spec file will cause it to lose track of the files it refers to. This
command makes a modified copy of the spec file, changing the relative
paths to refer to the new relative locations of the files.
-surface-affine-regression
REGRESS THE AFFINE TRANSFORM BETWEEN SURFACES ON THE SAME MESH
wb_command -surface-affine-regression
<source> - the surface to warp
<target> - the surface to match the coordinates of
<affine-out> - output - the output affine file
Use linear regression to compute an affine that minimizes the sum of
squares of the coordinate differences between the target surface and the
warped source surface. Note that this has a bias to shrink the surface
that is being warped. The output is written as a NIFTI 'world' matrix,
see -convert-affine to convert it for use in other software.
-surface-apply-affine
APPLY AFFINE TRANSFORM TO SURFACE FILE
wb_command -surface-apply-affine
<in-surf> - the surface to transform
<affine> - the affine file
<out-surf> - output - the output transformed surface
[-flirt] - MUST be used if affine is a flirt affine
<source-volume> - the source volume used when generating the affine
<target-volume> - the target volume used when generating the affine
For flirt matrices, you must use the -flirt option, because flirt
matrices are not a complete description of the coordinate transform they
represent. If the -flirt option is not present, the affine must be a
nifti 'world' affine, which can be obtained with the -convert-affine
command, or aff_conv from the 4dfp suite.
-surface-apply-warpfield
APPLY WARPFIELD TO SURFACE FILE
wb_command -surface-apply-warpfield
<in-surf> - the surface to transform
<warpfield> - the INVERSE warpfield
<out-surf> - output - the output transformed surface
[-fnirt] - MUST be used if using a fnirt warpfield
<forward-warp> - the forward warpfield
NOTE: warping a surface requires the INVERSE of the warpfield used to
warp the volume it lines up with. The header of the forward warp is
needed by the -fnirt option in order to correctly interpret the
displacements in the fnirt warpfield.
If the -fnirt option is not present, the warpfield must be a nifti
'world' warpfield, which can be obtained with the -convert-warpfield
command.
-surface-average
AVERAGE SURFACE FILES TOGETHER
wb_command -surface-average
<surface-out> - output - the output averaged surface
[-stddev] - compute 3D sample standard deviation
<stddev-metric-out> - output - the output metric for 3D sample
standard deviation
[-uncertainty] - compute caret5 'uncertainty'
<uncert-metric-out> - output - the output metric for uncertainty
[-surf] - repeatable - specify a surface to include in the average
<surface> - a surface file to average
[-weight] - specify a weighted average
<weight> - the weight to use (default 1)
The 3D sample standard deviation is computed as
'sqrt(sum(squaredlength(xyz - mean(xyz)))/(n - 1))'.
Uncertainty is a legacy measure used in caret5, and is computed as
'sum(length(xyz - mean(xyz)))/n'.
When weights are used, the 3D sample standard deviation treats them as
reliability weights.
-surface-closest-vertex
FIND CLOSEST SURFACE VERTEX TO COORDINATES
wb_command -surface-closest-vertex
<surface> - the surface to use
<coord-list-file> - text file with coordinates
<vertex-list-out> - output - the output text file with vertex numbers
For each coordinate XYZ triple, find the closest vertex in the surface,
and output its vertex number into a text file. The input file should
only use whitespace to separate coordinates (spaces, newlines, tabs), for
instance:
20 30 25
30 -20 10
-surface-coordinates-to-metric
MAKE METRIC FILE OF SURFACE COORDINATES
wb_command -surface-coordinates-to-metric
<surface> - the surface to use the coordinates of
<metric-out> - output - the output metric
Puts the coordinates of the surface into a 3-map metric file, as x, y, z.
-surface-cortex-layer
CREATE SURFACE APPROXIMATING A CORTICAL LAYER
wb_command -surface-cortex-layer
<white-surface> - the white matter surface
<pial-surface> - the pial surface
<location> - what volume fraction to place the layer at
<out-surface> - output - the output surface
[-placement-out] - output the placement as a volume fraction from pial to
white
<placement-metric> - output - output metric
The input surfaces must have vertex correspondence. The output surface
is generated by placing vertices between the two surfaces such that the
enclosed volume within any small patch of the new and white surfaces is
the given fraction of the volume of the same patch between the pial and
white surfaces (i.e., specifying 0 would give the white surface, 1 would
give the pial surface).
-surface-create-sphere
GENERATE A SPHERE WITH CONSISTENT VERTEX AREAS
wb_command -surface-create-sphere
<num-vertices> - desired number of vertices
<sphere-out> - output - the output sphere
Generates a sphere by regularly dividing the triangles of an icosahedron,
to come as close to the desired number of vertices as possible, and
modifying it to have very similar vertex areas for all vertices. To
generate a pair of vertex-matched left and right spheres, use this
command, then -surface-flip-lr to generate the other sphere, then
-set-structure on each. For example:
$ wb_command -surface-create-sphere 6000 Sphere.6k.R.surf.gii
$ wb_command -surface-flip-lr Sphere.6k.R.surf.gii Sphere.6k.L.surf.gii
$ wb_command -set-structure Sphere.6k.R.surf.gii CORTEX_RIGHT
$ wb_command -set-structure Sphere.6k.L.surf.gii CORTEX_LEFT
-surface-curvature
CALCULATE CURVATURE OF SURFACE
wb_command -surface-curvature
<surface> - the surface to compute the curvature of
[-mean] - output mean curvature
<mean-out> - output - mean curvature metric
[-gauss] - output gaussian curvature
<gauss-out> - output - gaussian curvature metric
Compute the curvature of the surface, using the method from:
Interactive Texture Mapping by J. Maillot, Yahia, and Verroust, 1993.
ACM-0-98791-601-8/93/008
-surface-cut-resample
RESAMPLE A CUT SURFACE
wb_command -surface-cut-resample
<surface-in> - the surface file to resample
<current-sphere> - a sphere surface with the mesh that the input surface
is currently on
<new-sphere> - a sphere surface that is in register with <current-sphere>
and has the desired output mesh
<surface-out> - output - the output surface file
Resamples a surface file, given two spherical surfaces that are in
register. Barycentric resampling is used, because it is usually better
for resampling surfaces, and because it is needed to figure out the new
topology anyway.
-surface-distortion
MEASURE DISTORTION BETWEEN SURFACES
wb_command -surface-distortion
<surface-reference> - the reference surface
<surface-distorted> - the distorted surface
<metric-out> - output - the output distortion metric
[-smooth] - smooth the area data
<sigma> - the size of the smoothing kernel in mm, as sigma by default
[-fwhm] - kernel size is FWHM, not sigma
[-match-surface-area] - isotropically rescale the distorted surface so
that it has the same surface area as the reference surface
[-roi] - only use the surface area within a given ROI (e.g., to
exclude the medial wall)
<roi-metric> - the ROI to use, as a metric file
[-caret5-method] - use the surface distortion method from caret5
[-edge-method] - calculate distortion of edge lengths rather than areas
[-local-affine-method] - calculate distortion by the local affines
between triangles
[-log2] - apply base-2 log transform
This command, when not using -caret5-method, -edge-method, or
-local-affine-method, is equivalent to using -surface-vertex-areas on
each surface, smoothing both output metrics with the GEO_GAUSS_EQUAL
method on the surface they came from if -smooth is specified, and then
using the formula 'ln(distorted/reference)/ln(2)' on the smoothed
results.
When using -caret5-method, it uses the surface distortion method from
caret5, which takes the base 2 log of the ratio of tile areas, then
averages those results at each vertex, and then smooths the result on the
reference surface.
When using -edge-method, the -smooth option is ignored, and the output at
each vertex is the average of 'abs(ln(refEdge/distortEdge)/ln(2))' over
all edges connected to the vertex.
When using -local-affine-method, the -smooth option is ignored. The
output is two columns, the first is the area distortion ratio, and the
second is anisotropic strain. These are calculated by an affine
transform between matching triangles, and then averaged across the
triangles of a vertex.
-surface-flip-lr
MIRROR A SURFACE THROUGH THE YZ PLANE
wb_command -surface-flip-lr
<surface> - the surface to flip
<surface-out> - output - the output flipped surface
This command negates the x coordinate of each vertex, and flips the
surface normals, so that you have a surface of opposite handedness with
the same features and vertex correspondence, with normals consistent with
the original surface. That is, if the input surface has normals facing
outward, the output surface will also have normals facing outward.
-surface-flip-normals
FLIP ALL TILES ON A SURFACE
wb_command -surface-flip-normals
<surface> - the surface to flip the normals of
<surface-out> - output - the output surface
Flips all triangles on a surface, resulting in surface normals being
flipped the other direction (inward vs outward). If you transform a
surface with an affine that has negative determinant, or a warpfield that
similarly flips the surface, you may end up with a surface that has
normals pointing inwards, which may have display problems. Using this
command will solve that problem.
-surface-generate-inflated
SURFACE GENERATE INFLATED
wb_command -surface-generate-inflated
<anatomical-surface-in> - the anatomical surface
<inflated-surface-out> - output - the output inflated surface
<very-inflated-surface-out> - output - the output very inflated surface
[-iterations-scale] - optional iterations scaling
<iterations-scale-value> - iterations-scale value
Generate inflated and very inflated surfaces. The output surfaces are
'matched' (have same XYZ range) to the anatomical surface. In most cases,
an iterations-scale of 1.0 (default) is sufficient. However, if the
surface contains a large number of vertices (150,000), try an
iterations-scale of 2.5.
-surface-geodesic-distance
COMPUTE GEODESIC DISTANCE FROM ONE VERTEX TO THE ENTIRE SURFACE
wb_command -surface-geodesic-distance
<surface> - the surface to compute on
<vertex> - the vertex to compute geodesic distance from
<metric-out> - output - the output metric
[-naive] - use only neighbors, don't crawl triangles (not recommended)
[-limit] - stop at a certain distance
<limit-mm> - distance in mm to stop at
[-corrected-areas] - vertex areas to use instead of computing them from
the surface
<area-metric> - the corrected vertex areas, as a metric
Unless -limit is specified, computes the geodesic distance from the
specified vertex to all others. The result is output as a single column
metric file, with a value of -1 for vertices that the distance was not
computed for.
The -corrected-areas option should be used when the input is a group
average surface - group average surfaces have significantly less surface
area than individual surfaces do, and therefore distances measured on
them would be smaller than measuring them on individual surfaces. In
this case, the input to this option should be a group average of the
output of -surface-vertex-areas for each subject.
If -naive is not specified, the algorithm uses not just immediate
neighbors, but also neighbors derived from crawling across pairs of
triangles that share an edge.
-surface-geodesic-distance-all-to-all
COMPUTE GEODESIC DISTANCES FROM ALL VERTICES
wb_command -surface-geodesic-distance-all-to-all
<surface> - the surface to compute on
<cifti-out> - output - single-hemisphere dconn containing the distances
[-roi] - only output distances for vertices inside an ROI
<roi-metric> - the ROI as a metric file
[-limit] - stop at a specified distance
<limit-mm> - distance in mm to stop at
[-corrected-areas] - vertex areas to use to correct the distances on a
group-average surface
<area-metric> - the corrected vertex areas, as a metric
[-naive] - use only neighbors, don't crawl triangles (not recommended)
Computes geodesic distance from every vertex to every vertex, outputting
a single-hemisphere dconn file. If you are only interested in a few
vertices, see -surface-geodesic-distance. When -limit is specified, any
vertex beyond the limit is assigned the value -1.
The -roi option makes the output file smaller by not outputting distances
to or from vertices outside the ROI, but paths are still allowed to go
outside the ROI when finding distances to other vertices.
The -corrected-areas option should be used when the input is a group
average surface - group average surfaces have significantly less surface
area than individual surfaces do, and therefore distances measured on
them would be smaller than measuring them on individual surfaces. In
this case, the input to this option should be a group average of the
output of -surface-vertex-areas for each subject.
If -naive is not specified, the algorithm uses not just immediate
neighbors, but also neighbors derived from crawling across pairs of
triangles that share an edge.
-surface-geodesic-distance-sparse-text
OUTPUT GEODESIC DISTANCES AS TEXT
wb_command -surface-geodesic-distance-sparse-text
<surface> - the surface to compute on
<limit> - the geodesic distance limit in mm
<text-out> - output - the output text file
[-corrected-areas] - vertex areas to use to correct the distances on a
group-average surface
<area-metric> - the corrected vertex areas, as a metric
[-naive] - use only neighbors, don't crawl triangles (not recommended)
Similar to -geodesic-distance-all-to-all, but outputs in a text format
that only lists the in-range vertices. Each line in the output text file
is a list of pairs, like '<vertex>,<distance>,<vertex>,<distance>,...' in
csv format.
The -corrected-areas option should be used when the input is a group
average surface - group average surfaces have significantly less surface
area than individual surfaces do, and therefore distances measured on
them would be smaller than measuring them on individual surfaces. In
this case, the input to this option should be a group average of the
output of -surface-vertex-areas for each subject.
If -naive is not specified, the algorithm uses not just immediate
neighbors, but also neighbors derived from crawling across pairs of
triangles that share an edge.
-surface-geodesic-rois
DRAW GEODESIC LIMITED ROIS AT VERTICES
wb_command -surface-geodesic-rois
<surface> - the surface to draw on
<limit> - geodesic distance limit from vertex, in mm
<vertex-list-file> - a text file containing the vertices to draw ROIs
around
<metric-out> - output - the output metric
[-gaussian] - generate a gaussian kernel instead of a flat ROI
<sigma> - the sigma for the gaussian kernel, in mm
[-overlap-logic] - how to handle overlapping ROIs, default ALLOW
<method> - the method of resolving overlaps
[-names] - name the columns from text file
<name-list-file> - a text file containing column names, one per line
[-corrected-areas] - vertex areas to use instead of computing them from
the surface
<area-metric> - the corrected vertex areas, as a metric
For each vertex in the list file, a column in the output metric is
created, and an ROI around that vertex is drawn in that column. Each
metric column will have zeros outside the geodesic distance spacified by
<limit>, and by default will have a value of 1.0 inside it. If the
-gaussian option is specified, the values inside the ROI will instead
form a gaussian with the specified value of sigma, normalized so that the
sum of the nonzero values in the metric column is 1.0. The <method>
argument to -overlap-logic must be one of ALLOW, CLOSEST, or EXCLUDE.
ALLOW is the default, and means that ROIs are treated independently and
may overlap. CLOSEST means that ROIs may not overlap, and that no ROI
contains vertices that are closer to a different seed vertex. EXCLUDE
means that ROIs may not overlap, and that any vertex within range of more
than one ROI does not belong to any ROI.
-surface-inflation
SURFACE INFLATION
wb_command -surface-inflation
<anatomical-surface-in> - the anatomical surface
<surface-in> - the surface file to inflate
<number-of-smoothing-cycles> - number of smoothing cycles
<smoothing-strength> - smoothing strength (ranges [0.0 - 1.0])
<smoothing-iterations> - smoothing iterations
<inflation-factor> - inflation factor
<surface-out> - output - output surface file
Inflate a surface by performing cycles that consist of smoothing
followed by inflation (to correct shrinkage caused by smoothing).
-surface-information
DISPLAY INFORMATION ABOUT A SURFACE
wb_command -surface-information
<Surface File> - Surface for which information is displayed
Information about surface is displayed including vertices,
triangles, bounding box, and spacing.
-surface-match
SURFACE MATCH
wb_command -surface-match
<Match Surface File> - Match (Reference) Surface
<Input Surface File> - File containing surface that will be transformed
<Output Surface Name> - Surface File after transformation
The Input Surface File will be transformed so that its coordinate ranges
(bounding box) match that of the Match Surface File
-surface-modify-sphere
CHANGE RADIUS AND OPTIONALLY RECENTER A SPHERE
wb_command -surface-modify-sphere
<sphere-in> - the sphere to modify
<radius> - the radius the output sphere should have
<sphere-out> - output - the output sphere
[-recenter] - recenter the sphere by means of the bounding box
This command may be useful if you have used -surface-resample to resample
a sphere, which can suffer from problems generally not present in
-surface-sphere-project-unproject. If the sphere should already be
centered around the origin, using -recenter may still shift it slightly
before changing the radius, which is likely to be undesireable.
If <sphere-in> is not close to spherical, or not centered around the
origin and -recenter is not used, a warning is printed.
-surface-normals
OUTPUT VERTEX NORMALS AS METRIC FILE
wb_command -surface-normals
<surface> - the surface to output the normals of
<metric-out> - output - the normal vectors
Computes the normal vectors of the surface file, and outputs them as a 3
column metric file.
-surface-resample
RESAMPLE A SURFACE TO A DIFFERENT MESH
wb_command -surface-resample
<surface-in> - the surface file to resample
<current-sphere> - a sphere surface with the mesh that the input surface
is currently on
<new-sphere> - a sphere surface that is in register with <current-sphere>
and has the desired output mesh
<method> - the method name
<surface-out> - output - the output surface file
[-area-surfs] - specify surfaces to do vertex area correction based on
<current-area> - a relevant surface with <current-sphere> mesh
<new-area> - a relevant surface with <new-sphere> mesh
[-area-metrics] - specify vertex area metrics to do area correction based
on
<current-area> - a metric file with vertex areas for <current-sphere>
mesh
<new-area> - a metric file with vertex areas for <new-sphere> mesh
[-bypass-sphere-check] - ADVANCED: allow the current and new 'spheres' to
have arbitrary shape as long as they follow the same contour
Resamples a surface file, given two spherical surfaces that are in
register. If ADAP_BARY_AREA is used, exactly one of -area-surfs or
-area-metrics must be specified. This method is not generally
recommended for surface resampling, but is provided for completeness.
The BARYCENTRIC method is generally recommended for anatomical surfaces,
in order to minimize smoothing.
For cut surfaces (including flatmaps), use -surface-cut-resample.
Instead of resampling a spherical surface, the
-surface-sphere-project-unproject command is recommended.
The <method> argument must be one of the following:
ADAP_BARY_AREA
BARYCENTRIC
-surface-set-coordinates
MODIFY COORDINATES OF A SURFACE
wb_command -surface-set-coordinates
<surface-in> - the surface to use for the topology
<coord-metric> - the new coordinates, as a 3-column metric file
<surface-out> - output - the new surface
Takes the topology from an existing surface file, and uses values from a
metric file as coordinates to construct a new surface file.
See -surface-coordinates-to-metric for how to get surface coordinates as
a metric file, such that you can then modify them via metric commands,
etc.
-surface-smoothing
SURFACE SMOOTHING
wb_command -surface-smoothing
<surface-in> - the surface file to smooth
<smoothing-strength> - smoothing strength (ranges [0.0 - 1.0])
<smoothing-iterations> - smoothing iterations
<surface-out> - output - output surface file
Smooths a surface by averaging vertex coordinates with those of the
neighboring vertices.
-surface-sphere-project-unproject
COPY REGISTRATION DEFORMATIONS TO DIFFERENT SPHERE
wb_command -surface-sphere-project-unproject
<sphere-in> - a sphere with the desired output mesh
<sphere-project-to> - a sphere that aligns with sphere-in
<sphere-unproject-from> - <sphere-project-to> deformed to the desired
output space
<sphere-out> - output - the output sphere
Background: A surface registration starts with an input sphere, and moves
its vertices around on the sphere until it matches the template data.
This means that the registration deformation is actually represented as
the difference between two separate files - the starting sphere, and the
registered sphere. Since the starting sphere of the registration may not
have vertex correspondence to any other sphere (often, it is a native
sphere), it can be inconvenient to manipulate or compare these
deformations across subjects, etc.
The purpose of this command is to be able to apply these deformations
onto a new sphere of the user's choice, to make it easier to compare or
manipulate them. Common uses are to concatenate two successive separate
registrations (e.g. Human to Chimpanzee, and then Chimpanzee to Macaque)
or inversion (for dedrifting or symmetric registration schemes).
<sphere-in> must already be considered to be in alignment with one of the
two ends of the registration (if your registration is Human to
Chimpanzee, <sphere-in> must be in register with either Human or
Chimpanzee). The 'project-to' sphere must be the side of the
registration that is aligned with <sphere-in> (if your registration is
Human to Chimpanzee, and <sphere-in> is aligned with Human, then
'project-to' should be the original Human sphere). The 'unproject-from'
sphere must be the remaining sphere of the registration (original vs
deformed/registered). The output is as if you had run the same
registration with <sphere-in> as the starting sphere, in the direction of
deforming the 'project-to' sphere to create the 'unproject-from' sphere.
Note that this command cannot check for you what spheres are aligned with
other spheres, and using the wrong spheres or in the incorrect order will
not necessarily cause an error message. In some cases, it may be useful
to use a new, arbitrary sphere as the input, which can be created with
the -surface-create-sphere command.
Example 1: You have a Human to Chimpanzee registration, and a Chimpanzee
to Macaque registration, and want to combine them. If you use the Human
sphere registered to Chimpanzee as sphere-in, the Chimpanzee standard
sphere as project-to, and the Chimpanzee sphere registered to Macaque as
unproject-from, the output will be the Human sphere in register with the
Macaque.
Example 2: You have a Human to Chimpanzee registration, but what you
really want is the inverse, that is, the sphere as if you had run the
registration from Chimpanzee to Human. If you use the Chimpanzee
standard sphere as sphere-in, the Human sphere registered to Chimpanzee
as project-to, and the standard Human sphere as unproject-from, the
output will be the Chimpanzee sphere in register with the Human.
Technical details: Each vertex of <sphere-in> is projected to a triangle
of <sphere-project-to>, and its new position is determined by the
position of the corresponding triangle in <sphere-unproject-from>. The
output is a sphere with the topology of <sphere-in>, but coordinates
shifted by the deformation from <sphere-project-to> to
<sphere-unproject-from>. <sphere-project-to> and <sphere-unproject-from>
must have the same topology as each other, but <sphere-in> may have any
topology.
-surface-sphere-triangular-patches
DIVIDE STANDARD SPHERE INTO PATCHES
wb_command -surface-sphere-triangular-patches
<sphere> - an undistorted, regularly divided icosahedral sphere
<divisions> - how many pieces to divide each icosahedral edge into, must
divide perfectly into the given sphere
<text-out> - output - text file for the vertex numbers of the patches
Divide the given undistorted sphere into equally-sized triangular
patches. Patches overlap by a border of 1 vertex.
-surface-to-surface-3d-distance
COMPUTE DISTANCE BETWEEN CORRESPONDING VERTICES
wb_command -surface-to-surface-3d-distance
<surface-comp> - the surface to compare to the reference
<surface-ref> - the surface to use as the reference
<dists-out> - output - the output distances
[-vectors] - output the displacement vectors
<vectors-out> - output - the output vectors
Computes the vector difference between the vertices of each surface with
the same index, as (comp - ref), and output the magnitudes, and
optionally the displacement vectors.
-surface-vertex-areas
MEASURE SURFACE AREA EACH VERTEX IS RESPONSIBLE FOR
wb_command -surface-vertex-areas
<surface> - the surface to measure
<metric> - output - the output metric
Each vertex gets one third of the area of each triangle it is a part of.
Units are mm^2.
-surface-wedge-volume
MEASURE PER-VERTEX VOLUME BETWEEN SURFACES
wb_command -surface-wedge-volume
<inner-surface> - the inner surface
<outer-surface> - the outer surface
<metric> - output - the output metric
Compute the volume of each vertex's area from one surface to another.
The surfaces must have vertex correspondence, and have consistent
triangle orientation.
-unit-test
-volume-all-labels-to-rois
MAKE ROIS FROM ALL LABELS IN A VOLUME FRAME
wb_command -volume-all-labels-to-rois
<label-in> - the input volume label file
<map> - the number or name of the label map to use
<volume-out> - output - the output volume file
The output volume has a frame for each label in the specified input
frame, other than the ??? label, each of which contains an ROI of all
voxels that are set to the corresponding label.
-volume-capture-plane
INTERPOLATE IMAGE FROM PLANE THROUGH VOLUME
wb_command -volume-capture-plane
<volume> - the volume file to interpolate from
<subvolume> - the name or number of the subvolume to use
<interp> - interpolation type
<h-dim> - width of output image, in pixels
<v-dim> - height of output image, in pixels
<scale-min> - value to render as black
<scale-max> - value to render as white
<bottom-left-x> - x-coordinate of the bottom left of the output image
<bottom-left-y> - y-coordinate of the bottom left of the output image
<bottom-left-z> - z-coordinate of the bottom left of the output image
<bottom-right-x> - x-coordinate of the bottom right of the output image
<bottom-right-y> - y-coordinate of the bottom right of the output image
<bottom-right-z> - z-coordinate of the bottom right of the output image
<top-left-x> - x-coordinate of the top left of the output image
<top-left-y> - y-coordinate of the top left of the output image
<top-left-z> - z-coordinate of the top left of the output image
<image> - output - the output image
NOTE: If you want to generate an image with all of the capabilities of
the GUI rendering, see -show-scene.
Renders an image of an arbitrary plane through the volume file, with a
simple linear grayscale palette. The parameter <interp> must be one of:
CUBIC
ENCLOSING_VOXEL
TRILINEAR
-volume-components-to-frames
CONVERT RGB/COMPLEX VOLUME TO FRAMES
wb_command -volume-components-to-frames
<input> - the RGB/complex-type volume
<output> - output - the input volume converted to multiple frames of
scalar type
RGB and complex datatypes are not always well supported, this command
allows separating them into standard subvolumes for better support.
-volume-copy-extensions
COPY EXTENDED DATA TO ANOTHER VOLUME FILE
wb_command -volume-copy-extensions
<data-volume> - the volume file containing the voxel data to use
<extension-volume> - the volume file containing the extensions to use
<volume-out> - output - the output volume
[-drop-unknown] - don't copy extensions that workbench doesn't understand
This command copies the information in a volume file that isn't a
critical part of the standard header or data matrix, e.g. map names,
palette settings, label tables. If -drop-unknown is not specified, it
also copies similar kinds of information set by other software.
-volume-create
CREATE A BLANK VOLUME FILE
wb_command -volume-create
<i-dim> - length of first dimension
<j-dim> - length of second dimension
<k-dim> - length of third dimension
<volume-out> - output - the output volume
[-plumb] - set via axis order and spacing/offset
<axis-order> - a string like 'XYZ' that specifies which index is along
which spatial dimension
<x-spacing> - change in x-coordinate from incrementing the relevant
index
<y-spacing> - change in y-coordinate from incrementing the relevant
index
<z-spacing> - change in z-coordinate from incrementing the relevant
index
<x-offset> - the x-coordinate of the center of the first voxel
<y-offset> - the y-coordinate of the center of the first voxel
<z-offset> - the z-coordinate of the center of the first voxel
[-sform] - set via a nifti sform
<xi-spacing> - increase in x coordinate from incrementing the i index
<xj-spacing> - increase in x coordinate from incrementing the j index
<xk-spacing> - increase in x coordinate from incrementing the k index
<x-offset> - x coordinate of first voxel
<yi-spacing> - increase in y coordinate from incrementing the i index
<yj-spacing> - increase in y coordinate from incrementing the j index
<yk-spacing> - increase in y coordinate from incrementing the k index
<y-offset> - y coordinate of first voxel
<zi-spacing> - increase in z coordinate from incrementing the i index
<zj-spacing> - increase in z coordinate from incrementing the j index
<zk-spacing> - increase in z coordinate from incrementing the k index
<z-offset> - z coordinate of first voxel
Creates a volume file full of zeros. Exactly one of -plumb or -sform
must be specified.
-volume-dilate
DILATE A VOLUME FILE
wb_command -volume-dilate
<volume> - the volume to dilate
<distance> - distance in mm to dilate
<method> - dilation method to use
<volume-out> - output - the output volume
[-exponent] - use a different exponent in the weighting function
<exponent> - exponent 'n' to use in (1 / (distance ^ n)) as the
weighting function (default 7)
[-bad-voxel-roi] - specify an roi of voxels to overwrite, rather than
voxels with value zero
<roi-volume> - volume file, positive values denote voxels to have
their values replaced
[-data-roi] - specify an roi of where there is data
<roi-volume> - volume file, positive values denote voxels that have
data
[-subvolume] - select a single subvolume to dilate
<subvol> - the subvolume number or name
[-legacy-cutoff] - use the v1.3.2 method of excluding voxels further than
the dilation distance when calculating the dilated value
[-grad-extrapolate] - additionally use the gradient to extrapolate,
intended to be used with WEIGHTED
[-presmooth] - apply presmoothing before computing gradient vectors,
not recommended
<kernel> - the size of gaussian smoothing kernel in mm, as sigma by
default
[-fwhm] - kernel size is FWHM, not sigma
For all voxels that are designated as bad, if they neighbor a non-bad
voxel with data or are within the specified distance of such a voxel,
replace the value in the bad voxel with a value calculated from nearby
non-bad voxels that have data, otherwise set the value to zero. No
matter how small <distance> is, dilation will always use at least the
face neighbor voxels.
By default, voxels that have data with the value 0 are bad, specify
-bad-voxel-roi to only count voxels as bad if they are selected by the
roi. If -data-roi is not specified, all voxels are assumed to have data.
To get the behavior of version 1.3.2 or earlier, use '-legacy-cutoff
-exponent 2'.
Valid values for <method> are:
NEAREST - use the value from the nearest good voxel
WEIGHTED - use a weighted average based on distance
-volume-distortion
CALCULATE VOLUME WARPFIELD DISTORTION
wb_command -volume-distortion
<warpfield> - the warpfield to compute the distortion of
<volume-out> - output - the output distortion measures
[-fnirt] - MUST be used if using a fnirt warpfield
<source-volume> - the source volume used when generating the warpfield
[-circular] - use the circle-based formula for the anisotropic measure
[-log2] - apply base-2 log transform
Calculates isotropic and anisotropic distortions in the volume warpfield.
At each voxel, the gradient of the absolute warpfield is computed to
obtain the local affine transforms for each voxel (jacobian matrices),
and strain tensors are derived from them. The isotropic component
(volumetric expansion ratio) is the product of the three principal
strains. The default measure ('elongation') for the anisotropic
component is the largest principal strain divided by the smallest.
The -circular option instead calculates the anisotropic component by
transforming the principal strains into log space, considering them as
x-values of points on a circle 120 degrees apart, finds the circle's
diameter, and transforms that back to a ratio.
-volume-erode
ERODE A VOLUME FILE
wb_command -volume-erode
<volume> - the volume to erode
<distance> - distance in mm to erode
<volume-out> - output - the output volume
[-roi] - assume voxels outside this roi are nonzero
<roi-volume> - volume file, positive values denote voxels that have
data
[-subvolume] - select a single subvolume to dilate
<subvol> - the subvolume number or name
Around each voxel with a value of zero, set surrounding voxels to zero.
The surrounding voxels are all face neighbors and all voxels within the
specified distance (center to center).
-volume-estimate-fwhm
ESTIMATE FWHM SMOOTHNESS OF A VOLUME
wb_command -volume-estimate-fwhm
<volume> - the input volume
[-roi] - use only data within an ROI
<roivol> - the volume to use as an ROI
[-subvolume] - select a single subvolume to estimate smoothness of
<subvol> - the subvolume number or name
[-whole-file] - estimate for the whole file at once, not each subvolume
separately
[-demean] - subtract the mean image before estimating smoothness
Estimates the smoothness of the input volume in X, Y, and Z directions
separately, printing the estimates to standard output, in mm as FWHM. If
-subvolume or -whole-file are not specified, each subvolume is estimated
and displayed separately.
-volume-extrema
FIND EXTREMA IN A VOLUME FILE
wb_command -volume-extrema
<volume-in> - volume file to find the extrema of
<distance> - the minimum distance between identified extrema of the same
type
<volume-out> - output - the output extrema volume
[-presmooth] - smooth the volume before finding extrema
<kernel> - the size of the gaussian smoothing kernel in mm, as sigma
by default
[-fwhm] - kernel size is FWHM, not sigma
[-roi] - ignore values outside the selected area
<roi-volume> - the area to find extrema in
[-threshold] - ignore small extrema
<low> - the largest value to consider for being a minimum
<high> - the smallest value to consider for being a maximum
[-sum-subvols] - output the sum of the extrema subvolumes instead of each
subvolume separately
[-consolidate-mode] - use consolidation of local minima instead of a
large neighborhood
[-only-maxima] - only find the maxima
[-only-minima] - only find the minima
[-subvolume] - select a single subvolume to find extrema in
<subvolume> - the subvolume number or name
Finds extrema in a volume file, such that no two extrema of the same type
are within <distance> of each other. The extrema are labeled as -1 for
minima, 1 for maxima, 0 otherwise. If -only-maxima or -only-minima is
specified, then it will ignore extrema not of the specified type. These
options are mutually exclusive.
If -sum-subvols is specified, these extrema subvolumes are summed, and
the output has a single subvolume with this result.
By default, a datapoint is an extrema only if it is more extreme than
every other datapoint that is within <distance> from it. If
-consolidate-mode is used, it instead starts by finding all datapoints
that are more extreme than their immediate neighbors, then while there
are any extrema within <distance> of each other, take the two extrema
closest to each other and merge them into one by a weighted average based
on how many original extrema have been merged into each.
By default, all input subvolumes are used with no smoothing, use
-subvolume to specify a single subvolume to use, and -presmooth to smooth
the input before finding the extrema.
-volume-fill-holes
FILL HOLES IN AN ROI VOLUME
wb_command -volume-fill-holes
<volume-in> - the input ROI volume
<volume-out> - output - the output ROI volume
Finds all face-connected parts that are not included in the ROI, and
fills all but the largest one with ones.
-volume-find-clusters
FILTER CLUSTERS BY VOLUME
wb_command -volume-find-clusters
<volume-in> - the input volume
<value-threshold> - threshold for data values
<minimum-volume> - threshold for cluster volume, in mm^3
<volume-out> - output - the output volume
[-less-than] - find values less than <value-threshold>, rather than
greater
[-roi] - select a region of interest
<roi-volume> - the roi, as a volume file
[-subvolume] - select a single subvolume
<subvol> - the subvolume number or name
[-size-ratio] - ignore clusters smaller than a given fraction of the
largest cluster in map
<ratio> - fraction of the largest cluster's volume
[-distance] - ignore clusters further than a given distance from the
largest cluster
<distance> - how far from the largest cluster a cluster can be, edge
to edge, in mm
[-start] - start labeling clusters from a value other than 1
<startval> - the value to give the first cluster found
Outputs a volume with nonzero integers for all voxels within a large
enough cluster, and zeros elsewhere. The integers denote cluster
membership (by default, first cluster found will use value 1, second
cluster 2, etc). Cluster values are not reused across frames of the
output, but instead keep counting up. By default, values greater than
<value-threshold> are considered to be in a cluster, use -less-than to
test for values less than the threshold. To apply this as a mask to the
data, or to do more complicated thresholding, see -volume-math.
-volume-gradient
GRADIENT OF A VOLUME FILE
wb_command -volume-gradient
<volume-in> - the input volume
<volume-out> - output - the output gradient magnitude volume
[-presmooth] - smooth the volume before computing the gradient
<kernel> - the size of the gaussian smoothing kernel in mm, as sigma
by default
[-fwhm] - kernel size is FWHM, not sigma
[-roi] - select a region of interest to take the gradient of
<roi-volume> - the region to take the gradient within
[-vectors] - output vectors
<vector-volume-out> - output - the vectors as a volume file
[-subvolume] - select a single subvolume to take the gradient of
<subvol> - the subvolume number or name
Computes the gradient of the volume by doing linear regressions for each
voxel, considering only its face neighbors unless too few face neighbors
exist. The gradient vector is constructed from the partial derivatives
of the resulting linear function, and the magnitude of this vector is the
output. If specified, the volume vector output is arranged with the x,
y, and z components from a subvolume as consecutive subvolumes.
-volume-label-export-table
EXPORT LABEL TABLE FROM VOLUME AS TEXT
wb_command -volume-label-export-table
<label-in> - the input volume label file
<map> - the number or name of the label map to use
<table-out> - output - the output text file
[-hierarchy] - export the hierarchy as json
<json-out> - output - filename to write hierarchy to
Takes the label table from the volume label map, and writes it to a text
format matching what is expected by -volume-label-import.
-volume-label-import
IMPORT A LABEL VOLUME TO WORKBENCH FORMAT
wb_command -volume-label-import
<input> - the input volume file
<label-list-file> - text file containing the values and names for labels
<output> - output - the output workbench label volume
[-discard-others] - set any voxels with values not mentioned in the label
list to the ??? label
[-unlabeled-value] - set the value that will be interpreted as unlabeled
<value> - the numeric value for unlabeled (default 0)
[-subvolume] - select a single subvolume to import
<subvol> - the subvolume number or name
[-drop-unused-labels] - remove any unused label values from the label
table
[-hierarchy] - read label name hierarchy from a json file
<file> - the input json file
Creates a label volume from an integer-valued volume file. The label
name and color information is stored in the volume header in a nifti
extension, with a similar format as in caret5, see -volume-help. You may
specify the empty string (use "") for <label-list-file>, which will be
treated as if it is an empty file. The label list file must have the
following format (2 lines per label):
<labelname>
<key> <red> <green> <blue> <alpha>
...
Label names are specified on a separate line from their value and color,
in order to let label names contain spaces. Whitespace is trimmed from
both ends of the label name, but is kept if it is in the middle of a
label. Do not specify the "unlabeled" key in the file, it is assumed
that 0 means not labeled unless -unlabeled-value is specified. The value
of <key> specifies what value in the imported file should be used as this
label (these same key values are also used in the output file). The
values of <red>, <green>, <blue> and <alpha> must be integers from 0 to
255, and will specify the color the label is drawn as (alpha of 255 means
fully opaque, which is probably what you want).
By default, it will create new label names with names like LABEL_5 for
any values encountered that are not mentioned in the list file, specify
-discard-others to instead set these values to the "unlabeled" key.
-volume-label-modify-keys
CHANGE KEY VALUES IN A VOLUME LABEL FILE
wb_command -volume-label-modify-keys
<volume-in> - the input volume label file
<remap-file> - text file with old and new key values
<volume-out> - output - the output volume label file
[-subvolume] - select a single subvolume
<subvolume> - the subvolume number or name
<remap-file> should have lines of the form 'oldkey newkey', like so:
3 5
5 8
8 2
This would change the current label with key '3' to use the key '5'
instead, 5 would use 8, and 8 would use 2. Any collision in key values
results in the label that was not specified in the remap file getting
remapped to an otherwise unused key. Remapping more than one key to the
same new key, or the same key to more than one new key, results in an
error. This will not change the appearance of the file when displayed,
as it will change the key values in the data at the same time.
-volume-label-probability
FIND FREQUENCY OF VOLUME LABELS
wb_command -volume-label-probability
<label-maps> - volume label file containing individual label maps from
many subjects
<probability-out> - output - the relative frequencies of each label at
each voxel
[-exclude-unlabeled] - don't make a probability map of the unlabeled key
This command outputs a set of soft ROIs, one for each label in the input,
where the value is how many of the input maps had that label at that
voxel, divided by the number of input maps.
-volume-label-to-roi
MAKE A VOLUME LABEL INTO AN ROI VOLUME
wb_command -volume-label-to-roi
<label-in> - the input volume label file
<volume-out> - output - the output volume file
[-name] - select label by name
<label-name> - the label name that you want an roi of
[-key] - select label by key
<label-key> - the label key that you want an roi of
[-map] - select a single label map to use
<map> - the map number or name
For each map in <label-in>, a map is created in <volume-out> where all
locations labeled with <label-name> or with a key of <label-key> are
given a value of 1, and all other locations are given 0. Exactly one of
-name and -key must be specified. Specify -map to use only one map from
<label-in>.
-volume-label-to-surface-mapping
MAP A LABEL VOLUME TO A SURFACE LABEL FILE
wb_command -volume-label-to-surface-mapping
<volume> - the volume to map data from
<surface> - the surface to map the data onto
<label-out> - output - the output gifti label file
[-ribbon-constrained] - use ribbon constrained mapping algorithm
<inner-surf> - the inner surface of the ribbon
<outer-surf> - the outer surface of the ribbon
[-volume-roi] - use a volume roi
<roi-volume> - the volume file
[-dilate-missing] - use dilation for small vertices that 'missed' the
geometry tests
<dist> - distance in mm for dilation (can be small, like 1mm)
[-voxel-subdiv] - voxel divisions while estimating voxel weights
<subdiv-num> - number of subdivisions, default 3
[-thin-columns] - use non-overlapping polyhedra
[-subvol-select] - select a single subvolume to map
<subvol> - the subvolume number or name
Map label volume data to a surface. If -ribbon-constrained is not
specified, uses the enclosing voxel method. The ribbon mapping method
constructs a polyhedron from the vertex's neighbors on each surface, and
estimates the amount of this polyhedron's volume that falls inside any
nearby voxels, to use as the weights for a popularity comparison. If
-thin-columns is specified, the polyhedron uses the edge midpoints and
triangle centroids, so that neighboring vertices do not have overlapping
polyhedra. This may require increasing -voxel-subdiv to get enough
samples in each voxel to reliably land inside these smaller polyhedra.
The volume ROI is useful to exclude partial volume effects of voxels the
surfaces pass through, and will cause the mapping to ignore voxels that
don't have a positive value in the mask. The subdivision number
specifies how it approximates the amount of the volume the polyhedron
intersects, by splitting each voxel into NxNxN pieces, and checking
whether the center of each piece is inside the polyhedron. If you have
very large voxels, consider increasing this if you get unexpected
unlabeled vertices in your output.
-volume-math
EVALUATE EXPRESSION ON VOLUME FILES
wb_command -volume-math
<expression> - the expression to evaluate, in quotes
<volume-out> - output - the output volume
[-fixnan] - replace NaN results with a value
<replace> - value to replace NaN with
[-var] - repeatable - a volume file to use as a variable
<name> - the name of the variable, as used in the expression
<volume> - the volume file to use as this variable
[-subvolume] - select a single subvolume
<subvol> - the subvolume number or name
[-repeat] - reuse a single subvolume for each subvolume of calculation
This command evaluates <expression> at each voxel independently. There
must be at least one -var option (to get the volume space from), even if
the <name> specified in it isn't used in <expression>. All volumes must
have the same volume space. Filenames are not valid in <expression>, use
a variable name and a -var option with matching <name> to specify an
input file. If the -subvolume option is given to any -var option, only
one subvolume is used from that file. If -repeat is specified, the file
must either have only one subvolume, or have the -subvolume option
specified. All files that don't use -repeat must have the same number of
subvolumes requested to be used. The format of <expression> is as
follows:
Expressions consist of constants, variables, operators, parentheses, and
functions, in infix notation, such as 'exp(-x + 3) * scale'. Variables
are strings of any length, using the characters a-z, A-Z, 0-9, and _, but
may not take the name of a named constant. Currently, there is only one
named constant, PI. The operators are +, -, *, /, ^, >, <, >=, <=, ==,
!=, !, &&, ||. These behave as in C, except that ^ is exponentiation,
i.e. pow(x, y), and takes higher precedence than other binary operators
(also, '-3^-4^-5' means '-(3^(-(4^-5)))'). The <=, >=, ==, and !=
operators are given a small amount of wiggle room, equal to one millionth
of the smaller of the absolute values of the values being compared.
Comparison and logical operators return 0 or 1, you can do masking with
expressions like 'x * (mask > 0)'. For all logical operators, an input
is considered true iff it is greater than 0. The expression '0 < x < 5'
is not syntactically wrong, but it will NOT do what is desired, because
it is evaluated left to right, i.e. '((0 < x) < 5)', which will always
return 1, as both possible results of a comparison are less than 5. A
warning is generated if an expression of this type is detected. Use
something like 'x > 0 && x < 5' to get the desired behavior.
Whitespace between elements is ignored, ' sin ( 2 * x ) ' is equivalent
to 'sin(2*x)', but 's in(2*x)' is an error. Implied multiplication is
not allowed, the expression '2x' will be parsed as a variable.
Parentheses are (), do not use [] or {}. Functions require parentheses,
the expression 'sin x' is an error.
The following functions are supported:
sin: 1 argument, the sine of the argument (units are radians)
cos: 1 argument, the cosine of the argument (units are radians)
tan: 1 argument, the tangent of the argument (units are radians)
asin: 1 argument, the inverse of sine of the argument, in radians
acos: 1 argument, the inverse of cosine of the argument, in radians
atan: 1 argument, the inverse of tangent of the argument, in radians
atan2: 2 arguments, atan2(y, x) returns the inverse of tangent of
(y/x), in radians, determining quadrant by the sign of both arguments
sinh: 1 argument, the hyperbolic sine of the argument
cosh: 1 argument, the hyperbolic cosine of the argument
tanh: 1 argument, the hyperbolic tangent of the argument
asinh: 1 argument, the inverse hyperbolic sine of the argument
acosh: 1 argument, the inverse hyperbolic cosine of the argument
atanh: 1 argument, the inverse hyperbolic tangent of the argument
sinc: 1 argument, sinc(0) = 1, sin(x) / x otherwise
ln: 1 argument, the natural logarithm of the argument
exp: 1 argument, the constant e raised to the power of the argument
log: 1 argument, the base 10 logarithm of the argument
log2: 1 argument, the base 2 logarithm of the argument
sqrt: 1 argument, the square root of the argument
abs: 1 argument, the absolute value of the argument
floor: 1 argument, the largest integer not greater than the argument
round: 1 argument, the nearest integer, with ties rounded away from
zero
ceil: 1 argument, the smallest integer not less than the argument
min: 2 arguments, min(x, y) returns y if (x > y), x otherwise
max: 2 arguments, max(x, y) returns y if (x < y), x otherwise
mod: 2 arguments, mod(x, y) = x - y * floor(x / y), or 0 if y == 0
clamp: 3 arguments, clamp(x, low, high) = min(max(x, low), high)
-volume-merge
MERGE VOLUME FILES INTO A NEW FILE
wb_command -volume-merge
<volume-out> - output - the output volume file
[-volume] - repeatable - specify an input volume file
<volume-in> - a volume file to use subvolumes from
[-subvolume] - repeatable - select a single subvolume to use
<subvol> - the subvolume number or name
[-up-to] - use an inclusive range of subvolumes
<last-subvol> - the number or name of the last subvolume to
include
[-reverse] - use the range in reverse order
Takes one or more volume files and constructs a new volume file by
concatenating subvolumes from them. The input volume files must have the
same volume space.
Example: wb_command -volume-merge out.nii -volume first.nii -subvolume 1
-volume second.nii
This example would take the first subvolume from first.nii, followed by
all subvolumes from second.nii, and write these to out.nii.
-volume-palette
SET THE PALETTE OF A VOLUME FILE
wb_command -volume-palette
<volume> - the volume file to modify
<mode> - the mapping mode
[-subvolume] - select a single subvolume
<subvolume> - the subvolume number or name
[-pos-percent] - percentage min/max for positive data coloring
<pos-min-%> - the percentile for the least positive data
<pos-max-%> - the percentile for the most positive data
[-neg-percent] - percentage min/max for negative data coloring
<neg-min-%> - the percentile for the least negative data
<neg-max-%> - the percentile for the most negative data
[-pos-user] - user min/max values for positive data coloring
<pos-min-user> - the value for the least positive data
<pos-max-user> - the value for the most positive data
[-neg-user] - user min/max values for negative data coloring
<neg-min-user> - the value for the least negative data
<neg-max-user> - the value for the most negative data
[-interpolate] - interpolate colors
<interpolate> - boolean, whether to interpolate
[-disp-pos] - display positive data
<display> - boolean, whether to display
[-disp-neg] - display positive data
<display> - boolean, whether to display
[-disp-zero] - display data closer to zero than the min cutoff
<display> - boolean, whether to display
[-palette-name] - set the palette used
<name> - the name of the palette
[-thresholding] - set the thresholding
<type> - thresholding setting
<test> - show values inside or outside thresholds
<min> - lower threshold
<max> - upper threshold
[-inversion] - specify palette inversion
<type> - the type of inversion
[-normalization] - specify normalization mode (NOTE: this is always a
file-wide setting, NOT per-map)
<type> - the normalization mode
The original volume file is overwritten with the modified version. By
default, all columns of the volume file are adjusted to the new settings,
use the -subvolume option to change only one subvolume. Mapping settings
not specified in options will be taken from the first subvolume. The
<mode> argument must be one of the following:
MODE_AUTO_SCALE
MODE_AUTO_SCALE_ABSOLUTE_PERCENTAGE
MODE_AUTO_SCALE_PERCENTAGE
MODE_USER_SCALE
The <name> argument to -palette-name must be one of the following:
ROY-BIG-BL
videen_style
Gray_Interp_Positive
Gray_Interp
PSYCH-FIXED
RBGYR20
RBGYR20P
RYGBR4_positive
RGRBR_mirror90_pos
Orange-Yellow
POS_NEG_ZERO
red-yellow
blue-lightblue
FSL
power_surf
black-red
black-green
black-blue
black-red-positive
black-green-positive
black-blue-positive
blue-black-green
blue-black-red
red-black-green
fsl_red
fsl_green
fsl_blue
fsl_yellow
RedWhiteBlue
cool-warm
spectral
RY-BC-BL
magma
JET256
PSYCH
PSYCH-NO-NONE
ROY-BIG
clear_brain
fidl
raich4_clrmid
raich6_clrmid
HSB8_clrmid
POS_NEG
Special-RGB-Volume
The <type> argument to -thresholding must be one of the following:
THRESHOLD_TYPE_OFF
THRESHOLD_TYPE_NORMAL
THRESHOLD_TYPE_FILE
The <test> argument to -thresholding must be one of the following:
THRESHOLD_TEST_SHOW_OUTSIDE
THRESHOLD_TEST_SHOW_INSIDE
The <type> argument to -inversion must be one of the following:
OFF
POSITIVE_WITH_NEGATIVE
POSITIVE_NEGATIVE_SEPARATE
The <type> argument to -normalization must be one of the following:
NORMALIZATION_ALL_MAP_DATA
NORMALIZATION_SELECTED_MAP_DATA
-volume-parcel-resampling
SMOOTH AND RESAMPLE VOLUME PARCELS
wb_command -volume-parcel-resampling
<volume-in> - the input data volume
<cur-parcels> - label volume of where the parcels currently are
<new-parcels> - label volume of where the parcels should be
<kernel> - gaussian kernel size in mm to smooth by during resampling, as
sigma by default
<volume-out> - output - output volume
[-fix-zeros] - treat zero values as not being data
[-fwhm] - smoothing kernel size is FWHM, not sigma
[-subvolume] - select a single subvolume as input
<subvol> - the subvolume number or name
Smooths and resamples the region inside each label in cur-parcels to the
region of the same label name in new-parcels. Any voxels in the output
label region but outside the input label region will be extrapolated from
nearby data. The -fix-zeros option causes the smoothing to not use an
input value if it is zero, but still write a smoothed value to the voxel,
and after smoothing is complete, it will check for any remaining values
of zero, and fill them in with extrapolated values.
Note: all volumes must have the same dimensions and spacing. To use a
different output space, see -volume-parcel-resampling-generic.
-volume-parcel-resampling-generic
SMOOTH AND RESAMPLE VOLUME PARCELS FROM DIFFERENT VOLUME SPACE
wb_command -volume-parcel-resampling-generic
<volume-in> - the input data volume
<cur-parcels> - label volume of where the parcels currently are
<new-parcels> - label volume of where the parcels should be
<kernel> - gaussian kernel size in mm to smooth by during resampling, as
sigma by default
<volume-out> - output - output volume
[-fwhm] - smoothing kernel size is FWHM, not sigma
[-fix-zeros] - treat zero values as not being data
[-subvolume] - select a single subvolume as input
<subvol> - the subvolume number or name
Smooths and resamples the region inside each label in cur-parcels to the
region of the same label name in new-parcels. Any voxels in the output
label region but outside the input label region will be extrapolated from
nearby data. The -fix-zeros option causes the smoothing to not use an
input value if it is zero, but still write a smoothed value to the voxel,
and after smoothing is complete, it will check for any remaining values
of zero, and fill them in with extrapolated values. The output volume
will use the volume space of new-parcels, which does not need to be in
the same volume space as the input.
-volume-parcel-smoothing
SMOOTH PARCELS IN A VOLUME SEPARATELY
wb_command -volume-parcel-smoothing
<data-volume> - the volume to smooth
<label-volume> - a label volume containing the parcels to smooth
<kernel> - the size of the gaussian smoothing kernel in mm, as sigma by
default
<volume-out> - output - the output volume
[-fwhm] - smoothing kernel size is FWHM, not sigma
[-fix-zeros] - treat zero values as not being data
[-subvolume] - select a single subvolume to smooth
<subvol> - the subvolume number or name
The volume is smoothed within each label in the label volume using data
only from within the label. Equivalent to running volume smoothing with
ROIs matching each label separately, then adding the resulting volumes,
but faster.
-volume-reduce
PERFORM REDUCTION OPERATION ACROSS SUBVOLUMES
wb_command -volume-reduce
<volume-in> - the volume file to reduce
<operation> - the reduction operator to use
<volume-out> - output - the output volume
[-exclude-outliers] - exclude non-numeric values and outliers by standard
deviation
<sigma-below> - number of standard deviations below the mean to
include
<sigma-above> - number of standard deviations above the mean to
include
[-only-numeric] - exclude non-numeric values
For each voxel, takes the data across subvolumes as a vector, and
performs the specified reduction on it, putting the result into the
single output volume at that voxel. The reduction operators are as
follows:
MAX: the maximum value
MIN: the minimum value
INDEXMAX: the 1-based index of the maximum value
INDEXMIN: the 1-based index of the minimum value
SUM: add all values
PRODUCT: multiply all values
MEAN: the mean of the data
STDEV: the standard deviation (N denominator)
SAMPSTDEV: the sample standard deviation (N-1 denominator)
VARIANCE: the variance of the data
TSNR: mean divided by sample standard deviation (N-1 denominator)
COV: sample standard deviation (N-1 denominator) divided by mean
L2NORM: square root of sum of squares
MEDIAN: the median of the data
MODE: the mode of the data
COUNT_NONZERO: the number of nonzero elements in the data
-volume-remove-islands
REMOVE ISLANDS FROM AN ROI VOLUME
wb_command -volume-remove-islands
<volume-in> - the input ROI volume
<volume-out> - output - the output ROI volume
Finds all face-connected parts of the ROI, and zeros out all but the
largest one.
-volume-reorient
CHANGE VOXEL ORDER OF A VOLUME FILE
wb_command -volume-reorient
<volume> - the volume to reorient
<orient-string> - the desired orientation
<volume-out> - out - the reoriented volume
Changes the voxel order and the header spacing/origin information such
that the value of any spatial point is unchanged. Orientation strings
look like 'LPI', which means first index is left to right, second is
posterior to anterior, and third is inferior to superior. The valid
characters are:
L left to right
R right to left
P posterior to anterior
A anterior to posterior
I inferior to superior
S superior to inferior
-volume-resample
TRANSFORM AND RESAMPLE A VOLUME FILE
wb_command -volume-resample
<volume-in> - volume to resample
<volume-space> - a volume file in the volume space you want for the
output
<method> - the resampling method
<volume-out> - output - the output volume
[-background] - use a specified value for locations outside the FoV of
the input image or warpfield(s)
<value> - the value to use (default 0)
[-affine] - repeatable - add an affine transform
<affine> - the affine file to use
[-flirt] - MUST be used if affine is a flirt affine
<source-volume> - the source volume used when generating the affine
<target-volume> - the target volume used when generating the affine
[-affine-series] - repeatable - add an independent affine per-frame
<affine-series> - text file containing 12 or 16 numbers per line, each
being a row-major flattened affine
[-flirt] - MUST be used if the affines are flirt affines
<source-volume> - the source volume used when generating the affine
<target-volume> - the target volume used when generating the affine
[-warp] - repeatable - add a nonlinear warpfield transform
<warpfield> - the warpfield file
[-fnirt] - MUST be used if using a fnirt warpfield
<source-volume> - the source volume used when generating the
warpfield
Resample a volume file with an arbitrary list of transformations. You
may specify -affine, -warp, and -affine-series multiple times each, and
they will be used in the order specified. For instance, for rigid motion
correction followed by nonlinear atlas registration, specify
-affine-series first, then -warp. The recommended methods are CUBIC
(cubic spline) for most data, and ENCLOSING_VOXEL for label data. The
parameter <method> must be one of:
CUBIC
ENCLOSING_VOXEL
TRILINEAR
-volume-rois-from-extrema
CREATE VOLUME ROI MAPS FROM EXTREMA MAPS
wb_command -volume-rois-from-extrema
<volume-in> - the input volume
<limit> - distance limit from voxel center, in mm
<volume-out> - output - the output volume
[-gaussian] - generate a gaussian kernel instead of a flat ROI
<sigma> - the sigma for the gaussian kernel, in mm
[-roi] - select a region of interest to use
<roi-volume> - the region to use
[-overlap-logic] - how to handle overlapping ROIs, default ALLOW
<method> - the method of resolving overlaps
[-subvolume] - select a single subvolume to take the gradient of
<subvol> - the subvolume number or name
For each nonzero value in each map, make a map with an ROI around that
location. If the -gaussian option is specified, then normalized gaussian
kernels are output instead of ROIs. The <method> argument to
-overlap-logic must be one of ALLOW, CLOSEST, or EXCLUDE. ALLOW is the
default, and means that ROIs are treated independently and may overlap.
CLOSEST means that ROIs may not overlap, and that no ROI contains
vertices that are closer to a different seed vertex. EXCLUDE means that
ROIs may not overlap, and that any vertex within range of more than one
ROI does not belong to any ROI.
-volume-set-space
CHANGE VOLUME SPACE INFORMATION
wb_command -volume-set-space
<volume-in> - the input volume
<volume-out> - output - the output volume
[-plumb] - set via axis order and spacing/offset
<axis-order> - a string like 'XYZ' that specifies which index is along
which spatial dimension
<x-spacing> - change in x-coordinate from incrementing the relevant
index
<y-spacing> - change in y-coordinate from incrementing the relevant
index
<z-spacing> - change in z-coordinate from incrementing the relevant
index
<x-offset> - the x-coordinate of the first voxel
<y-offset> - the y-coordinate of the first voxel
<z-offset> - the z-coordinate of the first voxel
[-sform] - set via a nifti sform
<xi-spacing> - increase in x coordinate from incrementing the i index
<xj-spacing> - increase in x coordinate from incrementing the j index
<xk-spacing> - increase in x coordinate from incrementing the k index
<x-offset> - x coordinate of first voxel
<yi-spacing> - increase in y coordinate from incrementing the i index
<yj-spacing> - increase in y coordinate from incrementing the j index
<yk-spacing> - increase in y coordinate from incrementing the k index
<y-offset> - y coordinate of first voxel
<zi-spacing> - increase in z coordinate from incrementing the i index
<zj-spacing> - increase in z coordinate from incrementing the j index
<zk-spacing> - increase in z coordinate from incrementing the k index
<z-offset> - z coordinate of first voxel
[-file] - copy spacing info from volume file with matching dimensions
<volume-ref> - volume file to use for reference space
[-ignore-dims] - copy the spacing info even if the dimensions don't
match
Writes a copy of the volume file, with the spacing information changed as
specified. No reordering of the voxel data occurs, see -volume-reorient
to change the volume indexing order and reorder the voxels to match.
Exactly one of -plumb, -sform, or -file must be specified.
-volume-smoothing
SMOOTH A VOLUME FILE
wb_command -volume-smoothing
<volume-in> - the volume to smooth
<kernel> - the size of the gaussian smoothing kernel in mm, as sigma by
default
<volume-out> - output - the output volume
[-fwhm] - kernel size is FWHM, not sigma
[-roi] - smooth only from data within an ROI
<roivol> - the volume to use as an ROI
[-fix-zeros] - treat zero values as not being data
[-subvolume] - select a single subvolume to smooth
<subvol> - the subvolume number or name
Gaussian smoothing for volumes. By default, smooths all subvolumes with
no ROI, if ROI is given, only positive voxels in the ROI volume have
their values used, and all other voxels are set to zero. Smoothing a
non-orthogonal volume will be significantly slower, because the operation
cannot be separated into 1-dimensional smoothings without distorting the
kernel shape.
The -fix-zeros option causes the smoothing to not use an input value if
it is zero, but still write a smoothed value to the voxel. This is
useful for zeros that indicate lack of information, preventing them from
pulling down the intensity of nearby voxels, while giving the zero an
extrapolated value.
-volume-stats
SPATIAL STATISTICS ON A VOLUME FILE
wb_command -volume-stats
<volume-in> - the input volume
[-reduce] - use a reduction operation
<operation> - the reduction operation
[-percentile] - give the value at a percentile
<percent> - the percentile to find, must be between 0 and 100
[-subvolume] - only display output for one subvolume
<subvolume> - the subvolume number or name
[-roi] - only consider data inside an roi
<roi-volume> - the roi, as a volume file
[-match-maps] - each subvolume of input uses the corresponding
subvolume from the roi file
[-show-map-name] - print map index and name before each output
For each subvolume of the input, a line of text is printed, resulting
from the specified reduction or percentile operation. Use -subvolume to
only give output for a single subvolume. If the -roi option is used
without -match-maps, then each line will contain as many numbers as there
are maps in the ROI file, separated by tab characters. Exactly one of
-reduce or -percentile must be specified.
The argument to the -reduce option must be one of the following:
MAX: the maximum value
MIN: the minimum value
INDEXMAX: the 1-based index of the maximum value
INDEXMIN: the 1-based index of the minimum value
SUM: add all values
PRODUCT: multiply all values
MEAN: the mean of the data
STDEV: the standard deviation (N denominator)
SAMPSTDEV: the sample standard deviation (N-1 denominator)
VARIANCE: the variance of the data
TSNR: mean divided by sample standard deviation (N-1 denominator)
COV: sample standard deviation (N-1 denominator) divided by mean
L2NORM: square root of sum of squares
MEDIAN: the median of the data
MODE: the mode of the data
COUNT_NONZERO: the number of nonzero elements in the data
-volume-tfce
DO TFCE ON A VOLUME FILE
wb_command -volume-tfce
<volume-in> - the volume to run TFCE on
<volume-out> - output - the output volume
[-presmooth] - smooth the volume before running TFCE
<kernel> - the size of the gaussian smoothing kernel in mm, as sigma
by default
[-fwhm] - smoothing kernel size is FWHM, not sigma
[-roi] - select a region of interest to run TFCE on
<roi-volume> - the area to run TFCE on, as a volume
[-parameters] - set parameters for TFCE integral
<E> - exponent for cluster volume (default 0.5)
<H> - exponent for threshold value (default 2.0)
[-subvolume] - select a single subvolume
<subvolume> - the subvolume number or name
This command does not do any statistical analysis. Please use something
like PALM if you are just trying to do statistics on your data.
Threshold-free cluster enhancement is a method to increase the relative
value of regions that would form clusters in a standard thresholding
test. This is accomplished by evaluating the integral of:
e(h, p)^E * h^H * dh
at each voxel p, where h ranges from 0 to the maximum value in the data,
and e(h, p) is the extent of the cluster containing voxel p at threshold
h. Negative values are similarly enhanced by negating the data, running
the same process, and negating the result.
This method is explained in: Smith SM, Nichols TE., "Threshold-free
cluster enhancement: addressing problems of smoothing, threshold
dependence and localisation in cluster inference." Neuroimage. 2009 Jan
1;44(1):83-98. PMID: 18501637
-volume-to-surface-mapping
MAP VOLUME TO SURFACE
wb_command -volume-to-surface-mapping
<volume> - the volume to map data from
<surface> - the surface to map the data onto
<metric-out> - output - the output metric file
[-trilinear] - use trilinear volume interpolation
[-enclosing] - use value of the enclosing voxel
[-cubic] - use cubic splines
[-ribbon-constrained] - use ribbon constrained mapping algorithm
<inner-surf> - the inner surface of the ribbon
<outer-surf> - the outer surface of the ribbon
[-volume-roi] - use a volume roi
<roi-volume> - the roi volume file
[-weighted] - treat the roi values as weightings rather than binary
[-dilate-missing] - use dilation for small vertices that 'missed' the
geometry tests
<dist> - distance in mm for dilation (can be small, like 1mm)
[-nearest] - use nearest neighbor dilation (mainly useful for
integer data)
[-voxel-subdiv] - voxel divisions while estimating voxel weights
<subdiv-num> - number of subdivisions, default 3
[-thin-columns] - use non-overlapping polyhedra
[-gaussian] - reduce weight to voxels that aren't near <surface>
<scale> - value to multiply the local thickness by, to get the
gaussian sigma
[-interpolate] - instead of a weighted average of voxels, interpolate
at subpoints inside the ribbon
<method> - interpolation method, must be CUBIC, ENCLOSING_VOXEL, or
TRILINEAR
[-bad-vertices-out] - output an ROI of which vertices didn't intersect
any valid voxels
<roi-out> - output - the output metric file of vertices that have
no data
[-output-weights] - write the voxel weights for a vertex to a volume
file
<vertex> - the vertex number to get the voxel weights for, 0-based
<weights-out> - output - volume to write the weights to
[-output-weights-text] - write the voxel weights for all vertices to a
text file
<text-out> - output - the output text filename
[-myelin-style] - use the method from myelin mapping
<ribbon-roi> - an roi volume of the cortical ribbon for this
hemisphere
<thickness> - a metric file of cortical thickness
<sigma> - gaussian kernel in mm for weighting voxels within range
[-legacy-bug] - emulate old v1.2.3 and earlier code that didn't follow
a cylinder cutoff
[-subvol-select] - select a single subvolume to map
<subvol> - the subvolume number or name
You must specify exactly one mapping method. Enclosing voxel uses the
value from the voxel the vertex lies inside, while trilinear does a 3D
linear interpolation based on the voxels immediately on each side of the
vertex's position.
The ribbon mapping method constructs a polyhedron from the vertex's
neighbors on each surface, and estimates the amount of this polyhedron's
volume that falls inside any nearby voxels, to use as the weights for
sampling. If -thin-columns is specified, the polyhedron uses the edge
midpoints and triangle centroids, so that neighboring vertices do not
have overlapping polyhedra. This may require increasing -voxel-subdiv to
get enough samples in each voxel to reliably land inside these smaller
polyhedra. The volume ROI is useful to exclude partial volume effects of
voxels the surfaces pass through, and will cause the mapping to ignore
voxels that don't have a positive value in the mask. The subdivision
number specifies how it approximates the amount of the volume the
polyhedron intersects, by splitting each voxel into NxNxN pieces, and
checking whether the center of each piece is inside the polyhedron. If
you have very large voxels, consider increasing this if you get zeros in
your output. The -gaussian option makes it act more like the myelin
method, where the distance of a voxel from <surface> is used to
downweight the voxel. The -interpolate suboption, instead of doing a
weighted average of voxels, interpolates from the volume at the
subdivided points inside the ribbon. If using both -interpolate and the
-weighted suboption to -volume-roi, the roi volume weights are linearly
interpolated, unless the -interpolate method is ENCLOSING_VOXEL, in which
case ENCLOSING_VOXEL is also used for sampling the roi volume weights.
The myelin style method uses part of the caret5 myelin mapping command to
do the mapping: for each surface vertex, take all voxels that are in a
cylinder with radius and height equal to cortical thickness, centered on
the vertex and aligned with the surface normal, and that are also within
the ribbon ROI, and apply a gaussian kernel with the specified sigma to
them to get the weights to use. The -legacy-bug flag reverts to the
unintended behavior present from the initial implementation up to and
including v1.2.3, which had only the tangential cutoff and a bounding box
intended to be larger than where the cylinder cutoff should have been.
-volume-vector-operation
DO A VECTOR OPERATION ON VOLUME FILES
wb_command -volume-vector-operation
<vectors-a> - first vector input file
<vectors-b> - second vector input file
<operation> - what vector operation to do
<volume-out> - output - the output file
[-normalize-a] - normalize vectors of first input
[-normalize-b] - normalize vectors of second input
[-normalize-output] - normalize output vectors (not valid for dot
product)
[-magnitude] - output the magnitude of the result (not valid for dot
product)
Does a vector operation on two volume files (that must have a multiple of
3 subvolumes). Either of the inputs may have multiple vectors (more than
3 subvolumes), but not both (at least one must have exactly 3
subvolumes). The -magnitude and -normalize-output options may not be
specified together, or with the DOT operation. The <operation> parameter
must be one of the following:
DOT
CROSS
ADD
SUBTRACT
-volume-warpfield-affine-regression
REGRESS AFFINE FROM WARPFIELD
wb_command -volume-warpfield-affine-regression
<warpfield> - the input warpfield
<affine-out> - output - the output affine file
[-roi] - only consider voxels within a mask (e.g., a brain mask)
<roi-vol> - the mask volume
[-fnirt] - input is a fnirt warpfield
<source-volume> - the source volume used when generating the fnirt
warpfield
[-flirt-out] - write output as a flirt matrix rather than a world
coordinate transform
<source-volume> - the volume you want to apply the transform to
<target-volume> - the target space you want the transformed volume to
match
For all voxels in the warpfield, do a regression that predicts the
post-warp coordinate from the source coordinate. When -roi is specified,
only consider voxels with a value greater than 0 in <roi-vol>.
The default is to expect the warpfield to be in relative world
coordinates (mm space), and to write the output as a world affine (mm
space to mm space). If you are using FSL-created files and utilities,
specify -fnirt and -flirt-out as needed, as their coordinate conventions
are different.
-volume-weighted-stats
WEIGHTED SPATIAL STATISTICS ON A VOLUME FILE
wb_command -volume-weighted-stats
<volume-in> - the input volume
[-weight-volume] - use weights from a volume file
<weight-volume> - volume file containing the weights
[-match-maps] - each subvolume of input uses the corresponding
subvolume from the weights file
[-subvolume] - only display output for one subvolume
<subvolume> - the subvolume number or name
[-roi] - only consider data inside an roi
<roi-volume> - the roi, as a volume file
[-match-maps] - each subvolume of input uses the corresponding
subvolume from the roi file
[-mean] - compute weighted mean
[-stdev] - compute weighted standard deviation
[-sample] - estimate population stdev from the sample
[-percentile] - compute weighted percentile
<percent> - the percentile to find, must be between 0 and 100
[-sum] - compute weighted sum
[-show-map-name] - print map index and name before each output
For each subvolume of the input, a line of text is printed, resulting
from the specified operation. If -weight-volume is not specified, each
voxel's volume is used. Use -subvolume to only give output for a single
subvolume. If the -roi option is used without -match-maps, then each
line will contain as many numbers as there are maps in the ROI file,
separated by tab characters. Exactly one of -mean, -stdev, -percentile
or -sum must be specified.
Using -sum without -weight-volume is equivalent to integrating with
respect to volume.
-wbsparse-merge-dense
MERGE WBSPARSE FILES ALONG DENSE DIMENSION
wb_command -wbsparse-merge-dense
<direction> - which dimension to merge along, ROW or COLUMN
<wbsparse-out> - output - the output wbsparse file
[-wbsparse] - repeatable - specify an input wbsparse file
<wbsparse-in> - a wbsparse file to merge
The input wbsparse files must have matching mappings along the direction
not specified, and the mapping along the specified direction must be
brain models.
-zip-scene-file
ZIP A SCENE FILE AND ITS DATA FILES
wb_command -zip-scene-file
<scene-file> - the scene file to make the zip file from
<extract-folder> - the name of the folder created when the zip file is
unzipped
<zip-file> - out - the zip file that will be created
[-base-dir] - specify a directory that all data files are somewhere
within, this will become the root of the zipfile's directory structure
<directory> - the directory
[-skip-missing] - any missing files will generate only warnings, and the
zip file will be created anyway
[-write-scene-file] - rewrite the scene file before zipping, to store a
new base path or fix extra '..'s in paths that might break
If zip-file already exists, it will be overwritten. If -base-dir is not
specified, the base directory will be automatically set to the lowest
level directory containing all files. The scene file must contain only
relative paths, and no data files may be outside the base directory.
-zip-spec-file
ZIP A SPEC FILE AND ITS DATA FILES
wb_command -zip-spec-file
<spec-file> - the specification file to add to zip file
<extract-folder> - the name of the folder created when the zip file is
unzipped
<zip-file> - out - the zip file that will be created
[-base-dir] - specify a directory that all data files are somewhere
within, this will become the root of the zipfile's directory structure
<directory> - the directory
[-skip-missing] - any missing files will generate only warnings, and the
zip file will be created anyway
If zip-file already exists, it will be overwritten. If -base-dir is not
specified, the directory containing the spec file is used for the base
directory. The spec file must contain only relative paths, and no data
files may be outside the base directory. Scene files inside spec files
are not checked for what files they reference, ensure that all data files
referenced by the scene files are also referenced by the spec file.