Hi Jidan,

The cluster size is the correction, so I don't think you can get an uncorrected p-value for a cluster size.  You could apply a threshold equivalent to 0.05 uncorrected and then see what the size of the cluster is.

By the way, you can vary the pval (uncorrected) used for calculating the cluster threshold.  A smaller, more stringent pval (e.g. 0.0001) will result in a smaller cluster size threshold than a more liberal pval (e.g. 0.05).  It may seem like cheating to adjust the pval until you get the result you want, and it probably is, but if you initially used pval=0.05, it would probably have been better to use something like 0.01 or 0.001.  If pval is too large, your clusters will clump together and your centroids would not be meaningful.


Don




Date: Fri, 3 Apr 2009 13:09:50 +0800
Subject: Re: [Freesurfer] determining sizes of clusters on surface data
From: jidanz@gmail.com
To: dhaglerjr@hotmail.com
CC: freesurfer@nmr.mgh.harvard.edu

Hi Don,

Thanks for your reply. I'm using the same program you mentioned. Now I understand why the cluster size in mm^2 is not a constant.

I'm curious about the alpha, which is corrected p- value threshold for the cluster. In fact, is there any method to get the uncorrected p-value of the cluster or its size ? If I use alpha=0.05 (corrected), there would be a problem that the cluster size is too stringent to show the result. I'm thinking whether I can get the cluster size with uncorrected p-value (say,0.05) to compare this size with the corrected one, to see how difference they are.
function [cluster_threshold,peak_threshold] =  fs_calc_cluster_thresh(nverts,area,fwhm,df,alpha,pval);

Thanks,

regards,

Jidan



On Fri, Apr 3, 2009 at 11:49 AM, Don Hagler <dhaglerjr@hotmail.com> wrote:
Assuming Worsley did not make any changes to his basic method since 2003 (the version I copied), then the difference here is probably, as you said, because of the resels.

If you use resels, then the cluster thresholds are in resels and the surface area of two clusters with the same number of resels can be different (by design).  If you want your threshold to be a constant mm^2, don't use resels.

His function has an option to either supply the total surface area in mm^2 or in resels.  If you specify in resels, then you area supossed to set fwhm = 1.  This is in the comments of his function that is buried in mine.  I haven't used his most recent toolbox.  Does it give the option to specify surface area and fwhm in mm^2?

By the way, when I made surface maps of resels I calculated for my own surface data, they looked very spiky and I decided not to use them, but instead made the simplifying assumption of uniform smoothness across the surface.



Date: Fri, 3 Apr 2009 11:03:04 +0800
From: jidanz@gmail.com
To: freesurfer@nmr.mgh.harvard.edu
Subject: [Freesurfer] determining sizes of clusters on surface data


Hi,

I was trying to figure out if there is any way to determine the exact size at which clusters becomes significant given a specified significance on the surface data.

Then i found there is a subject talking about this:
https://mail.nmr.mgh.harvard.edu/pipermail//freesurfer/2007-August/005855.html

In that talk,Don Hagler mentioned Keith Worsley's "Random Field Theory" method (http://www.math.mcgill.ca/keith/fmristat/toolbox/stat_threshold.m) can be used to directly (in seconds) estimate the cluster size thresholds given:
..total surface area
..number of vertices
..fwhm smoothness.
function [cluster_threshold,peak_threshold] = fs_calc_cluster_thresh(nverts,area,fwhm,df,alpha,pval);
> % alpha: corrected p-value
> % {default = 0.05}
> % pval: uncorrected p-value
> % {default = 0.001}

I tried this function, and it does give me a cluster size with mm^2, say 100 mm^2. But I don't know whether this is the right thing to do.

As I'm doing some statistical analysis using GLM, so I also try the method from Keith Worsley's statistical toolbox, then I can get the cluster's No. of vertices and the corrected p-value(alpha=0.05) for the cluster.

Here is one example:
 
clusid nverts resels P
---------------------------------------
1 2205 18.2781 2.1299e-06
2 208 1.42105 0.013359
3 127 1.15533 0.026747
4 58 1.0443 0.036658
5 5 0.519762 0.20884
6 105 0.464429 0.2571

The thing I don't understand is , if we are looking for a cluster size threshold, then we can say that,
the clusters above that threshold size is what we want to keep. And also, the p-value of the clusters above that threshold size should
be below alpha we set, say 0.05. But when checking the tale above, the first four clusters' p- value is smaller than 0.05, then we should keep it. But according to the no. of vertices, we can caculate the cluster size in mm^2. Then the 4th
cluster size is obviously below 100mm^2, the threshold we found using the function
fs_calc_cluster_thresh. Oppositely, the 6th cluster has a large no. of vertices and its cluster size is above 100mm^2, while it's
not kept because its p value is above 0.05.

I know what happened here is because of the 'resels', but it really confuse me which one is the right one. Since you said we can use the function, then why
is the result conflicted with each other?

Could you tell me what's wrong here or what did I miss ?
Thanks a lot,

Jidan



Quick access to your favorite MSN content and Windows Live with Internet Explorer 8. Download FREE now!



Quick access to your favorite MSN content and Windows Live with Internet Explorer 8. Download FREE now!