Producing Tables of Coordinates (SPM): Difference between revisions

From CCN Wiki
Jump to navigation Jump to search
No edit summary
Line 14: Line 14:


You can (and should) save the SPM output to a postscript (.ps) file at this point. The .ps file can be opened in Adobe Acrobat Reader.
You can (and should) save the SPM output to a postscript (.ps) file at this point. The .ps file can be opened in Adobe Acrobat Reader.
The SPM output has nearly all the information you will need to produce a table of coordinates for this contrast for a manuscript. The 3D coordinates are difficult to interpret, however, for someone without an encyclopaedic knowledge of brain taxonomy. The next step is to use a MATLAB script to translate the XYZ coordinates into user-friendly brain nomenclature.
== Translating XYZ coordinates into Brain Regions ==
In the UBFS /Scripts/Matlab folder are a pair of MATLAB files that look up sets of coordinates and report the corresponding Automated Anatomical Labeling (AAL) atlas regions. These will need to be in your MATLAB path. To find out if they are, open MATLAB and type
which aal_daemon
If you get a 'not found' message, navigate to the ~/ubfs/cpmcnorg/Scripts/Matlab folder and copy aal_daemon.m and aal.mat to your ~/Documents/Matlab folder. You should now be able to run the aal_daemon function in MATLAB.
Try executing the following command in MATLAB, which will tell you how to use this function, and even give you some sample usage:
help aal_daemon
Pay particular attention to the sample usage, as this shows you how you will run it on your SPM output. Suppose, after thresholding your SPM data as described above, there were two major clusters, roughly on opposites sides of the brain. These clusters might have had peaks in the following locations:
63,-27,3 and -57,-9,-3. Now you wish to determine what the corresponding brain regions are. The aal_daemon function will take those coordinate triples and look each of them up and report an anatomical brain region and Brodmann Area (another taxonomic naming system) for each location. You can look up the coordinates individually, or you can enter them all into a matrix and have the function look up all the coordinates at once (this is probably the fastest approach).
First, you would make a matrix of coordinates. In this case, we have two triples of coordinates. MATLAB matrices separate columns with commas, and rows with semicolons. Each triple of coordinates is a single row in the matrix. So in our example, we might make a matrix called coordlist:
coordlist=[63,-27,3;-57,-9,-3];
Now you can save the results of the aal_daemon lookup to a cell array:
mytable=aal_daemon(coordlist);
Each entry of mytable contains the information for the corresponding coordinate triple in the order that you entered them into your coordlist matrix.
>>mytable{1}
ans:
aal: Temporal_Sup_R
ba: 21
x: 63
y: -27
z: 3
So here, you can see that the first triple of coordinates correspond to a point in the right superior temporal gyrus, or Brodmann Area 21.
Note that large clusters are likely to span multiple regions. You will have to use your good judgment to determine whether reporting a single brain region and/or Brodmann Area adequately describes the data. Also note that there is not a 1-to-1 correspondence between AAL region and Brodmann Area. For example, the Superior Temporal Gyrus (STG) includes Brodmann Areas 21 and 22. Because the function looks up the entry for a single point, this single entry may not be representative of the cluster in general. In these cases you may wish to do lookups on sub-peaks (see the sample table below for an instance where multiple BAs are listed for a single cluster).


== Generating the Table of Coordinates for a Manuscript ==
== Generating the Table of Coordinates for a Manuscript ==

Revision as of 11:30, 24 March 2016

Most neuroimaging papers include a section in the results describing some statistical comparison (or contrast) between two or more conditions (one of those conditions might be an implicit baseline). This is probably what comes to mind when you think of presentations of fMRI research showing what I refer to as "blobs of activation", and what people are generally referring to when they say that some part of the brain "lights up" when doing some task.

Along with figures showing beautiful renderings of these statistical comparisons, the presentation of these findings should also include a tabular summary of these data because a 2D rendering of 3D data loses much precision. Numerical data may also later be entered into a meta-analysis, whereas a figure cannot. The procedure below describes how to generate the table of coordinates that should accompany the figure produced by following the wiki entry for producing a contrast rendering.

Obtaining the SPM Table of Coordinates

'Note that the table of coordinates should be produced using identical parameters to those used to produce the brain renderings. This is most easily done by producing the table and the 3D contrast volume at the same time.'

In SPM, load the contrast of interest

  1. Select Results from the GUI interface
  2. Identify the SPM.mat file of interest. For a group-level contrast (the typical case), there should be an SPM.mat file in the directory designated to receive the Random Effects analysis results
  3. Select the contrast of interest
  4. Assign the desired uncorrected (or FWE corrected) significance threshold and extent threshold (if any; the default extent threshold value is 0)
  5. FILL OUT THE REST-- I CAN'T REMEMBER THE EXACT BUTTON NAMES

