Diff for "AutomaticAnalysisRecipes" - MRC CBU Imaging Wiki
location: Diff for "AutomaticAnalysisRecipes"
Differences between revisions 36 and 37
Revision 36 as of 2006-09-04 10:35:16
Size: 12899
Editor: RhodriCusack
Comment:
Revision 37 as of 2006-09-04 10:37:12
Size: 13019
Editor: RhodriCusack
Comment:
Deletions are marked like this. Additions are marked like this.
Line 161: Line 161:
Slice timing correction involves resampling through time but not moving images, while motion correction involves moving images relative to each other. There is no simple answer to which should be done first. If slice timing is done first, then if there are abrupt movements between scans, the interpolation across time will be blurring across voxels from different parts of the brain in its correction. If motion correction is done first, then the slices in the image no longer always correspond to order of acquisition of the slices. Slice timing correction involves resampling through time but not moving images, while motion correction involves moving images relative to each other. There is no simple answer to which should be done first. If slice timing is done first, then if there are abrupt movements between scans, the interpolation across time will be blurring across voxels from different parts of the brain in its correction. If motion correction is done first, then the slices in the image no longer always correspond to order of acquisition of the slices, and the temporal correction applied won't be appropriate.
Line 165: Line 165:
A disadvantage of doing motion correction before slice timing is that an extra reslicing stage is required in between. A disadvantage of doing motion correction before slice timing is that an extra reslicing stage is required in between (i.e., you must generate r* images before doing slice timing).

Include(AutomaticAnalysisTopbar)



Recipes that are available

These apply to the development version, soon to be released (Sep 2006).

This first section describes available recipes. The next section discusses issues that might help you choose the appropriate one for you.

aarecipe_general_ver02.m

Default recipe without model

Parameter sets

aap_directory_conventions_ver00

aap_options_ver00

aap_tasklist_general_ver02

aap_spmanalysis_autotr_resliceall_ver00

aap_acq_details_ver00

Tasklist

stage

description

EPI prefix for input

aamod_study_init

Initialise study

aamod_newsubj_init

Make subject directory

aamod_converttmaps

Convert real time t statistic outputs

aamod_copystructural

Structural dicom to nifti and copying

aamod_convert_epis

Performing dicom to nifti conversion of EPIs

aamod_tsdiffana

Run tsdiffana

f

aamod_realign

SPM5 realignment

f

aamod_slicetiming

SPM5 slice timing

rf

aamod_coreg_noss

SPM5 coregister EPI to structural without skull stripping

arf

aamod_norm_noss

SPM5 normalisation/segment

arf

aamod_norm_write

SPM5 write normalised

arf

aamod_smooth

SPM5 smooth

warf

aarecipe_general_withmodel_ver01.m

Slice timing first, with model

Parameter sets

aap_directory_conventions_ver00

aap_options_ver00

aap_tasklist_general_withmodel_ver02

aap_spmanalysis_autotr_resliceall_ver00

aap_acq_details_ver00

Tasklist

stage

description

EPI prefix for input

aamod_study_init

Initialise study

aamod_newsubj_init

Make subject directory

aamod_converttmaps

Convert real time t statistic outputs

aamod_copystructural

Structural dicom to nifti and copying

aamod_convert_epis

Performing dicom to nifti conversion of EPIs

aamod_tsdiffana

Run tsdiffana

f

aamod_realign

SPM5 realignment

f

aamod_slicetiming

SPM5 slice timing

rf

aamod_coreg_noss

SPM5 coregister EPI to structural without skull stripping

arf

aamod_norm_noss

SPM5 normalisation/segment

arf

aamod_norm_write

SPM5 write normalised

arf

aamod_smooth

SPM5 smooth

warf

aamod_firstlevel_model

SPM5 first level model

swarf

aamod_firstlevel_contrasts

SPM5 contrasts

swarf

aamod_secondlevel_model

SPM5 second level (RFX) model

aarecipe_noslicetiming_withmodel_ver00.m

Recipe without slice timing. Suitable for sparse imaging, or when you are going to but event derivatives in your model.

Parameter sets

aap_directory_conventions_ver00

aap_options_ver00

aap_tasklist_noslicetiming_withmodel_ver00

aap_spmanalysis_autotr_noreslice_ver00

aap_acq_details_ver00

