[Mne_analysis] [mne-python] strange behavior of raw.save()

Denis-Alexander Engemann d.engemann at fz-juelich.de
Sat Sep 8 18:01:27 EDT 2012
Search archives:

Ok, I tried the following:

I added

if fname == self.info['filename'] and not hasattr(self,'_data'):
            raise ValueError('Invalid operation. Either read data with preload '
                                    'option or use alternative file name')

to Raw.save

Hower, in case the data is preloaded the file still breaks...




2012/9/8 Denis-Alexander Engemann <d.engemann at fz-juelich.de>:
> Thanks Martin,
>
> that must be it.
> I actually I was testing a new command line tool of mine for mass riff
> export / augmentation  / conversion
> And in one of the use cases I simply wanted to change the info
> structure without loading the data.
> So this means I can either preload the data or work around it by e.g.
> iterative renaming.
>
> To prevent users from tnings like that one could add something like
>
> raw.save(fname)
>
> (...)
>
> if fname == self.raw.info['filename'] and not self.preload:
>     raise ValueError("Invalid operation "
>                             "Either load data or use alternative file name")
>
>
> Wdyt?
>
> Cheers,
> Denis
>
>
>
> 2012/9/8 Martin Luessi <mluessi at nmr.mgh.harvard.edu>:
>> Hi Denis,
>>
>> Are you by any chance saving the raw file to the same file from where you
>> read it? I.e., something like
>>
>> raw = Raw('test_raw.fif')
>> ..
>> raw.save('test_raw.fif')
>>
>> Unless you use preload=True, this won't work since raw.save() will read from
>> the file and at the same time overwrite it. We should add a check such that
>> it throws and exception with a explanatory error message if one tries to do
>> this.
>>
>> Martin
>>
>>
>> On 09/08/12 16:04, Denis-Alexander Engemann wrote:
>>>
>>> Hi all,
>>>
>>> on saving a raw file using the instance method save() I get the
>>> following error message.
>>>
>>> http://pastebin.com/g66H4svV
>>>
>>> After that the file is not readable anymore ( the same error message
>>> will appear as Raw.__init__() is called. )
>>>
>>> If I use an alternative file name this does not happen.
>>>
>>> a) what is the reason for that / what does it actually tell, and
>>>
>>> b) shouldn't that rather throw an exception than messing up the original
>>> file?
>>>
>>>
>>> Cheers,
>>> Denis
>>>
>>>
>>>
>>> ------------------------------------------------------------------------------------------------
>>>
>>> ------------------------------------------------------------------------------------------------
>>> Forschungszentrum Juelich GmbH
>>> 52425 Juelich
>>> Sitz der Gesellschaft: Juelich
>>> Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498
>>> Vorsitzender des Aufsichtsrats: MinDir Dr. Karl Eugen Huthmacher
>>> Geschaeftsfuehrung: Prof. Dr. Achim Bachem (Vorsitzender),
>>> Karsten Beneke (stellv. Vorsitzender), Prof. Dr.-Ing. Harald Bolt,
>>> Prof. Dr. Sebastian M. Schmidt
>>>
>>> ------------------------------------------------------------------------------------------------
>>>
>>> ------------------------------------------------------------------------------------------------
>>>
>>> Kennen Sie schon unsere app? http://www.fz-juelich.de/app
>>>
>>> _______________________________________________
>>> Mne_analysis mailing list
>>> Mne_analysis at nmr.mgh.harvard.edu
>>> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
>>>
>>>
>>
>>
>>
>>
>>
>> The information in this e-mail is intended only for the person to whom it is
>> addressed. If you believe this e-mail was sent to you in error and the
>> e-mail
>> contains patient information, please contact the Partners Compliance
>> HelpLine at
>> http://www.partners.org/complianceline . If the e-mail was sent to you in
>> error
>> but does not contain patient information, please contact the sender and
>> properly
>> dispose of the e-mail.
>>



More information about the Mne_analysis mailing list