12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- function D = spm_eeg_load(P)
- % Load an M/EEG file in SPM format
- % FORMAT D = spm_eeg_load(P)
- %
- % P - filename of M/EEG file
- % D - MEEG object
- %__________________________________________________________________________
- %
- % spm_eeg_load loads an M/EEG file using the SPM MEEG format. Importantly,
- % the data array is memory-mapped and the struct is converted to MEEG object.
- %__________________________________________________________________________
- % Copyright (C) 2008-2012 Wellcome Trust Centre for Neuroimaging
- % Stefan Kiebel
- % $Id: spm_eeg_load.m 6102 2014-07-14 09:19:09Z vladimir $
- %-Bypass if the input is already an MEEG object
- %--------------------------------------------------------------------------
- if nargin && isa(P, 'meeg')
- D = P;
- return;
- end
- %-Get filename
- %--------------------------------------------------------------------------
- if ~nargin
- [P, sts] = spm_select(1, 'mat', 'Select SPM M/EEG file');
- if ~sts, D = []; return; end
- end
- P = spm_file(spm_file(P, 'ext', '.mat'), 'cpath');
- %-Load MAT file
- %--------------------------------------------------------------------------
- try
- load(P);
- catch
-
- try
- load(spm_file(P,'filename'))
-
- warning('Ignoring path. The dataset was loaded from the current directory.');
- catch
- error('Cannot load file "%s".', P);
- end
-
- end
- %-Check whether there is a struct D
- %--------------------------------------------------------------------------
- if ~exist('D','var')
- error('File "%s" doesn''t contain SPM M/EEG data.', P);
- end
- %-Handle situations where the object has been directly saved in file
- %--------------------------------------------------------------------------
- if ~isa(D, 'struct')
- try
- D = struct(D);
- catch
- error('The file should contain an SPM M/EEG struct named D.');
- end
- end
- %-Save path and fname in structure
- %--------------------------------------------------------------------------
- D.path = spm_file(P, 'path');
- D.fname = spm_file(P, 'filename');
- %-And return an MEEG object
- %--------------------------------------------------------------------------
- D = meeg(D);
|