Dear John,
> I would like to extract time courses for the whole brain, however I
> quickly run into memory problems when trying to extract regions with a
> radius larger than 40mm. Is there a way of getting the time courses more
> directly? i.e. is there an object somewhere that contains all the time
> courses (preferably high pass filtered)?
One possibility is to use the Y.mad file to extract the raw time course of
voxels (it will only have information about those voxels that survived
the upper F-threshold specified in you defaults file, so you might want
to raise this threshold to 1 in order to write all voxels' timecourse).
Then in matlab you could do something like
>> load SPM
and then to extract a voxel with voxel coordinates [39, 19, 1] and put
the timecourse in variable Y, type:
>> idx = find(XYZ(1,:)==39 & XYZ(2,:)==19 & XYZ(3,:)==1);
>> Y = spm_extract('Y.mad',idx);
To extract a voxel defined in terms of mm coordinates, you'd have to first
convert the XYZ variable above, into mm coordinates index:
>> XYZmm = M(1:3,:)*[XYZ; ones(1,size(XYZ,2))];
and then do the same as above but this time using the XYZmm variable and
the estimates of the voxel location in mm.
I think you can also apply the filtering you've specified at the design
specification stage (both high and low if they've been specified) by:
>> Y = spm_filter('apply',xX.K,Y);
Hope at least some of that is helpful.
Best wishes,
-k.
_____________________________________________________________________________
Kalina Christoff Email: [log in to unmask]
Office: Rm.478; (650) 725-0797
Department of Psychology Home: (650) 497-7170
Jordan Hall, Main Quad Fax: (650) 725-5699
Stanford, CA 94305-2130 http://www-psych.stanford.edu/~kalina/
_____________________________________________________________________________
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|