Skip to content

DCM Batch #14

Description

@dankessler

A DCMBatch processor is in the works. So far, it's mostly been designed by @dankessler and coded by @shijiaguo.

Here is how it works:

dcm_batch.m

Inputs:
  • VOI path templates
  • SPM.mat templates (first level specifications)
  • Subject List
  • SubjDir path template
  • Permissibility matrices for driving inputs (a), fixed connectivity (b), and modulatory (c) connectivity.
Results

A DCM model for each subject, for each possible combination of DCM wiring matrices.

This script would first call...


permutation.m

Inputs:

permissibility matrices a, b, c (supplied by the batch caller)

Returns

cell array of all possibly a, b, and c permutations as restricted by the permissibility matrices

Next up it calls


dcm_job_config

Inputs:
  • one set of connectivity matrices (a, b, and c)
  • full path name of where to place the dcm.mat job object
  • full path to an SPM.mat job to extract time series of inputs from
  • full paths to VOIs (as a cell array)

Given these inputs, and using code borrowed largely from a template dcm_batch script, it will...

Returns

Stores a dcm.mat job with all options specified
A full path to this dcm.mat job

Next, it calls


dcm_do_job

Inputs
  • Cell array of paths to dcm.mat jobs
Results

For each of these jobs, it will just simply call the dcm_job spm function, which will do the model, creating the result where specified.


At present, we have written permutation and dcm_job_config, which are arguably the trickiest of the scripts. @dankessler is planning to undertake scripting of the dcm_batch and dcm_do_job routines.

Future developments would include a possible VOI generator (at present, you would have to have already done your extractions). We're not sure if it'd be better to include the VOI generator as part of this script, or as a separate project, maybe with a bridge.

The scope of the present project will not include SecondLevel analysis, but since this script will now where all of your jobs are being stored, using it to invoke model selection and parameter estimating, etc, would save the user some serious gui clicking time.

Thoughts? Especially any from @sripada who developed the original concept with @dankessler?

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions