[Mne_analysis] [FORUM] Re: How to edit time attribute in a raw object

Fabrice DUPRAT duprat at ipmc.cnrs.fr
Fri Nov 8 06:13:33 EST 2019
Search archives:

        External Email - Use Caution        

Eric

 

Can we directly modify the ` <http://raw.info> raw.info['meas_date']` value  without creating an annotation ?

 

How ?

 

Thank you in advance





 

De : mne_analysis-bounces at nmr.mgh.harvard.edu [mailto:mne_analysis-bounces at nmr.mgh.harvard.edu] De la part de Eric Larson
Envoyé : lundi 4 novembre 2019 15:22
À : Discussion and support forum for the users of MNE Software <mne_analysis at nmr.mgh.harvard.edu>
Objet : [FORUM] Re: [Mne_analysis] How to edit time attribute in a raw object

 

        External Email - Use Caution        

If the time of recording start is properly encoded in the file and read by MNE (which is hopefully the case), then you should be able to use it. You can manually convert from relative (starting from zero) to absolute time by looking at `raw.info <http://raw.info> ['meas_date']` and `raw.first_samp`. But the eaiser thing to do would be to construct an Annotations <https://mne.tools/stable/generated/mne.Annotations.html>  class with your behavioral/pupil events (in whatever starting time frame you prefer), then set `raw.annotations = my_annotations`, which should convert it to the raw object's time reference in `raw.info <http://raw.info> ['meas_date']`. Check out the Annotations tutorials -- such as this one <https://mne.tools/dev/auto_tutorials/raw/plot_30_annotate_raw.html#creating-annotations-programmatically>  -- and if it's not clear from them how to do it, we should improve the documentation.

 

We do not allow modifying the `raw.times` attribute intentionally. A lot of downstream code (e.g., epoching) would break, loudly or (worse) silently, in unexpected and unpredictable if users could do this.

 

Eric

 

 

On Mon, Nov 4, 2019 at 6:03 AM vahid.bokharaie at tuebingen.mpg.de <mailto:vahid.bokharaie at tuebingen.mpg.de>  <vahid.bokharaie at tuebingen.mpg.de <mailto:vahid.bokharaie at tuebingen.mpg.de> > wrote:

        External Email - Use Caution        

Hi Philip
Thanks for your sharp response. It calarified the situation for me. 
And to answer to your question, for rat EEG, we record behavioural data in a go/no-go task, pupil diameters and EEG. I define Events based on behavioural and pupil size, and then should convert them into proper format to be read in mne. So it is important that time stamps match. Of course this is something that can be handled easily, but I could not believe such a simple feature is not incorporated into mne. Hence spent too much time trying to find the right function. 
Regards,
Vahid



-------- Original Message --------
Subject: Re: [Mne_analysis] How to edit time attribute in a raw object
From: Phillip Alday 
To: Discussion and support forum for the users of MNE Software ,Vahid Bokharaie 
CC: 




The time in the raw recordings (the Raw object) are assumed to be 
arbitrary and just a measure of time elapsed since the beginning of the 
recording, so there's not really a way to set or manipulate them. Why do 
you need absolute time here? Are you concatenating Raw objects?

Best,
Phillip

On 4/11/19 10:55 am, Vahid Bokharaie wrote:
>         External Email - Use Caution
> 
> Hi all
> I posted this question in stackoverflow but seems MNE community is not 
> active there, hence I searched for MNE mailing list and joined it.
> I use MNE for analysis of both rat and human EEG recordings. The system 
> we have for rat EEG is from a company called NeuroNexus, and they have 
> their own Matlab script to convert the EEG recordings and the time 
> stamps into mat files. And then I import them in python and use MNE to 
> analyse and visualise them. This means I have to establish my EEG raw 
> objects from the scratch and save them to file, which I can do. But a 
> seemingly trivial thing that I have not managed to find out how to do is 
> to incorporate the time array into the EEG raw object. When I create and 
> save the EEG raw object, it automatically set the initial time to 0, but 
> my initial recording time is not 0 and I need to offset that. It is 
> important to correct this, because the time stamps of EEG and 
> behavioural data should match.
> Simply typing |raw.times = new_array| leads to |AttributeError: can't 
> set attribute. ||This should be a very simple thing to do, but I have 
> not been able to find it although I have looked into the documentation. 
> So, I thought to ask it in here and if it is not really possible, then 
> dig into the source code to fix it myself. Thanks in advance.
> Regards,
> Vahid
> |
> 
> -- 
> ---------------------------------------------------------------------------------------
> Vahid S. Bokharaie, PhD
> Senior Research Scientist
> Max Planck Institute for Biological Cybernetics
> Department of Physiology of Cognitive Processes
> Max Planck Ring 8, 72076 Tuebingen, Germany
> +49 (0)7071 - 601-1644
> vahid.bokharaie at tuebingen.mpg.de <mailto:vahid.bokharaie at tuebingen.mpg.de> 
> https://www.kyb.tuebingen.mpg.de/person/59086/84548
> --------------------------------------------------------------------------------------
> 
> 
> _______________________________________________
> Mne_analysis mailing list
> Mne_analysis at nmr.mgh.harvard.edu <mailto: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 <mailto: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/20191108/bd09f72f/attachment-0001.html 


More information about the Mne_analysis mailing list