[Mne_analysis] regarding morphing in matlab

Hari Bharadwaj hari at nmr.mgh.harvard.edu
Mon Mar 14 08:55:20 EDT 2011
Search archives:

Hi Pavan,
   I don't have much experience with morphing data in MATLAB. Given that,
the procedure looks ok to me. Did you write any of your morphed data to
an stc file to see what it looks like?

There are a few possibilities that occur to me:
(1) Are you sure 'most rows' of leftmapRelevant and rightmapRelevant are
infact zero? They ought to be sparse with probably 2 or 3 elements
non-zero in the entire row of 5000 (if that's your source space size) odd
elements..

(2) Depending on how you made the sample stc file that is in
'common_brain' space, it might have lost track of the vertex numbering.
Could you look at stc_l.vertices and stc_r.vertices to see if they make
sense? If they are simply [0:2561]' or [0:10241]' for instance, the
procedure of course will give you mostly zeros.

Hope it helps.

Regards,
Hari

On Mon, March 14, 2011 7:00 am, Pavan Ramkumar wrote:
> Dear MNE users,
>
> Just a follow up mail to my previous request. I would like to transform my
> data from one decimated source space to another from within matlab. Below
> are the steps I have adopted to do so. If anybody has previous experience
> in doing similar things, kindly share your thoughts.
>
> 1/ I precomputed the morph maps from each surface to the common brain with
> mne_make_morph_maps.
>
> 2/ I read in the morph maps using mne_read_morph_maps as follows:
> [leftmap,rightmap] = mne_read_morph_map('my_brain', 'common_brain');
>
> 3/ I read in an inverse operator for the input surface 'my_brain' into the
> structure 'inv_op'
>
> 4/ I read in a sample stc file for the target surface i.e. 'common_brain'
> to get the vertex info. The stc files were read into 'stc_l' and 'stc_r'
>
> 5/ Next, I used the following lines of code to transform my data:
> leftmapRelevant = leftmap(stc_l.vertices,inv_op.src(1).vertno);
> rightmapRelevant = rightmap(stc_r.vertices,inv_op.src(2).vertno);
> morphed_dataL = leftmapRelevant*dataL;
> morphed_dataR = rightmapRelevant*dataR;
>
> Note that stc_l.vertices contains all used vertices for the left
> hemishpere of the target surface (i.e. 'common_brain') and
> inv_op.src(1).vertno contains all used vertices for the left hemisphere of
> the source surface (i.e. 'my_brain'). The same is true for stc_r.vertices
> and inv_op.src(2).vertno respectively.
>
> Intuition suggests that these steps would suffice, but I did some checks
> and figured that most rows of leftmapRelevant and rightmapRelevant are
> entirely zero.
>
> I am using a morphgrade of 4 i.e. target surface consists of 2562 used
> vertices per hemisphere. By comparison, the source surfaces are computed
> with 5mm spacing and therefore consist of about 5000 used vertices per
> hemisphere.
>
> What am I missing?
>
> Thank you for your time.
> Best regards,
> Pavan
>
>> Dear MNE users,
>>
>> I would like to morph my data from a single subject into a common brain.
>> However, instead of writing the result out as an stc file (which takes
>> up
>> too much space) I would like to do the morphing from within matlab, and
>> then subsequently do some postprocessing on the morphed data before I
>> write out stc files.
>>
>> Does anybody know where to find the vertex numbers corresponding to the
>> --morphgrade parameter used in mne_make_movie? Specifically, for
>> morphgrade = 5, where do I find the indices of the 10242 vertices that
>> are
>> selectively stored into the stc file by mne_make_movie? As far as I
>> looked, the manual does not explicitly give this information.
>>
>> Please advice.
>>
>> Thanks in advance,
>> Pavan
>>
>
> _______________________________________________
> Mne_analysis mailing list
> Mne_analysis at nmr.mgh.harvard.edu
> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
>
>
>


-- 
Hari Bharadwaj



More information about the Mne_analysis mailing list