Tasklist

stage

description

EPI prefix for input

aamod_study_init

Initialise study

aamod_newsubj_init

Make subject directory

aamod_converttmaps

Convert real time t statistic outputs

aamod_copystructural

Structural dicom to nifti and copying

aamod_convert_epis

Performing dicom to nifti conversion of EPIs

aamod_tsdiffana

Run tsdiffana

f

aamod_realign

SPM5 realignment

f

aamod_coreg_noss

SPM5 coregister EPI to structural without skull stripping

f

aamod_norm_noss

SPM5 normalisation/segment

f

aamod_norm_write

SPM5 write normalised

f

aamod_smooth

SPM5 smooth

wf

aamod_firstlevel_model

SPM5 first level model

swf

aamod_firstlevel_contrasts

SPM5 contrasts

swf

aamod_secondlevel_model

SPM5 second level (RFX) model

aarecipe_realignunwarp_nomodel_ver00.m

Recipe using realign & unwarp without model

Parameter sets

aap_directory_conventions_ver00

aap_options_ver00

aap_tasklist_realignunwarp_ver00

aap_spmanalysis_autotr_resliceall_ver00

aap_acq_details_ver00

Tasklist

stage

description

EPI prefix for input

aamod_study_init

Initialise study

aamod_newsubj_init

Make subject directory

aamod_converttmaps

Convert real time t statistic outputs

aamod_copystructural

Structural dicom to nifti and copying

aamod_convert_epis

Performing dicom to nifti conversion of EPIs

aamod_tsdiffana

Run tsdiffana

f

aamod_realignunwarp

SPM5 realign and unwarp

f

aamod_slicetiming

SPM5 slice timing

uf

aamod_coreg_noss

SPM5 coregister EPI to structural without skull stripping

auf

aamod_norm_noss

SPM5 normalisation/segment

auf

aamod_norm_write

SPM5 write normalised

auf

aamod_smooth

SPM5 smooth

wauf

aarecipe_slicetimingfirst_withmodel_ver00.m

Slice timing first, with model

Parameter sets

aap_directory_conventions_ver00

aap_options_ver00

aap_tasklist_slicetimingfirst_withmodel_ver00

aap_spmanalysis_autotr_noreslice_ver00

aap_acq_details_ver00

Tasklist

stage

description

EPI prefix for input

aamod_study_init

Initialise study

aamod_newsubj_init

Make subject directory

aamod_converttmaps

Convert real time t statistic outputs

aamod_copystructural

Structural dicom to nifti and copying

aamod_convert_epis

Performing dicom to nifti conversion of EPIs

aamod_tsdiffana

Run tsdiffana

f

aamod_slicetiming

SPM5 slice timing

f

aamod_realign

SPM5 realignment

af

aamod_coreg_noss

SPM5 coregister EPI to structural without skull stripping

af

aamod_norm_noss

SPM5 normalisation/segment

af

aamod_norm_write

SPM5 write normalised

af

aamod_smooth

SPM5 smooth

waf

aamod_firstlevel_model

SPM5 first level model

swaf

aamod_firstlevel_contrasts

SPM5 contrasts

swaf

aamod_secondlevel_model

SPM5 second level (RFX) model

aarecipe_structuralsonly_ver00.m

Recipe that only processes structurals

Parameter sets

aap_directory_conventions_ver00

aap_options_ver00

aap_tasklist_structuralsonly

aap_spmanalysis_autotr_noreslice_ver00

aap_acq_details_ver00

Tasklist

stage

description

EPI prefix for input

aamod_study_init

Initialise study

aamod_newsubj_init

Make subject directory

aamod_converttmaps

Convert real time t statistic outputs

aamod_copystructural

Structural dicom to nifti and copying

attachment:test.jpg

Considerations when choosing a recipe

Slice timing or not?

