With you example I get a resulting image with only minor deviations, too. I checked the file precision, and all files have float precision. I am not sure, whether the bias with my data is within an expected range, or whether there is a problem within my data that i just do not see. I uploaded the files (reference number 165544) if you want to check if there is somewhere a problem or whether I cause much ado about nothing.

Thanks for your help,

Thomas Nichols wrote:
[log in to unmask]" type="cite">Dear Wolf,

I won't comment on the feat-specific aspect of this, but just as a sanity check I simulated Z's and checked the two approaches as follows...

fslmaths $FSLDIR/data/standard/MNI152_T1_2mm -mul 0 -randn z -odt float
fslmaths $FSLDIR/data/standard/MNI152_T1_2mm -mul 0 -add 1 var  -odt float

ttologp -logpout logp var z 200

fslmaths logp -exp logp2p -odt float
fslmaths z -ztop z2p -odt float

fslmaths p -div ztop p-div-ztop
fslmaths p -sub ztop p-ztop

Here, I find that logp2p and z2p are virtually identical except for the the largest z-values, and the differences there are explained by the difference between the exact 'Z' p-value and totologp incorrectly regarding my Z's as a T with 200 DF.

As far as I can tell all of your files should be at float precision, but can you double check that all of your intermediary files are float (with fslinfo, and the first 'data_type' line)?


On Thu, Jun 17, 2010 at 12:09 PM, wolf zinke <[log in to unmask]> wrote:
Hi Stephen,

Since in fslmaths it is not stated that there is the choice between one-sided and two-sided I did assume that it is for one-sided tests.

I was creating a p-value image as described on the fdr-webpage:

ttologp -logpout logp1 varcope1 cope1 `cat dof`
fslmaths logp1 -exp p1

and also one with the fslmaths method:
fslmaths zstat1.nii.gz -ztop  fm_p

just to asses the difference of both resulting images I subtracted them from each other:
fslmaths fm_p -sub p1 pdiff

and additional the ratio of both images:
fslmaths fm_p -div p1 prat

The histogram of the ratio image shows a peak at 0.5, so maybe it is a tailing-issue, but it is not a clear factor 2 difference between both images, so maybe there is an additional differenced caused by roundings. Is the fslmaths -ztop option for a two-tailed conversion?

Thanks for the help

Stephen Smith wrote:
Hi - how different are they? Is it just a factor of two - i.e. in one case you're assuming two-tailed testing and in the other one-tailed?

On 8 Jun 2010, at 15:48, wolf zinke wrote:


I hope this is not an obvious stupid question ;-) . I want to prepare data for an FDR correction, which requires an image of p values as input. The FDR website describes how to obtain a p-value image by using ttologp with the varcope and cope files as input and feeding the resulting file into fslmaths with the -exp option. I was now wondering if I could not just transform the available z-value image to a p-value image just by using one fslmaths call with the -ztop option. However, the p-value images of both methods are not identical. What is the difference between both methods? Is it possible to transform just the zstats to prepare the data for an FDR correction?

Thanks for any comments,

Stephen M. Smith, Professor of Biomedical Engineering
Associate Director,  Oxford University FMRIB Centre

FMRIB, JR Hospital, Headington, Oxford  OX3 9DU, UK
+44 (0) 1865 222726  (fax 222717)
[log in to unmask]    http://www.fmrib.ox.ac.uk/~steve

Thomas Nichols, PhD
Principal Research Fellow, Head of Neuroimaging Statistics
Department of Statistics & Warwick Manufacturing Group
University of Warwick
Coventry  CV4 7AL
United Kingdom

Email: [log in to unmask]
Phone, Stats: +44 24761 51086, WMG: +44 24761 50752
Fax:  +44 24 7652 4532