Recipe: tasklist and parameters
A recipe describes what needs to be done. It comprises a tasklist, which specifies the set of processing stages (or modules) that need to be executed, and a set of parameters.
aa has a modular design. Each module handles a single task, which may be peformed per study, per subject or per session. Some of these modules are described in more detail below. All modules have a name that begins “aamod_” (e.g., aamod_realign). There are a few modules that process your input parameters or perform other setup tasks, which are run every time you launch an aa analysis. These are called “initialisation modules”.
aamod_checkparameters / aamod_evaluatesubjectnames
There are then many modules that perform processing of the MRI data, taking one or more input and producing one or more output. Some examples are
aamod_realign / aamod_slicetiming / aamod_smooth
To see a brief description of more modules, go to “Resources – Modules”. Or, see the comments in the .m files of the aamod_* files in the aa_modules directory of the code.
The aa engine (usually via the aa_doprocessing command) takes a description of the tasks you wish to perform, and then runs the appropriate modules. It also provides a number of helper subroutines to support the modules (beginning aas_), and some useful utilities such as the aa_benchmark command to measure analysis times, and the aa_report tool to generate an HTML summary.
The components of the aa system are arranged in a hierarchy. At the top, recipes describe whole processing pipelines and comprise a tasklist and some parameters. You specify these in a “user script”, which describes a single analysis. The entire specification is contained in a single Matlab structure, usually called ‘aap’. This has many elements, to store each of the parameters, and one that specifies the SPM default settings.
The most important of these by far from the user’s point of view is the “User Script” described in the next section. An overview of the different types of components is shown in this table:
|Component||Example file||Description||File location||Expertise (to write/modify)|
|User script||aa_user_cc_avtask.m||Sets up a description of the analysis to be performed. Selects a recipe, adds study specific information, and changes any defaults||User’s directory||Beginner|
|Tasklist||aap_tasklist_typical_fmri.xml||A description of the processing pipeline.||Centrally or User’s directory||Beginner/Intermediate|
|Module settings||aamod_firstlevel_model.xml||A description of the processing pipeline.||Centrally or User’s directory||Beginner/Intermediate|
|Module code||aamod_firstlevel_model.m||Run individual stages of processing||Centrally or User’s directory||Some Matlab experience|
|Parameters||aap_parameters_defaults.xml||Set of parameters to define process||Centrally||Advanced|
|Engine||aa_doprocessing.m||Main automatic analysis engine, which controls module execution||Centrally||Advanced|
Next, you probably want to read about the first of these, the User Script.