[Mne_analysis] How to set atlas

Dan McCloy dan.mccloy at gmail.com
Thu Feb 7 14:54:26 EST 2019
Search archives:

        External Email - Use Caution        

> Is there a way I can get all the 68 label in a single variable and run
this line: stc = stc.in_label(label) and further reduce the vertices to a
single label.

I'm still not 100% clear what you want to do.  I'm stuck on "reduce the
vertices to a single label" --- if you mean "restrict the all the vertices
on the cortical surface to only the vertices defined by that label", well,
that's exactly what mne.SourceEstimate.in_label() does.  If you need to do
it for all 68 labels, you can do it in a for loop.  But that will not
reduce to just one data point (or time course) per label... it will still
have separate data for each vertex within each label.

If you want to start with a SourceEstimate and end up with 68 data points
(or 68 time series) --- one for each of the 68 labels --- look closer at
mne.SourceEstimate.extract_label_time_course().


On Thu, Feb 7, 2019 at 7:01 AM Vivek Sharma <vivek.sharma1510 at gmail.com>
wrote:

>         External Email - Use Caution
>
> Thank you so much. Your answer clears the confusion.
> If I define the regexp, the output I get consists of single label but I
> want 68 labels.
> If I do not define regexp, and also not the indexing, I could not run the
> code: stc = stc.in_label(label)
> Is there a way I can get all the 68 label in a single variable and run
> this line: stc = stc.in_label(label) and further reduce the vertices to a
> single label.
>
> This is what exactly I want:  # reduces a label to a single vertex; if
> what you really want is just 68 vertices, one for each label.
>
> On Wed, Feb 6, 2019 at 12:36 AM Dan McCloy <dan.mccloy at gmail.com> wrote:
>
>>         External Email - Use Caution
>>
>> Perhaps you are confusing labels and vertices?  The desikan atlas
>> contains 68 *labels*, and what the output is telling you is that it loads
>> 34 labels for the left hemisphere, and 34 labels for the right hemisphere,
>> for a total of 68 labels.  So that is working as expected.  But each
>> individual *label* has different numbers of vertices (depending on the size
>> of the label).  Again, your output is telling you this: the variable
>> `label` is for the banks of the superior temporal sulcus - left hemisphere
>> (bankssts-lh), and contains 1265 vertices.
>>
>> I'm still not 100% clear on what you're trying to do, but one of these
>> might be the right direction:
>>
>> 1.  Use the regexp argument of mne.read_labels_from_annot() to get the
>> label(s) you want (instead of indexing with [0]). If you want, you can run
>> it multiple times with different regexp arguments, and combine several
>> labels with the + operator.  From there you can use
>> mne.SourceEstimate.in_label().
>> 2.  mne.SourceEstimate.extract_label_time_course()  # takes a label or
>> list of labels
>> 3.  mne.Label.center_of_mass()  # reduces a label to a single vertex; if
>> what you really want is just 68 vertices, one for each label
>>
>> On Mon, Feb 4, 2019 at 10:12 PM Vivek Sharma <vivek.sharma1510 at gmail.com>
>> wrote:
>>
>>>         External Email - Use Caution
>>>
>>> please find my comments marked in red.
>>>
>>> On Mon, Feb 4, 2019 at 11:56 PM Dan McCloy <dan.mccloy at gmail.com> wrote:
>>>
>>>>         External Email - Use Caution
>>>>
>>>> This line:
>>>> *label = mne.read_labels_from_annot('subject', hemi='both',
>>>> parc='aparc', subjects_dir=subjects_dir, regexp=None)[0]*
>>>>
>>>> selects the alphabetically first label from the parcellation*.* Is
>>>> that really what you want? "I want all the 68 labels not only the
>>>> first one...... when I execute this code:
>>>>
>>>  *label = mne.read_labels_from_annot('subject', hemi='both',
>>> parc='aparc', subjects_dir=subjects_dir, regexp=None)[0]*
>>> it gives the following output
>>> Reading labels from parcellation...
>>>    read 34 labels from
>>> /home/vivek/Downloads/freesurfer/subjects/sub-CC721377_T1w/label/lh.aparc.annot
>>>    read 34 labels from
>>> /home/vivek/Downloads/freesurfer/subjects/sub-CC721377_T1w/label/rh.aparc.annot
>>> and the variable label contains: <Label  |  sub-CC721377_T1w,
>>> 'bankssts-lh', lh : 1265 vertices>
>>> if I remove [0] from end in the code, the output changes to lengthy list
>>> of labels. but this output I cannot include using code: *stc1 =
>>> stc.in_label(label). *It gives following error:
>>> Traceback (most recent call last):
>>>   File "<stdin>", line 1, in <module>
>>>   File
>>> "/home/vivek/anaconda3/lib/python3.7/site-packages/mne/source_estimate.py",
>>> line 1197, in in_label
>>>     if label.subject is not None and self.subject is not None \
>>> AttributeError: 'list' object has no attribute 'subject'
>>>
>>>> " More clearly: mne.read_labels_from_annot returns a list of labels
>>>> **sorted by label name (ascending)**.  Perhaps you're getting the wrong
>>>> number of vertices because you're selecting the wrong label?
>>>>
>>>> On Mon, Feb 4, 2019 at 1:09 AM Vivek Sharma <vivek.sharma1510 at gmail.com>
>>>> wrote:
>>>>
>>>>>         External Email - Use Caution
>>>>>
>>>>> I'm still not able to reduce the number of vertices to 68.
>>>>> let me again explain my problem with more detail:
>>>>> I'm using the following command to generate source estimates...
>>>>>
>>>>> *stc = mne.minimum_norm.apply_inverse_raw(raw, inverse_operator,
>>>>> lambda2, method='eLORETA', label=None, start=60, stop=240, nave=1,
>>>>> time_func=None, pick_ori=None, buffer_size=None, prepared=False,
>>>>> method_params=None, verbose=None)*
>>>>>
>>>>> The output of above command contains 8175 vertices and I want to
>>>>> reduce the number of vertices to 68 which is according to Desikan atlas.
>>>>> To reduce the vertices I use the following code:
>>>>>
>>>>>
>>>>> *label = mne.read_labels_from_annot('subject', hemi='both',
>>>>> parc='aparc', subjects_dir=subjects_dir, regexp=None)[0]*
>>>>> *stc1 = stc.in_label(label)*
>>>>>
>>>>>
>>>>> Now the stc1 contain 35 vertices but I want 68 (Desikan)
>>>>>
>>>>> On Wed, Jan 23, 2019 at 9:40 PM Diptyajit Das <
>>>>> bmedasdiptyajit at gmail.com> wrote:
>>>>>
>>>>>>         External Email - Use Caution
>>>>>>
>>>>>> .in_label(label) takes a single argument i.e., single label. Just
>>>>>> combine the both labels and continue. For details, see this:
>>>>>>
>>>>>> https://martinos.org/mne/stable/generated/mne.SourceEstimate.html?highlight=in_label#mne.SourceEstimate.in_label
>>>>>>
>>>>>> On Wed, Jan 23, 2019 at 4:59 PM Vivek Sharma <
>>>>>> vivek.sharma1510 at gmail.com> wrote:
>>>>>>
>>>>>>>         External Email - Use Caution
>>>>>>>
>>>>>>> When I run this command, label = mne.read_labels_from_annot(subject,
>>>>>>> hemi=hemi, parc='aparc', subjects_dir=subjects_dir, regexp=regexp)[0], with
>>>>>>> [0] at the end I could run the next command stc = stc.in_label(label),
>>>>>>> successfully but it reduces the number of vertices to 35, whereas when I do
>>>>>>> not use '[0]' at the end of command, I could not run the next command, it
>>>>>>> gives the following error:
>>>>>>> >>> label = mne.read_labels_from_annot('sub-CC721377_T1w',
>>>>>>> hemi='both', parc='aparc', subjects_dir=subjects_dir, regexp=None)
>>>>>>> Reading labels from parcellation...
>>>>>>>    read 34 labels from
>>>>>>> /home/vivek/Downloads/freesurfer/subjects/sub-CC721377_T1w/label/lh.aparc.annot
>>>>>>>    read 34 labels from
>>>>>>> /home/vivek/Downloads/freesurfer/subjects/sub-CC721377_T1w/label/rh.aparc.annot
>>>>>>> >>> stc_label.in_label(label)
>>>>>>> Traceback (most recent call last):
>>>>>>>   File "<stdin>", line 1, in <module>
>>>>>>>   File
>>>>>>> "/home/vivek/anaconda3/lib/python3.7/site-packages/mne/source_estimate.py",
>>>>>>> line 1197, in in_label
>>>>>>>     if label.subject is not None and self.subject is not None \
>>>>>>> AttributeError: 'list' object has no attribute 'subject'
>>>>>>>
>>>>>>>
>>>>>>> On Wed, Jan 23, 2019 at 6:52 PM Diptyajit Das <
>>>>>>> bmedasdiptyajit at gmail.com> wrote:
>>>>>>>
>>>>>>>>         External Email - Use Caution
>>>>>>>>
>>>>>>>> Follow this:
>>>>>>>> https://github.com/mne-tools/mne-python/issues/5850
>>>>>>>>
>>>>>>>> best,
>>>>>>>>
>>>>>>>> On Tue, Jan 22, 2019 at 11:18 AM Vivek Sharma <
>>>>>>>> vivek.sharma1510 at gmail.com> wrote:
>>>>>>>>
>>>>>>>>>         External Email - Use Caution
>>>>>>>>>
>>>>>>>>> Hi,
>>>>>>>>> Thanks for the code.
>>>>>>>>> I tried with this method but it reduces the number of vertices to
>>>>>>>>> 35, I want it to be 68 according to Desikan atlas.
>>>>>>>>>
>>>>>>>>> On Thu, Jan 17, 2019 at 5:12 PM Diptyajit Das <
>>>>>>>>> bmedasdiptyajit at gmail.com> wrote:
>>>>>>>>>
>>>>>>>>>>         External Email - Use Caution
>>>>>>>>>>
>>>>>>>>>> Hi,
>>>>>>>>>>
>>>>>>>>>> You do cortical parcellation by using some atlas. I think what
>>>>>>>>>> you meant is to restrict the dipoles activity to some particular brain
>>>>>>>>>> regions. For that,  you need to pass the 'label'  during source estimation
>>>>>>>>>> or you can do something like this after the source estimate:
>>>>>>>>>>
>>>>>>>>>> code:
>>>>>>>>>> regexp = 'bankssts'     # name the brain region that you are
>>>>>>>>>> interested in
>>>>>>>>>> hemi = 'both'  # taking both hemisphere
>>>>>>>>>> label = mne.read_labels_from_annot(subject, hemi=hemi,
>>>>>>>>>> parc='aparc', subjects_dir=subjects_dir, regexp=regexp)[0]    # read the
>>>>>>>>>> label of the particular region based on Desikan atlas (i.e., defined by
>>>>>>>>>> 'aparc')
>>>>>>>>>> stc = stc.in_label(label)  # restrict the dipoles to that
>>>>>>>>>> particular label
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> best,
>>>>>>>>>>
>>>>>>>>>> Dip
>>>>>>>>>>
>>>>>>>>>> On Thu, Jan 17, 2019 at 12:05 PM Vivek Sharma <
>>>>>>>>>> vivek.sharma1510 at gmail.com> wrote:
>>>>>>>>>>
>>>>>>>>>>>         External Email - Use Caution
>>>>>>>>>>>
>>>>>>>>>>> Okay.
>>>>>>>>>>> The source estimate file I'm getting consists of 8175 vertices
>>>>>>>>>>> (SourceEstimate  |  8175 vertices) , I wanted to reduce the number of
>>>>>>>>>>> vertices to the ROIs, in my case I wanted to use Desikan atlas.
>>>>>>>>>>> How can I reduce the number of vertices, specific to certain
>>>>>>>>>>> atlases?
>>>>>>>>>>>
>>>>>>>>>>> On Thu, Jan 17, 2019 at 2:10 PM Alexandre Gramfort <
>>>>>>>>>>> alexandre.gramfort at inria.fr> wrote:
>>>>>>>>>>>
>>>>>>>>>>>>         External Email - Use Caution
>>>>>>>>>>>>
>>>>>>>>>>>> make_watershed_bem uses an atlas to get a good skull
>>>>>>>>>>>> segmentation
>>>>>>>>>>>>
>>>>>>>>>>>> it's not an atlas of the cortical surface as you suggest
>>>>>>>>>>>>
>>>>>>>>>>>> HTH
>>>>>>>>>>>> A
>>>>>>>>>>>>
>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>> Mne_analysis mailing list
>>>>>>>>>>>> Mne_analysis at nmr.mgh.harvard.edu
>>>>>>>>>>>> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> Vivek Sharma
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> Mne_analysis mailing list
>>>>>>>>>>> Mne_analysis at nmr.mgh.harvard.edu
>>>>>>>>>>> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Mne_analysis mailing list
>>>>>>>>>> Mne_analysis at nmr.mgh.harvard.edu
>>>>>>>>>> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Vivek Sharma
>>>>>>>>> _______________________________________________
>>>>>>>>> Mne_analysis mailing list
>>>>>>>>> Mne_analysis at nmr.mgh.harvard.edu
>>>>>>>>> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Mne_analysis mailing list
>>>>>>>> Mne_analysis at nmr.mgh.harvard.edu
>>>>>>>> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Vivek Sharma
>>>>>>> _______________________________________________
>>>>>>> Mne_analysis mailing list
>>>>>>> Mne_analysis at nmr.mgh.harvard.edu
>>>>>>> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
>>>>>>
>>>>>> _______________________________________________
>>>>>> Mne_analysis mailing list
>>>>>> Mne_analysis at nmr.mgh.harvard.edu
>>>>>> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Vivek Sharma
>>>>> _______________________________________________
>>>>> Mne_analysis mailing list
>>>>> Mne_analysis at nmr.mgh.harvard.edu
>>>>> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
>>>>
>>>> _______________________________________________
>>>> Mne_analysis mailing list
>>>> Mne_analysis at nmr.mgh.harvard.edu
>>>> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
>>>
>>>
>>>
>>> --
>>> Vivek Sharma
>>> _______________________________________________
>>> Mne_analysis mailing list
>>> Mne_analysis at nmr.mgh.harvard.edu
>>> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
>>
>> _______________________________________________
>> Mne_analysis mailing list
>> Mne_analysis at nmr.mgh.harvard.edu
>> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
>
>
>
> --
> Vivek Sharma
> _______________________________________________
> Mne_analysis mailing list
> Mne_analysis at nmr.mgh.harvard.edu
> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.nmr.mgh.harvard.edu/pipermail/mne_analysis/attachments/20190207/89db64b6/attachment-0001.html 


More information about the Mne_analysis mailing list