The “slice-timing” problem refers to the fact that, with a continuous descending EPI sequence for example, the bottom slice is acquired TA~=TR seconds later than the top slice. If a single basis function (such as a canonical HRF) were used to model the response, and onset times were specified relative to the start of each scan, the data in the bottom slice would be delayed by TR seconds relative to the model. This would produce poor (and biased) parameter estimates for later slices, and mean that different sensitivities would apply to different slices. One solution to this problem is to interpolate the data during preprocessing as if the slices were acquired simultaneously. This works reasonably well for TRs around 3 seconds (see http://www.mrc-cbu.cam.ac.uk/~rh01/henson-1999-hbm-slice.pdf).

However, a problem with slice-timing correction is that the interpolation will alias frequencies above the Nyquist limit 1/(2TR). Ironically, this means that the interpolation accuracy decreases as the slice-timing problem (ie TR) increases. For longer TRs, the severity of the interpolation error may depend on whether appreciable signal power exists above the Nyquist limit (which is more likely for rapid, randomised event-related designs). Rapid, uncorrected movements will also cause errors in the interpolation, even for short TRs. For these reasons, some people prefer an alternative solution to the slice-timing problem, which is keep the data unchanged, but have a more complex model, ie to accommodate the timing errors within the GLM. One can add the temporal derivatives of one's temporal basis functions for example, to "mop up" latency differences between slices (see http://www.mrc-cbu.cam.ac.uk/~rh01/henson-1999-hbm-slice.pdf). SPM's temporal derivative of its canonical HRF can handle latency differences of approx +/-1s for example, making it sufficient for TRs of up to 2s, if the model is synchronised with the middle slice (and if all brain regions exhibited a canonical response). If one suspects additional latency differences owing to variations in the vasculature of different brain regions, then even more basis functions may be required.

Note that if you choose to add a further regressor representing temporal derivative of an assumed HRF, this will reduce the residual error and hence improve statistics for 1st-level analyses, but will not necessarily affect 2nd-level analyses on the assumed HRF alone (since basis functions are normally orthogonal to one another, in which case the parameter estimate for the assumed HRF is unchanged by the additional of its derivative). Instead, one can include (contrasts of) the parameter estimates for the temporal derivative in 2nd-level analyses as well, and make inferences using F-contrasts (or one can combine the parameter estimates to get a "latency-independent" amplitude estimate, accurate up to the time-shift of the derivative http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=pubmed&cmd=Retrieve&dopt=AbstractPlus&list_uids=15110015&query_hl=1&itool=pubmed_docsum). Finally, note that in some designs with very short, fixed SOAs (<~2s), the use of a temporal derivative may not be advisable, because its associated regressor will become highly correlated with the differences between different event-types (ie one will be unable to distinguish latency differences from amplitude differences).

Order of slice timing and motion correction

Slice timing correction involves resampling through time but not moving images, while motion correction involves moving images relative to each other. There is no simple answer to which should be done first. If slice timing is done first, then if there are abrupt movements between scans, the interpolation across time will be blurring across voxels from different parts of the brain in its correction. If motion correction is done first, then the slices in the image no longer always correspond to order of acquisition of the slices, and the temporal correction applied won't be appropriate.

If you use an interleaved slice order during acqusition (no longer the default at the CBU - see [http://imaging.mrc-cbu.cam.ac.uk/imaging/TipsForDataAcquisition#head-050cc11391e60b6442119a9e05cb0936e1659bf1 discussion of slice order] then you will probably want to apply slice timing before motion correction. Because all of the odd-numbered slices are acquired first, and the all the even ones, adjacent slices are acquired apart in time (0.5 * TR = around a second). A shift in the image by motion correction of 1 slice (4 mm) will cause a substantial shift in acqusition time for a particular slice, and slice timing will not be at all appropriately applied.

A disadvantage of doing motion correction before slice timing is that an extra reslicing stage is required in between (i.e., you must generate r* images before doing slice timing).

If you use a sequential slice order during acquisition, many people prefer to apply motion correction before slice timing. I do not know if this has been evaluated in any thorough way.

Realign and unwarp or just realign?

Jesper Anderson wrote a tool that models how the brain changes in shape with small motions due to distortion in the image. If there are substantial distortions in your images this may be useful. However, unless you are testing patients with clips, or have some other reason to expect distortions, this tool is probably not vital.

Scripting your modelling?

The newer releases of aa allow scripted first level modelling, first level contrasts, and second level modelling. The first level modelling requires you to do a little coding, to specify your design. Unless you are the one neuroimager on the planet that gets the design of the analysis of their experiment exactly right first time, I would recommend this - you'll find it a little effort now for a big gain later.

CbuImaging: AutomaticAnalysisRecipes (last edited 2013-03-07 21:23:02 by localhost)