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
---------------------------------------------------------------------------
|