You can (and should) save the SPM output to a postscript (.ps) file at this point. The .ps file can be opened in Adobe Acrobat Reader.

The SPM output has nearly all the information you will need to produce a table of coordinates for this contrast for a manuscript. The 3D coordinates are difficult to interpret, however, for someone without an encyclopaedic knowledge of brain taxonomy. The next step is to use a MATLAB script to translate the XYZ coordinates into user-friendly brain nomenclature.

Translating XYZ coordinates into Brain Regions

In the UBFS /Scripts/Matlab folder are a pair of MATLAB files that look up sets of coordinates and report the corresponding Automated Anatomical Labeling (AAL) atlas regions. These will need to be in your MATLAB path. To find out if they are, open MATLAB and type

which aal_daemon

If you get a 'not found' message, navigate to the ~/ubfs/cpmcnorg/Scripts/Matlab folder and copy aal_daemon.m and aal.mat to your ~/Documents/Matlab folder. You should now be able to run the aal_daemon function in MATLAB.

Try executing the following command in MATLAB, which will tell you how to use this function, and even give you some sample usage:

help aal_daemon

Pay particular attention to the sample usage, as this shows you how you will run it on your SPM output. Suppose, after thresholding your SPM data as described above, there were two major clusters, roughly on opposites sides of the brain. These clusters might have had peaks in the following locations: 63,-27,3 and -57,-9,-3. Now you wish to determine what the corresponding brain regions are. The aal_daemon function will take those coordinate triples and look each of them up and report an anatomical brain region and Brodmann Area (another taxonomic naming system) for each location. You can look up the coordinates individually, or you can enter them all into a matrix and have the function look up all the coordinates at once (this is probably the fastest approach).

First, you would make a matrix of coordinates. In this case, we have two triples of coordinates. MATLAB matrices separate columns with commas, and rows with semicolons. Each triple of coordinates is a single row in the matrix. So in our example, we might make a matrix called coordlist:

coordlist=[63,-27,3;-57,-9,-3];

Now you can save the results of the aal_daemon lookup to a cell array:

mytable=aal_daemon(coordlist);

Each entry of mytable contains the information for the corresponding coordinate triple in the order that you entered them into your coordlist matrix.

>>mytable{1}
ans:
aal: Temporal_Sup_R
ba: 21
x: 63
y: -27
z: 3

So here, you can see that the first triple of coordinates correspond to a point in the right superior temporal gyrus, or Brodmann Area 21.

Note that large clusters are likely to span multiple regions. You will have to use your good judgment to determine whether reporting a single brain region and/or Brodmann Area adequately describes the data. Also note that there is not a 1-to-1 correspondence between AAL region and Brodmann Area. For example, the Superior Temporal Gyrus (STG) includes Brodmann Areas 21 and 22. Because the function looks up the entry for a single point, this single entry may not be representative of the cluster in general. In these cases you may wish to do lookups on sub-peaks (see the sample table below for an instance where multiple BAs are listed for a single cluster).

Generating the Table of Coordinates for a Manuscript

A properly formatted table of coordinates should have the following structure:

Region (BA) Size SIG Max Z x y z
Table data here
Note: L, left; R, right; BA, Brodmann Area; Size, cluster size measured in voxels (or mm^3);
FDR, FDR-corrected significance level (used for SIG column; alternatively, FWE, Family-wise error corrected significance level);
Max Z, maximum Z statistic reported for cluster. Coordinates reflect standard MNI space

This table simply follows the APA 6th Edition guidelines for table presentation. There are solid horizontal lines marking the bottom of the table data, and at the top and bottom of the header row. No horizontal lines separate rows within the table data, nor are there vertical column lines. Table notes appear immediately below the table. I generally accomplish this by adding a borderless "hidden" row after the last row of table data, spanning all table columns (you might use Merge Cells to do this in MS Word).

Sample Table

Region (BA) Size FDR Max Z x y z
R. Superior Temporal Gyrus (BA 21) 861 < 0.001 6.58 63 -27 3
L. Superior Temporal Gyrus (BA 48/21) 1009 < 0.001 6.09 -57 -9 -3
Note: L, left; R, right; BA, Brodmann Area; Size, cluster size measured in voxels ';
FDR, FDR-corrected significance level ;
Max Z, maximum Z statistic reported for cluster. Coordinates reflect standard MNI space

If you have many occurrences of the same anatomical region, you might use standard abbreviations (e.g., STG: Superior Temporal Gyrus; IFG: Inferior Frontal Gyrus) to make your tables more compact. Abbreviations should be listed in the table notes.