[Mne_analysis] How to set atlas

Alexandre Gramfort alexandre.gramfort at inria.fr
Mon Feb 11 03:18:02 EST 2019
Search archives:

        External Email - Use Caution        

see:

http://martinos.org/mne/stable/advanced_setup.html#using-the-development-version-of-mne-latest-master

HTH
Alex

On Mon, Feb 11, 2019 at 8:16 AM Vivek Sharma <vivek.sharma1510 at gmail.com>
wrote:

>         External Email - Use Caution
>
> Thanks.
> How can I work with mne-0.18.dev0. I tried downloading but it downloads
> 0.17.0.
>
> On Fri, Feb 8, 2019 at 9:45 PM Eric Larson <larson.eric.d at gmail.com>
> wrote:
>
>>         External Email - Use Caution
>>
>> This is probably what you want (only available in `master` currently,
>> hasn't been released yet):
>>
>> http://mne-tools.github.io/dev/generated/mne.labels_to_stc.html
>>
>> It takes a set of labels and matching set of time series, and constructs
>> a stc from them.
>>
>> Eric
>>
>>
>> On Fri, Feb 8, 2019 at 6:37 AM Vivek Sharma <vivek.sharma1510 at gmail.com>
>> wrote:
>>
>>>         External Email - Use Caution
>>>
>>> Thanks.
>>> I could generate the 68 time series with this --
>>> mne.SourceEstimate.extract_label_time_course().
>>> In a variable x I have 68 time series....
>>> x = stc.extract_label_time_course(label, src, mode='mean_flip',
>>> allow_empty=False, verbose=None)
>>> but I'm unable to plot this as I use to plot stc.
>>> I use the following line to plot stc file:
>>> "*brain = mne.viz.plot_source_estimates(stc,
>>> subject='sub-CC721377_T1w', surface='inflated', hemi='both',
>>> colormap='auto', time_label='auto', smoothing_steps=10, transparent=True,
>>> alpha=1.0, time_viewer=True, subjects_dir=subjects_dir, figure=None,
>>> views='lat', colorbar=True, clim='auto', cortex='high_contrast', size=800,
>>> background='black', foreground='white', initial_time=peak_time,
>>> time_unit='s', backend='auto', spacing='oct6', title='eLORETA1',
>>> verbose=None)*"
>>>
>>> How can I plot this extracted time series?
>>>
>>> On Fri, Feb 8, 2019 at 1:25 AM Dan McCloy <dan.mccloy at gmail.com> wrote:
>>>
>>>>         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
>>>>
>>>> _______________________________________________
>>>> 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/20190211/022cfb20/attachment-0001.html 


More information about the Mne_analysis mailing list