[Mne_analysis] How to set atlas

Vivek Sharma vivek.sharma1510 at gmail.com
Fri Feb 8 06:36:20 EST 2019
Search archives:

        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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.nmr.mgh.harvard.edu/pipermail/mne_analysis/attachments/20190208/6de71d89/attachment-0001.html 


More information about the Mne_analysis mailing list