Hi - I'm still not quite sure why you want to know the non-normalised
levels as these are arbitrary in BOLD imaging - however, you can find
the scaling factor that was applied by typing in the FEAT output
directory:
grep prefiltered_func_data_intnorm report_log.html | head -n 1
Cheers, Steve.
On 14 May 2009, at 20:22, Patrick Purdon wrote:
> Hi Steve,
>
> Sorry for the confusion, yes I agree that mean_func is what I need
> to scale the copes to
> percent signal change units, but in a separate analysis (#2 from my
> original posting), I
> want to compare changes in the mean BOLD signal as a function of
> drug level across
> subjects. So for that I need a non-normalized mean functional image
> for each run, as
> well as its variance. Sorry if that wasn't clear. Is there an easy
> way to get those non-
> normalized mean images (and its variance) out of the FSL stream?
> Thanks for your help!
>
> --Patrick
>
> On Thu, 14 May 2009 18:30:19 +0100, Steve Smith
> <[log in to unmask]> wrote:
>
>> Hi,
>>
>> On 14 May 2009, at 17:47, Patrick Purdon wrote:
>>
>>> Hi Steve,
>>>
>>> Yeah, one remaining query: Is there an easy way to pull out each
>>> run's (unscaled) mean
>>> image (like mean_func.nii.gz but not scaled by the global
>>> normalizing factor), as well as
>>> its variance?
>>
>> I'm confused, because mean_func IS what you want - AFTER all the
>> preprocessing (including "grand-mean" intensity normalisation),
>> mean_func is calculated - and, given that the COPE are also
>> calculated
>> on the basis of that same preprocessed data, mean_func has the
>> correct
>> scaling relative to the COPE and VARCOPE images. At this point
>> (after all preprocessing), the original scaling of the data is
>> irrelevant/arbitrary. Maybe I'm missing something?
>>
>> Cheers.
>>
>>
>>> Maybe the global normalizing constant is stored somewhere, and I
>>> could
>>> use it to re-scale mean_func.nii.gz, and then calculate its variance
>>> using
>>> sigmasquareds.nii.gz and my knowledge of the first-level design
>>> matrix? If the global
>>> normalizing constant is not stored anywhere, what command could I
>>> run to quickly
>>> calculate it?
>>>
>>> So, on simulated data, the percent signal change 2nd-level flame12
>>> calculation worked
>>> great. As one would expect, the T and Z values were essentially
>>> identical to the non-
>>> scaled case, but the pe/cope values were in "percent signal change"
>>> units. :)
>>>
>>> --Patrick
>>>
>>> On Thu, 14 May 2009 17:34:59 +0100, Steve Smith
>>> <[log in to unmask]> wrote:
>>>
>>>> Righto - so is there still an outstanding query here? Is FLAME
>>>> giving
>>>> sensible (and slightly different) results for you now?
>>>> Cheers.
>>>>
>>>>
>>>> On 13 May 2009, at 22:38, Patrick Purdon wrote:
>>>>
>>>>> Sorry for the flurry of posts, but I solved one of the issues
>>>>> listed
>>>>> below. For the percent
>>>>> signal change calculations, I placed the re-scaled copes/
>>>>> varcopes in
>>>>> the first level
>>>>> directory subjectN.feat/reg_standard/pctsig/ for each subject and
>>>>> used the copefiles there
>>>>> as inputs. However, I noticed from the log file that when flame12
>>>>> runs, it grabs the
>>>>> lower level copes from subjectN.feat/reg_standard/stats/ which
>>>>> explains the identical
>>>>> results. Kind of a tough bug to catch since I listed the files
>>>>> explicitly as coming from my
>>>>> "pctsig" directory.
>>>>>
>>>>>
>>>>> On Wed, 13 May 2009 18:12:12 +0100, Patrick Purdon
>>>>> <[log in to unmask]> wrote:
>>>>>
>>>>>> Hi David,
>>>>>>
>>>>>> Thanks for sending along that link, I think I understand all
>>>>>> that,
>>>>>> I'm trying to answer
>>>>>> slightly different questions that aren't addressed by the
>>>>>> standard
>>>>>> 4D global
>>>>> normalization.
>>>>>> In particular, 1) I'd like to compare activity changes between
>>>>>> drug
>>>>>> levels in terms of
>>>>>> percent signal changes (where the percentage is computed relative
>>>>>> to the local voxel
>>>>>> mean for each run), and 2) I would also like to use flame12 to
>>>>>> detect any region-
>>>>> specific
>>>>>> changes in mean BOLD signal.
>>>>>>
>>>>>> I tried a work around for (1) where I scaled the first level
>>>>>> copes
>>>>>> by 100/(mean_func)
>>>>> and
>>>>>> varcopes by (100/mean_func)^2, but for some reason that gave
>>>>>> identical results to the
>>>>>> unscaled case (is there some scaling/normalization that happens
>>>>>> when copes are passed
>>>>>> up to 2nd level?), and for (2) I'm wondering if there's an easy
>>>>>> way
>>>>>> to get a mean BOLD
>>>>>> image and its variance from the standard FSL output (I know how
>>>>>> I'd
>>>>>> do this from
>>>>> scratch,
>>>>>> but am hoping there's a way to get it for free from what FSL
>>>>>> already computes).
>>>>>>
>>>>>> Any ideas FSL experts? Thanks for your help!
>>>>>>
>>>>>> --P
>>>>>>
>>>>>> PS-- In case it isn't clear, when I scaled the first level
>>>>>> copes to
>>>>>> "convert" them to
>>>>> percent
>>>>>> signal change units, what I did was:
>>>>>>
>>>>>> scaled_cope(x,y,z) = 100*cope(x,y,z)/mean_func(x,y,z);
>>>>>>
>>>>>> (the reason I did this is so that the resulting 2nd level pe's
>>>>>> and
>>>>>> copes would be in terms
>>>>>> of percentage signal changes)
>>>>>>
>>>>>>
>>>>>> On Tue, 12 May 2009 21:22:50 -0400, David V. Smith
> <[log in to unmask]
>>>>>>>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi Patrick,
>>>>>>>
>>>>>>> Somebody will probably have to correct me on this, but I don't
>>>>>>> think you
>>>>>>> really need to do any normalization here for two reasons. In
>>>>>>> fact,
>>>>>>> depending
>>>>>>> on how you do it, normalizing may create spurious
>>>>>>> deactivations in
>>>>>>> your data
>>>>>>> (see Laurienti, 2004, JoCN).
>>>>>>>
>>>>>>> 1) I think only relative changes matter, so the mean intensity
>>>>>>> shouldn't
>>>>>>> affect your stats
>>>>>>>
>>>>>>> 2) All of the data are scaled to a preset mean. You can see some
>>>>>>> of the FSL
>>>>>>> course slides for more info on this.
>>>>>>> http://www.fmrib.ox.ac.uk/fslcourse/lectures/feat1_part1.pdf
>>>>>>>
>>>>>>> Hopefully I'm not steering you in the wrong direction. I defer
>>>>>>> to
>>>>>>> the
>>>>>>> experts on this one...
>>>>>>>
>>>>>>> Cheers,
>>>>>>> David
>>>>>>>
>>>>>>>
>>>>>>> -----Original Message-----
>>>>>>> From: FSL - FMRIB's Software Library [mailto:[log in to unmask]]
>>>>>>> On Behalf
>>>>>>> Of Patrick Purdon
>>>>>>> Sent: Tuesday, May 12, 2009 5:52 PM
>>>>>>> To: [log in to unmask]
>>>>>>> Subject: [FSL] Adjusting Global Intensity Normalization? Group
>>>>>>> Analysis on
>>>>>>> Mean BOLD signal?
>>>>>>>
>>>>>>> Hi FSL'ers,
>>>>>>>
>>>>>>> I'm analyzing data from a drug study, where the drug is likely
>>>>>>> to
>>>>>>> change the
>>>>>>> mean BOLD signal in a region-specific manner, in addition to
>>>>>>> altering
>>>>>>> functional responses to stimulation. To account for any
>>>>>>> possible
>>>>>>> region-specific mean BOLD signal changes as a function of drug
>>>>>>> level, I
>>>>>>> would like to:
>>>>>>>
>>>>>>> 1. Normalize each data set (or cope image) by its temporal mean
>>>>>>> (like
>>>>>>> "mean_func.nii.gz"), essentially creating a "percent signal
>>>>>>> change
>>>>>>> image."
>>>>>>> This would allow me to compare drug-level effects in my group
>>>>>>> analysis in
>>>>>>> terms of percent signal changes.
>>>>>>> --I tried doing this on some simulated data by scaling the
>>>>>>> first-level
>>>>>>> "cope1" by 100/mean_func and varcope1 by (100/mean_func)^2, but
>>>>>>> the flame12
>>>>>>> 2nd-level pe's and copes ended up being identical to the
>>>>>>> unscaled
>>>>>>> case
>>>>>>> (????). What could be happening here? Is there a
>>>>>>> straightforward
>>>>>>> way to
>>>>>>> accomplish this?
>>>>>>>
>>>>>>> 2. Run a flame12 analysis on the mean BOLD signal as a
>>>>>>> function of
>>>>>>> drug
>>>>>>> level.
>>>>>>> --Is there an easy way to get an unscaled temporal mean and
>>>>>>> variance
>>>>>>> from the first-level analysis that can be passed up to flame12?
>>>>>>>
>>>>>>> Any suggestions on how to do this? Thanks a lot for your help!
>>>>>>>
>>>>>>> --Patrick
>>>>>
>>>>
>>>>
>>>> ---------------------------------------------------------------------------
>>>> 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
>>>> ---------------------------------------------------------------------------
>>>
>>
>>
>> ---------------------------------------------------------------------------
>> 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
>> ---------------------------------------------------------------------------
>
---------------------------------------------------------------------------
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
---------------------------------------------------------------------------
|