[Eeglablist] Saving data set changes rank

Arnaud Delorme arno at ucsd.edu
Fri May 18 15:33:50 PDT 2018


To add to this, when the pop_runica calculates the rank of the data, it is always done in double precision. There is also another rank function we have programmed ourselves to support the Matlab one when it fails (see getrank() at the end of pop_runica).

Best wishes,

Arno

> On May 18, 2018, at 2:37 AM, Hiebel, Hannah (hannah.hiebel at uni-graz.at) <hannah.hiebel at uni-graz.at> wrote:
> 
> Hi John,
> 
> I encountered a similar problem a while ago and realized that depending on a combination of different settings in the memory options (option_savetwofiles, option_single), the precision of the data potentially changes when saving a dataset (single vs. double).
> The precision, in turn, appears to affect the result returned by rank(EEG.data). For double precision, the rank corresponded to the number of channels; when converting the same data to single precision, the rank changed to a comparatively low value (similar to what you report).
> 
> You could check the precision before and after saving the dataset; maybe your problem is related to this aspect?
> 
> Best,
> Hannah 
> 
> Von: eeglablist <eeglablist-bounces at sccn.ucsd.edu> im Auftrag von Johnson, John T. <john.johnson at gatech.edu>
> Gesendet: Mittwoch, 16. Mai 2018 20:24
> An: eeglablist at sccn.ucsd.edu
> Betreff: [Eeglablist] Saving data set changes rank
>  
> When I load a data set, the rank of the data is 58, the same as the number of channels.
> Making no changes and saving the data set with another name, the rank changes to 1.
> I like saving data at various check points while preprocessing, and this change in rank can affect specifying rank for the pca option to ica, or pcakeep to AMICA.
> Any ideas?
> 
> >> EEG = pop_loadset('filename','pre_p36_nv_to.set','filepath','Processed/');
> pop_loadset(): loading file Processed/pre_p36_nv_to.set ...
> Reading float file 'Processed/pre_p36_nv_to.fdt'...
> >> rank(EEG.data)
> 
> ans =
> 
>     58
> 
> >> EEG = pop_saveset( EEG, 'filename', 'rankdef.set' );
> Saving dataset...
> >> rank(EEG.data)
> 
> ans =
> 
>      1
> 
> >> rank(EEG.data')
> 
> ans =
> 
>      1
> 
> 
> Thanks,
> John
> 
> _______________________________________________
> Eeglablist page: http://sccn.ucsd.edu/eeglab/eeglabmail.html
> To unsubscribe, send an empty email to eeglablist-unsubscribe at sccn.ucsd.edu
> For digest mode, send an email with the subject "set digest mime" to eeglablist-request at sccn.ucsd.edu




More information about the eeglablist mailing list