def test_export_epochs_eeglab(tmp_path, preload): """Test saving an Epochs instance to EEGLAB's set format.""" raw, events = _get_data()[:2] raw.load_data() epochs = Epochs(raw, events, preload=preload) temp_fname = op.join(str(tmp_path), 'test.set') epochs.export(temp_fname) epochs.drop_channels( [ch for ch in ['epoc', 'STI 014'] if ch in epochs.ch_names]) epochs_read = read_epochs_eeglab(temp_fname) assert epochs.ch_names == epochs_read.ch_names cart_coords = np.array([d['loc'][:3] for d in epochs.info['chs']]) # just xyz cart_coords_read = np.array( [d['loc'][:3] for d in epochs_read.info['chs']]) assert_allclose(cart_coords, cart_coords_read) assert_array_equal(epochs.events[:, 0], epochs_read.events[:, 0]) # latency assert epochs.event_id.keys() == epochs_read.event_id.keys() # just keys assert_allclose(epochs.times, epochs_read.times) assert_allclose(epochs.get_data(), epochs_read.get_data()) # test overwrite with pytest.raises(FileExistsError, match='Destination file exists'): epochs.export(temp_fname, overwrite=False) epochs.export(temp_fname, overwrite=True) # test pathlib.Path files epochs.export(Path(temp_fname), overwrite=True)
def test_export_epochs_eeglab(tmpdir, preload): """Test saving an Epochs instance to EEGLAB's set format.""" raw, events = _get_data()[:2] raw.load_data() epochs = Epochs(raw, events, preload=preload) temp_fname = op.join(str(tmpdir), 'test.set') epochs.export(temp_fname) epochs.drop_channels( [ch for ch in ['epoc', 'STI 014'] if ch in epochs.ch_names]) epochs_read = read_epochs_eeglab(temp_fname) assert epochs.ch_names == epochs_read.ch_names cart_coords = np.array([d['loc'][:3] for d in epochs.info['chs']]) # just xyz cart_coords_read = np.array( [d['loc'][:3] for d in epochs_read.info['chs']]) assert_allclose(cart_coords, cart_coords_read) assert_array_equal(epochs.events[:, 0], epochs_read.events[:, 0]) # latency assert epochs.event_id.keys() == epochs_read.event_id.keys() # just keys assert_allclose(epochs.times, epochs_read.times) assert_allclose(epochs.get_data(), epochs_read.get_data())