A three-region Dynamic Causal Model used in the documentation, vignette,
and tests. It is an input specification (no posterior fields), ready to
invert with dcm_estimate.
toy_dcmA list with the standard SPM-style DCM fields:
3 x 3 binary matrix of endogenous connections to estimate.
3 x 3 x 1 binary array of modulatory connections.
3 x 1 binary matrix of driving inputs; here the input enters region 3 only.
Observed BOLD data. Y$y is the 482 x 3 time-series
matrix (rows = scans, columns = regions); Y$dt is the
sampling interval in seconds; Y$X0 is the confound design;
Y$Q is the error-covariance component list; Y$name
holds the region names.
Input design. U$u is the 482 x 1 input matrix at the
microtime resolution; U$dt is the microtime step;
U$name holds the input names.
Number of regions (3) and number of scans (482).
Echo time in seconds.
Name of the model.
Region (VOI) structure carried over from the source DCM.
Estimation options: nonlinear, two_state,
stochastic, centre, mode, maxit,
induced, maxnodes, hE, hC.
Derived from the fMRI data of Valerio et al. (2025), "Neural and
behavioral similarity-driven tuning curves for manipulable objects",
Imaging Neuroscience, 3, doi:10.1162/imag_a_00482
, via a Dynamic Causal
Modelling exercise carried out with that data during package development.
The build script that prepared the shipped object is in
data-raw/make-toy-dcm.R. See the package CITATION for the
full author list.
The model has 3 regions and 482 scans, with a single driving input
entering region 3 and a single modulatory input. All entries of the
a matrix are enabled, so every directed connection between the
three regions is estimated.
data(toy_dcm)
str(toy_dcm, max.level = 1)
#> List of 11
#> $ name : chr "DCM_model"
#> $ n : int 3
#> $ v : num 482
#> $ Y :List of 5
#> $ U :List of 3
#> $ xY :List of 3
#> $ a : num [1:3, 1:3] 1 1 1 1 1 1 1 1 1
#> $ b : num [1:3, 1:3, 1] 0 0 0 1 0 0 0 1 0
#> $ c : num [1:3, 1] 0 0 1
#> $ options:List of 10
#> $ TE : num 0.04
if (FALSE) { # \dontrun{
fit <- dcm_estimate(toy_dcm)
round(fit$Ep$A, 3)
} # }