Background Information Update
Improvement in computing technology seems to be keeping up with advancement in fMRI, allowing researchers to collect all the data before analyzing them in one go. With this, I mean the time taken to process an experiment via batch-processing, is not likely to be longer than 5 days even if only one computer is available and this is an acceptable timeframe. The results generated by analyzing a single subject (fbamm part) is generally not interesting. Researchers are known to generate the group analysis (gbamm part) first before actually viewing the results As CamBA currently stands, the most time consuming part is the preprocessing of individual datasets and generation of individual statistical data (fbamm) and not the group analysis (gbamm) . Thus, the majority of methodologists (excluding the author, for operation reasons) believes that fbamm and gbamm should be combined into one pipeline. As such, it was combined to form Time Series Analysis Pipeline, or TSA for short.
Time Series Analysis, fbamm and gbamm
As far as end users is concerned, tsa behaves like a combined fbamm and gbamm. There are changes that is of interest only to methodologists. Noteworthy changes include combining "Box Pierce Analysis" with "Wavelet Randomization" thus removing the need to choose between "Cochran Transform" and "Wavelet Randomization"; A move from UNC format to NifTI; and finally, the individual statistics images are actually in standard space, not in image space as with BAMM.
TSA preprocesses and generate statistical images (fbamm) for each of the datasets listed in the Input Data SpreadSheet. It then perform a group analysis (gbamm) for all the datasets listed.
TSA User Interface
Although TSA is a combination of multiple fbamms and a gbamm, the user interface, i.e., the Input Data SpreadSheet is actually simpler than fbamm. Here, we aim to collect as little data as possible from you, choosing instead, to rely on default values to get you started.
The new Input Data SpreadSheet simply have two columns, i.e., you only need to put in the two pieces of data for each job: The image data itself ("FMRI Dataset") and its stimulus encoding (Design Matrix in CamBA speak).
In the old gbamm Input Data Spreadsheet, users need to enter a list of files for the group. With TSA, this list consists of the files you seethe "FMRI dataset" column. The downside of this design is there can only be one group analysis and that analysis must consist of all the datasets in this Input Data SpreadSheet.
Also, for those of you who are not following the blog, we added an interface to modify the .cambarc file. See this article for more detail. The .cambarc file is used to initialized values for the pipeline.
When you select Run->Run to run the data through the pipeline, we will ask you for one additional piece of information, i.e., the output directory. Previously, we used a default value for the output directory. However, when using it I find that I always accidentally overwrites my output directory when I did not want to. Hence, it is safer to leave the output directory blank and ask you to fill it in.
Parameter Dialog
Since we only read .cambarc at the creation of the Input Data Spreadsheet, it is necessary to provide a mechanism to modify the values initialized by .cambarc in the lifetime of the Input Data Spreadsheet. It is a requirement for all variables initialized from .cambarc to be overridable by command line option, thus, all variables that reads from .cambarc is coded as a parameter to allow the use of parameter dialog to modify their values.
The old conversion used for CamBA allows pipeline developers to hide "unimportant" parameters. The idea is to ensure that the Parameter Dialog will not be over-populated with countless parameter options. However, after coding these variables as parameters, its transpire that there are less than 5 parameters of TSA that are not modifiable if this strategy is to be followed. Hence, for TSAfx, I coded the Parameter Dialog to display all parameters. This observeration had proven that our fear of over-populating the Parameter Dialog is probably unfounded. This is because the individual analysis part of TSAfx is the most parameter intensive part of all CamBA pipeline, but yet the number of parameters is still manageable. However, displaying all parameters introduces the following:
- There are a lot of parameters with almost the same name, for example "Error Pixel Per Image" (EPPI) and "Error Pixel Per Image (Group)". This can lead to confusion.
In the Parameter dialog, we lose information about the module. In the example above, we are actually referring to the EPPI for individual and EPPI for group analysis.
- A single variable in .cambarc can be shared by parameters in several modules. Hence, it is difficult to ensure that they are in sync. One example is the "Voxel Connectivity". Ideally, it should be the same for both individual and group and synchronized with "Cluster Connectivity". However, this means attempting to synchronized four parameters in the Parameter dialog.
The two problems are not independent, in fact, when name confusion occurs, it is likely that the two parameters should be carrying the same value in the first place. Thus, I did some programming work to link parameters which are similar together. On the Parameter Dialog table, I will be showing only one parameter. The values of other parameters linked to it will be updated once you click on "Finish" on the Parameter Dialog
Technical Changes
- To have group analysis commence after the completion of individual analysis, the following new objects are defined to support its operation:
- A new type of connection (GFX_CONTROL_SIGNAL) is created. When attached to input module, it will send a signal when the input module no longer has any dataset to process.
- A new input port to accumulate input data (Accumulator port). Previously, all input data are lost as soon as the next one arrives.
- A new module which is triggerred unconditionally when on receipt of a signal. (Trigger module)
Together, they permit accummulation of "fMRI dataset" names and trigger the first group operation (Using Trigger module triggering on GFX_CONTROL_SIGNAL_END sent by input module with an accumulator port to collect "FMRI Dataset" names) on completion of individual analysis.
- A URI-based naming convention to read .cambarc file inside the pipeline file. See this article for more details.
- A new XML element gfxLink is introduced to allow represent "links" between different parameters. A link of parameters means the parameter values should be maintained to be the same automatically by the Parameter Dialog.