Workbench Command is a set of command-line tools that can be used to perform simple and complex operations within Connectome Workbench.
The CIFTI format is a new data file format intended to make it easier to
work with data from multiple disjoint structures at the same time - often
this means both hemispheres of cortex as surface data, and other structures
as voxel data (amygdala, thalamus, putamen, etc). Additionally, it can
exclude locations that are uninteresting for the task at hand (medial wall,
white matter, csf), preventing them from taking up room in the data of the
file. The set of structures and the locations in them that are used in a
cifti file are referred to as 'brainordinates', or for the specific case of
'all gray matter locations', 'grayordinates'.
However, to explain the cifti format, it is easiest to work from the
opposite direction, as it is conceptually simpler. A single cifti file is a
single rectangular data matrix (usually 2 dimensions, but supports 3, and
may support more in the future), where each dimension is labeled with what
we call a 'mapping', each of which uses one of (currently) five possible
'mapping types'. It is the combinations of these mapping types that give
rise to the diverse types of cifti files. A single mapping of type 'brain
models' (also known as 'dense') can represent both hemispheres and all
subcortical structures simultaneously, meaning that only a single matrix
dimension is used to represent over a dozen structures, both surface-based
and voxel-based. Each mapping contains all information needed to figure out
what every index along the matrix dimension means. By putting a dense
mapping along both dimensions in a 2D cifti file, you get a brainordinates
by brainordinates matrix, which is used for connectivity measures. Notably,
even if two dimensions use the same mapping *type*, they can have different
information in them, for example a connectivity matrix between two different
parcellations.
The other mapping types that currently may be used in a cifti file are:
Parcels: each index refers to a named subset of the brainordinates (i.e.
'V1', and the surface vertices in V1)
Scalars: each index is simply given a name (i.e. 'Myelin')
Series: each index is assigned a quantity in a linear series (i.e., a
timeseries of 0 sec, 0.7 sec, 1.4 sec, ...)
Labels: each index is assigned a name (i.e., 'Visual Areas'), but also a
list of labels that maps integer data values to names and colors (i.e.
{(5, 'V1', #ff0000), (7, 'V2', #00ff00), ...})
The commands that operate on cifti files often require you to specify which
dimension they should operate on. Because cifti files can contain 3
dimensions, we specify them as which dimension to operate along, that is,
the ROW dimension refers to the mapping along the length of a row.
Additionally, the ROW dimension is the *first* dimension in a cifti file,
unlike 2D matrices in linear algebra. This means that increasing the value
of the first index moves rightwards in the matrix, not downwards.
The common types of cifti files and the mapping types they use are:
dconn: ROW is dense, COLUMN is dense
dscalar: ROW is scalars, COLUMN is dense
dtseries: ROW is series, COLUMN is dense
dlabel: ROW is labels, COLUMN is dense
pconn: ROW is parcels, COLUMN is parcels
pdconn: ROW is dense, COLUMN is parcels
dpconn: ROW is parcels, COLUMN is dense
pscalar: ROW is scalars, COLUMN is parcels
ptseries: ROW is series, COLUMN is parcels
For the full details of the CIFTI format, see
http://www.nitrc.org/projects/cifti/