Hi Michael,
It is actually simpler than this.
There is a separate input for GM, WM and CSF (look at the brain.nii.gz
image in $FSLDIR/data/possum/). So what we recommend is that you
run the simulations for each tissue type separately. Therefore you only
need to specify a changing T2* for the GM tissue type. Everything else
will be taken care of by the simulations.
As for masking/ROI, I think you're strategy sounds fine, although you can
compare some small scale simulations with and without this masking/ROI
in order to double check.
All the best,
Mark
On 2 Feb 2012, at 17:26, Michael Hallquist wrote:
> Dear Mark,
>
> Many thanks for your detailed response! I now have a good handle on
> this issue and have been able to setup the 4d activation files
> successfully.
>
> I had a couple of quick follow-up questions. I am placing activation
> time courses within spherical ROIs for the simulation and the spheres
> often include somewhat different tissue types. I've used FAST with a
> single subject's brain to get the GM/WM/CSF segmentation values, which
> sum to 1. Is a reasonable approach for scaling a time series in a
> voxel that has, for example, 0.61 GM and 0.39 WM, to use a linear
> combination based on the static T2* values? Using your TE=30ms 10%
> signal change example, would the proper scaling be:
>
> [0.61*[(30/(30/51-ln(1.1))) - 51]+ 0.39*[(30/(30/44-ln(1.1))) - 44]]/1000
>
> (sorry that's so ugly to write by email)
>
> In terms of the masking of brain regions to speed up the simulation, I
> am interested in the effects of motion, so it sounds problematic not
> to simulate the whole volume. That said, if I were to start with a
> template that has activations in just two 10mm spherical ROIs with a
> maximum motion displacement of 1mm, would I be able to obtain accurate
> estimates by masking the segmented input file using the ROIs, but
> dilating the mask 5 or 6mm to ensure that even with motion, the ROI
> would be properly sampled?
>
> Thanks,
> Michael
>
>>
>> You can limit the voxels that POSSUM calculates by changing
>> the input brain object. It will only calculate things for object
>> voxels present in this image. So feel free to take the default
>> brain and mask out whatever you like. This will certainly speed
>> things up, although it won't give you the right solutions in the
>> case of motions, as you need the other voxels present, but I
>> don't know if that is of interest to you or not.
>
>
> On Wed, Jan 25, 2012 at 2:36 PM, Mark Jenkinson <[log in to unmask]> wrote:
>> Dear Michael,
>>
>> You've pretty much got it.
>> The list of points 1-5 are all correct except for:
>> - units are in seconds, not milliseconds
>> - T2* changes are all relative to the baseline, static value
>> and not the prior volume (as 1 seems to imply, but
>> conflicts with what you say in 2, which is correct)
>>
>> So you need to scale the values in your 4D file to represent
>> changes in T2* in units of seconds (e.g. 0.001 would represent
>> 1 millisecond).
>>
>> S0 is an intensity value not a T2* value, so it is in arbitrary units
>> and not in seconds or milliseconds. The S = S0*exp(-TE/T2*)
>> equation is about _intensity_ values. So if you had a TE of 30ms
>> and a T2* of 51ms then S=S0*exp(-30/51) = 0.55531*S0
>> whereas if T2* increased by 5.1ms (an increase is what you'd
>> expect with more activation, as there's less deoxyHb and less
>> field distortion, so longer T2*) then you'd have an intensity of
>> S=S0*(-30/56.5) = 0.58803*S0. This would represent a
>> signal increase of 0.58803/0.55531 = 1.0589 (or about 6%).
>> Note that this signal increase is more simply calculated as
>> exp(-TE/T2*B +TE/T2*1) where T2*A and T2*B are the two relevant
>> T2* values (so exp(-30/56.5 +30/51)=1.0589).
>>
>> Therefore, to achieve a certain value of percent signal change
>> (which is normally what people think about) then you need to
>> solve the equation: exp(-TE/T2*B + TE/T2*A)=desired factor
>> setting T2*A=51ms and TE and desired factor as appropriate.
>> For example, a 10% signal change, with a 30ms TE, means:
>> exp(-30/T2* + 30/51)=1.1 => -30/T2* + 30/51=ln(1.1)
>> => T2* = 30/(30/51-ln(1.1)) = 60.8 and so the change in T2*
>> that would need to be encoded in the 4D activation file would
>> be 60.8 - 51 = 9.8ms = 0.0098 seconds.
>>
>> I hope this helps explain how this part works.
>>
>> You do need to specify the --activt4D input.
>>
>> You can limit the voxels that POSSUM calculates by changing
>> the input brain object. It will only calculate things for object
>> voxels present in this image. So feel free to take the default
>> brain and mask out whatever you like. This will certainly speed
>> things up, although it won't give you the right solutions in the
>> case of motions, as you need the other voxels present, but I
>> don't know if that is of interest to you or not.
>>
>> All the best,
>> Mark
>>
>>
>>
>>
>> On 24 Jan 2012, at 19:37, Michael Hallquist wrote:
>>
>>> Dear FSL gurus (especially Mark and Ivana):
>>>
>>> I have a question about how to setup a 4d activation timecourse file
>>> using simulated time series not generated from empirical fMRI data. I
>>> realize that there have been a number of questions on the listserv
>>> about how to specify these files and I've read through these posts in
>>> detail. Yet I'm getting stuck on how to properly scale time series
>>> that are in arbitrary units and where there is no task baseline per se
>>> (resting state data).
>>>
>>> Here's the summary of what I've understood (and please let me know if
>>> I've misunderstood!):
>>> 1) The 4d activation file provides voxelwise timecourse specifications
>>> of T2* changes (i.e., units are T2star dt [delta time], relative to
>>> prior volume).
>>> 2) The time course units are milliseconds (representing relaxation
>>> time) and are relative to the baseline T2* relaxation value specified
>>> in the MR parameters file. In the case of the stock MRpar_3T file, the
>>> T2* relaxation time for gray matter is 51ms.
>>> 3) A value of 0 at any point along a voxel timecourse in the 4d
>>> activation file means that the intensity will be based on the static
>>> T2* value alone (51ms per above).
>>> 4) T2* values are related to simulated signal intensity by the
>>> following equation: S = S0 * exp(-TE/T2*), where S0 is the baseline
>>> intensity, TE is the echo time, and T2* is the absolute T2* value.
>>> 5) To generate signal intensity at a given voxel and timepoint, POSSUM
>>> sums the T2* value of the static tissue type (51ms above) plus the
>>> voxelwise, time-specific value in the 4d activation file (e.g., 5.1).
>>>
>>> Now to my questions. I have simulated correlated time series in
>>> arbitrary units that are scaled roughly [-2, 2]. How do I scale these
>>> time series into the appropriate T2* units for the --activ4D input
>>> given the equation above? In my case, is S0 51ms or do I need some
>>> baseline intensity in arbitrary scanner units?
>>>
>>> Also, If the static T2* time for gray matter is 51ms and I provide a
>>> value of 5.1 at the given point in the timecourse, does that
>>> correspond to a 10% signal change?
>>>
>>> Do I always need to specify --activt4D to provide the times for the 4d
>>> activation file, or will these be computed based on the TR encoded in
>>> the NIfTI of the activation file?
>>>
>>> Lastly and most peripherally, I realize that the 4d activation results
>>> in computationally and RAM-intensive simulations, which is fine. Is
>>> there a way to reduce the RAM or computation burden using a mask file
>>> (simulation within a sparse matrix of sorts)?
>>>
>>> Thanks very much for your help,
>>> Michael
>>>
>
|