create_mats {brainGraph} | R Documentation |
Create connection matrices for tractography or fMRI data
Description
create_mats
creates arrays from connection matrices (e.g.,
fdt_network_matrix from FSL or ROICorrelation.txt from DPABI).
You may choose to normalize these matrices by the waytotal or
region size (tractography), or not at all.
Usage
create_mats(A.files, modality = c("dti", "fmri"), divisor = c("none",
"waytotal", "size", "rowSums"), div.files = NULL,
threshold.by = c("consensus", "density", "mean", "consistency", "raw"),
mat.thresh = 0, sub.thresh = 0.5, inds = list(seq_along(A.files)),
algo = c("probabilistic", "deterministic"), P = 5000, ...)
Arguments
A.files |
Character vector of the filenames with connection matrices |
modality |
Character string indicating data modality (default:
|
divisor |
Character string indicating how to normalize the connection
matrices; either 'none' (default), 'waytotal', 'size', or 'rowSums'
(ignored if |
div.files |
Character vector of the filenames with the data to
normalize by (e.g. a list of waytotal files) (default: |
threshold.by |
Character string indicating how to threshold the data;
choose |
mat.thresh |
Numeric (vector) for thresholding connection matrices (default: 0) |
sub.thresh |
Numeric (between 0 and 1) for thresholding by subject numbers (default: 0.5) |
inds |
List (length equal to number of groups) of integers; each list element should be a vector of length equal to the group sizes |
algo |
Character string of the tractography algorithm used (default:
|
P |
Integer; number of samples per seed voxel (default: 5000) |
... |
Arguments passed to |
Value
A list containing:
A |
A 3-d array of the raw connection matrices |
A.norm |
A 3-d array of the normalized connection matrices |
A.bin |
A list of 3-d arrays of binarized connection matrices, one array for each threshold |
A.bin.sums |
A list of 3-d arrays of connection matrices, with each
entry signifying the number of subjects with a connection present; the
number of list elements equals the length of |
A.inds |
A list of arrays of binarized connection matrices, containing 1 if that entry is to be included |
A.norm.sub |
List of 3-d arrays of the normalized connection matrices for all given thresholds |
A.norm.mean |
List of 3-d arrays of connection matrices averaged for each group |
Connection matrix files
The A.files
argument is mandatory and may be specified in a few ways:
A character vector of the filenames (preferably with full path).
A single character string specifying the directory in which all connectivity matrices are located. This will load all files in the directory.
A named list in which the names match the arguments to
list.files
. This will load all files inpath
that match thepattern
argument, if present, and will load all files in child directories ifrecursive=TRUE
. See examples below.
The same options apply to div.files
as well.
Thresholding methods
The argument threshold.by
has 5 options:
-
consensus
Threshold based on the raw (normalized, if selected) values in the matrices. If this is selected, it uses thesub.thresh
value to perform “consensus” thresholding. -
density
Threshold the matrices to yield a specific graph density (given by themat.thresh
argument). -
mean
Keep only connections for which the cross-subject mean is at least 2 standard deviations higher than the threshold (specified bymat.thresh
) -
consistency
Threshold based on the coefficient of variation to yield a graph with a specific density (given bymat.thresh
). The edge weights will still represent those of the input matrices. See Roberts et al. (2017) for more on “consistency-based” thresholding. -
raw
Threshold each subject's matrix individually, irrespective of group membership. Ignoressub.thresh
.
The argument mat.thresh
allows you to choose a numeric threshold,
below which the connections will be replaced with 0; this argument will also
accept a numeric vector. The argument sub.thresh
will keep only those
connections for which at least X% of subjects have a positive entry
(the default is 0.5, or 50%).
Author(s)
Christopher G. Watson, cgwatson@bu.edu
References
Roberts, JA and Perry, A and Roberts, G and Mitchell, PB and Breakspear, M (2017) Consistency-based thresholding of the human connectome. NeuroImage. 145, 118–129. doi: 10.1016/j.neuroimage.2016.09.053
Examples
## Not run:
thresholds <- seq(from=0.001, to=0.01, by=0.001)
fmri.mats <- create_mats(f.A, modality='fmri', threshold.by='consensus',
mat.thresh=thresholds, sub.thresh=0.5, inds=inds)
dti.mats <- create_mats(f.A, divisor='waytotal', div.files=f.way,
mat.thresh=thresholds, sub.thresh=0.5, inds=inds)
# Specify a directory and filename pattern
conn_files <- list(path='~/data', pattern='.*fdt_network_matrix')
dti.mats <- create_mats(conn_files, ...)
## End(Not run)