Hi,
[I am no Prof but just wolf ;-)]
I am sorry that I can't really follow you right now, or see, where you
approach contradicts that in the linked post.
The use of this different numbers of arguments lead to some different
behavior of the easythres_conj script regarding its output. If you
provide a mask, as well as the two subsequent numbers specifying a
cluster z and thresholds, this script applies a conjunction analysis
using the minimum statistics approach AND also applies a cluster
thresholding in order to obtain corrected statistics. If you just
provide a z-threshold, this is only used for rendering the stats on the
background image.
So maybe the usage depends a bit on what you want to get out of this
script. If you look into this script (and maybe compare it with FSLs
easythresh script), you will see, that basically the 'conjunction
analysis' is the fslmaths call with the -m options. All the rest is
about correcting stats and rendering them.
Therefore I made in my last reply the suggestion just to run fslmaths
with -min option using all your three groups, and use a subsequent call
on the output with easythresh in order to get cluster corrected
statistics, If I am not wrong, this should be quiet similar to what was
described in the linked post, but you might have a small (neglectable?)
bias because of the less accurate estimation of the smoothness.
I hope this helps,
wolf
On 12/07/2012 04:30 PM, Lorena Jimenez-Castro wrote:
> Dear Professor Wolf and Professor Tom Nichols,
>
> I greatly appreciate your answer Professor Wolf, However I am a little confused because I think that it is valid to do a conjunction analysis using "easythresh_conj" without including the smoothness, although I do understand that is more accurately to use a smoothness. Thus, I was thinking to apply "easythresh_conj" without a smoothness. Am I understanding correctly?
>
> So, My primary question was: if I have z-maps UN-thresholded which of the following call of "easythresh_conj" is correct:
>
> 1) easythresh_conj group1_min_group2_zstat group3_zstat1 2.3 MNI152_T1_2mm_brain.nii.gz grot
> or
>
> 2) easythresh_conj group1_min_group2_zstat group3_zstat1 mask.nii.gz 2.3 0.01 MNI152_T1_2mm_brain.nii.gz grot
>
> I thought the correct option was my option "2" However I found this post from Professor Tom Nichols ( https://www.jiscmail.ac.uk/cgi-bin/webadmin?A2=ind1112&L=fsl&P=R21238&1=fsl&9=A&J=on&X=6CCA4C4BB86C137993&Y=lojicas%40yahoo.com&d=No+Match%3BMatch%3BMatches&z=4 ) where he described the opposite to what I was thinking. So I would like to Know which of the above calls of "easythresh_conj" is right for uncorrected stat.
>
> I would appreciate any correction and insight on this matter,
>
> Thanks a lot
>
> Lorena
>
>
> -- Lorena Jimenez-Castro, MD
> Postdoctoral Fellow
> Research Imaging Institute
> University of Texas Health Science Center
> 8403 Floyd Curl Drive
> San Antonio, TX 78229
>
>
>
> ________________________________
>
> Hi,
>
> I guess in principle it is no that wrong what you are doing. But you could take the minimum of all three maps with one call:
> fslmaths group1_zstat1 -min group2_zstat1 -min group3_zstat1 groups_conj
> You can feed the output into easythresh, or apply any other form of correction.
> When using a cluster based thresholding, you might have a small bias when estimating the smoothness just for the resulting image (I read once here, that this is not severe, but can;t asses by myself). In Tom Nichols script there are several methods mentioned, to get a better estimate of the smoothness. FOr example, run smoothest on each group imagem and take the maximum of DLH and RESELS as smoothness estimate for the clusterthresholding, e.g.
> SM1=`smoothest -z $zstat1 -m $tmpdir/mask`
> SM2=`smoothest -z $zstat2 -m $tmpdir/mask`
> SM3=`smoothest -z $zstat3 -m $tmpdir/mask`
>
> VOLUME=`echo $SM1 | grep VOLUME | awk '{print $4}'` # Same mask, so volume should be identical
>
> DLH1=`echo $SM1 | grep DLH | awk '{print $2}'`
> DLH2=`echo $SM2 | grep DLH | awk '{print $2}'`
> DLH3=`echo $SM3 | grep DLH | awk '{print $2}'`
>
> # that's a quick and dirty way, not very elegant...
> DLH=`echo "if ($DLH1 > $DLH2) $DLH1 else $DLH2" | bc -l`
> DLH=`echo "if ($DLH3 > $DLH) $DLH3 else $DLH" | bc -l`
>
> RESELS=`echo "if ($RESELS1 > $RESELS2) $RESELS1 else $RESELS2" | bc -l`
> RESELS=`echo "if ($RESELS3 > $RESELS) $RESELS3 else $RESELS" | bc -l`
>
> echo "DLH $DLH" > groups_conj_smoothness
> echo "VOLUME $VOLUME" >> groups_conj_smoothness
> echo "RESELS $RESELS" >> groups_conj_smoothness
>
> Alternatively, you might use the mean instead of the max as less conservative approach:
> DLH=`echo "( $DLH1 + $DLH2 + $DLH3) / 3.0" | bc -l`
> RESELS=`echo "( $RESELS1 + $RESELS2 + $RESELS3 ) / 3.0" | bc -l`
>
>
> I hope, this helps (and I hope I did nothing wrong here...),
> wolf
>
>
> On 12/06/2012 11:41 PM, Lorena Jimenez-Castro wrote:
> Hello FS experts and users,
>
> I want to do a conjunction analysis on three groups that I have, So I am using their three z-maps UN-thresholded (uncorrected stats). I did the following:
>
> A) fslmaths group1_zstat1.nii.gz -min group2_zstat1.nii.gz group1_min_group2_zstat
>
> B) easythresh_conj group1_min_group2_zstat group3_zstat1 2.3 MNI152_T1_2mm_brain.nii.gz grot
>
> So, my question is:
>
> 1) Am I using correctly the easythresh_conj tool? or for uncorrected stats Do I need to call easythresh_conj like this:
>
> easythresh_conj group1_min_group2_zstat group3_zstat1 mask.nii.gz 2.3 0.01 MNI152_T1_2mm_brain.nii.gz grot
>
>
> I confused even so I have read the archives, so I would appreciate any clarification on this matter,
>
> Thank you very much
>
> Lorena
|