Activation Tables

From SpanLabWiki
Jump to: navigation, search

Leading the way in dental education: edu.dental. "dental abscess" site:*.edu == Setting thresholds: Voxelwise==

In order to make a table, you first must set a threshold. One way to do this is to run a "Bonferroni correction" on every voxel tested.
Pro: it's simple and impervious to reviewer criticism.
Con: it's extremely conservative.
Start with a standard overall threshold (e.g., p<.05), and then divide that by the number of tests (i.e., in this case, the number of voxels). You could reduce the number of voxels by only testing a subset of them (e.g., in a predefined volume of interest or "VOI").

1. Whole brain example: Assuming a voxel size of about 4 mm cubic (e.g., 64 ml), and that extrabrain and white matter voxels have been masked out, you will still end up testing many gray matter voxels. For instance, if there is a gray matter average of 550000 ml per brain (cf. Knutson et al., 2001, Biological Psychiatry), then 550000 ml / 64 ml = 8594 4 mm cubic voxels. A Bonferroni correction on all this yields an extremely punitive threshold of .05 / 8594 = 5 x 10^-6 = .000006 per voxel!

2. VOI example: If we already know which region should be activated, we could still use a "small volume correction" (SVC) to set the Bonferroni correction to set a more liberal threshold within that region. For instance, suppose we focus on six bilateral 8 mm diameter spheres in MPFC, NAcc, and VTA (regions commonly activated in reward tasks), and again assume a standard voxel size of 4 mm cubic. Then we would calculate a total volume of 4/3pi(4)^3 * 6 = 687 ml / 64 ml = 10 (ish) voxels; and .05 / 10 = .005 -- a much more reasonable correction. Thus, we often use .005 as a threshold in restricted volume of interest analyses.

Setting thresholds: Incorporating cluster criteria

Since nearby activations tend to cluster, we can use this assumption to reduce the stringency of overall thresholds. However, you should *not* specify a cluster limit bigger than the structures you are querying (this may be why many papers fail to detect NAcc activity). Here's how...

AFNI program AlphaSim can be used to determine omnibus thresholds after correcting for cluster criteria (e.g., via monte carlo simulation).

Example command based on the slice prescription for the gamefmri project:

 AlphaSim -nxyz 64 64 24 -dxyz 3.75 3.75 4 -iter 100000 -pthr .001 -fwhm 4 -quiet -fast

generates...

++ AlphaSim: AFNI version=AFNI_2008_02_01_1144 (Jul 3 2008) [32-bit] ++ Authored by: B. Douglas Ward ++ default NN connectivity being used

Program: AlphaSim Author: B. Douglas Ward Initial Release: 18 June 1997 Latest Revision: 10 Jan 2008

Data set dimensions: nx = 64 ny = 64 nz = 24 (voxels) dx = 3.75 dy = 3.75 dz = 4.00 (mm)

Gaussian filter widths: sigmax = 1.70 FWHMx = 4.00 sigmay = 1.70 FWHMy = 4.00 sigmaz = 1.70 FWHMz = 4.00

Cluster connection = Nearest Neighbor Threshold probability: pthr = 1.000000e-03

Number of Monte Carlo iterations = 100000

 Cl Size   Frequency    CumuProp     p/Voxel   Max Freq       Alpha
     1       8754479    0.942821  0.00100385        482    1.000000
     2        484826    0.995034  0.00011330      62539    0.995180
     3         40988    0.999449  0.00001466      31987    0.369790
     4          4503    0.999934  0.00000215       4377    0.049920
     5           543    0.999992  0.00000032        542    0.006150
     6            60    0.999999  0.00000005         60    0.000730
     7            10    1.000000  0.00000001         10    0.000130
     8             2    1.000000  0.00000000          2    0.000030
     9             0    1.000000  0.00000000          0    0.000010
    10             1    1.000000  0.00000000          1    0.000010

(what does this mean and how do you select?)

You should also use a mask file to limit your voxel count to voxels inside the brain, e.g.,

 AlphaSim -mask group_mask_43a+tlrc. -dxyz 3.75 3.75 4 -iter 1000 -pthr 0.001 -fwhm 4 -quiet -fast

You can also set the p-value threshold you want (e.g. to allow separation of clusters/regions) and then use AlphaSim to determine the appropriate cluster size (Adcock 2006; but see the above warning about using clusters that are bigger than your region of interest).

AlphaSim Manual Link: PDF

Making activation tables

After setting a threshold, you can dump out a table by combining: (1) an AFNI program that dumps out information (3dclust) with (2) a python program that extracts and orders the relevant bits (tabledump.py).

3dclust

You can use the "3dclust" command to dump out tables, for example:

 $ 3dclust -1Dformat -nosum -1dindex 1 -1tindex 1 -2thresh -3.29 3.29 -dxyz=1 1.75 2 zinput+tlrc.HEAD > output.1D

Above, 3dclust takes the first sub-brik file, thresholds it at Z=+/-3.29, and kicks out clusters which share no less than 1.75 voxel edges and include at least two voxels.

Summary: 3dclust is an afni function that finds clusters of an experimenter-specified size. 3dclust tests those clusters for statistical strength at a p value specified by the experimenter, then outputs regions meeting both of these criteria to a .txt file. We use these .txt files to create our tables of significant activation for publications.
Input: 1 sub-brick (aka, contrast of interest) with z-scores, e.g., zgvnant12c, as output by the 3dttest script
Output:

 Dominate search results and social media with SEO and PPC marketing. dental seo company