This is an automated email from the git hooks/post-receive script. yoh pushed a commit to annotated tag v0.1 in repository python-mne.
commit c3d0c6dce169e24a19ac64f314eba1d699f8e5b4 Author: Alexandre Gramfort <[email protected]> Date: Mon Dec 27 18:41:22 2010 -0500 first working version of read_evoked --- examples/{read_ave.py => read_evoked.py} | 5 ++++- fiff/evoked.py | 14 +++++++------- fiff/tag.py | 18 +++++++++--------- 3 files changed, 20 insertions(+), 17 deletions(-) diff --git a/examples/read_ave.py b/examples/read_evoked.py similarity index 81% rename from examples/read_ave.py rename to examples/read_evoked.py index ae3e243..6c2c402 100644 --- a/examples/read_ave.py +++ b/examples/read_evoked.py @@ -18,5 +18,8 @@ fname = 'sm02a1-ave.fif' # is_tree(meas) # meas_info = fiff.tree.dir_tree_find(meas, fiff.FIFF.FIFFB_MEAS_INFO) -data = fiff.read_evoked(fname, setno=0) +data = fiff.read_evoked(fname) +# import pylab as pl +# pl.plot(data['evoked']['times'], data['evoked']['epochs'][:306,:].T) +# pl.show() diff --git a/fiff/evoked.py b/fiff/evoked.py index 9aba2ce..81f7dca 100644 --- a/fiff/evoked.py +++ b/fiff/evoked.py @@ -25,7 +25,7 @@ def read_proj(fid, node): tag = find_tag(fid, nodes[0], FIFF.FIFF_NCHAN) if tag is not None: - global_nchan = tag.data; + global_nchan = tag.data items = dir_tree_find(nodes[0], FIFF.FIFFB_PROJ_ITEM) for i in range(len(items)): @@ -72,13 +72,13 @@ def read_proj(fid, node): else: raise ValueError, 'Projection item channel list missing' - tag = find_tag(fid, item,FIFF.FIFF_PROJ_ITEM_VECTORS); + tag = find_tag(fid, item, FIFF.FIFF_PROJ_ITEM_VECTORS); if tag is not None: data = tag.data; else: raise ValueError, 'Projection item data missing' - tag = find_tag(fid, item,FIFF.FIFF_MNE_PROJ_ITEM_ACTIVE); + tag = find_tag(fid, item, FIFF.FIFF_MNE_PROJ_ITEM_ACTIVE); if tag is not None: active = tag.data; else: @@ -289,7 +289,7 @@ def read_meas_info(source, tree=None): kind = acqpars.directory[k].kind pos = acqpars.directory[k].pos if kind == FIFF.FIFF_DACQ_PARS: - tag = read_tag(fid,pos) + tag = read_tag(fid, pos) acq_pars = tag.data elif kind == FIFF.FIFF_DACQ_STIM: tag = read_tag(fid, pos) @@ -299,7 +299,7 @@ def read_meas_info(source, tree=None): projs = read_proj(fid, meas_info) # Load the CTF compensation data - comps = read_ctf_comp(fid, meas_info,chs) + comps = read_ctf_comp(fid, meas_info, chs) # Load the bad channel list bads = read_bad_channels(fid, meas_info) @@ -368,7 +368,7 @@ def read_meas_info(source, tree=None): return info, meas -def read_evoked(fname, setno=1): +def read_evoked(fname, setno=0): """ [data] = fiff_read_evoked(fname,setno) @@ -558,7 +558,7 @@ def read_evoked(fname, setno=1): is_smsh=is_smsh[setno], nave=nave, first=first, last=last, comment=comment, - times=np.arange(first, last, + times=np.arange(first, last+1, dtype=np.float) / info['sfreq'], epochs=all_data)) diff --git a/fiff/tag.py b/fiff/tag.py index 693bbd0..e0144bd 100644 --- a/fiff/tag.py +++ b/fiff/tag.py @@ -63,7 +63,7 @@ def read_tag(fid, pos=None): fid.seek(tag.size - 4, 1) ndim = np.fromfile(fid, dtype='>i', count=1) fid.seek(-(ndim + 1) * 4, 1) - dims = np.fromfile(fid, dtype='>i', count=ndim) + dims = np.fromfile(fid, dtype='>i', count=ndim)[::-1] # # Back to where the data start # @@ -75,21 +75,21 @@ def read_tag(fid, pos=None): matrix_type = data_type & tag.type if matrix_type == FIFF.FIFFT_INT: - tag.data = np.fromfile(fid, dtype='>i', count=dims.prod()).reshape(dims).T + tag.data = np.fromfile(fid, dtype='>i', count=dims.prod()).reshape(dims) elif matrix_type == FIFF.FIFFT_JULIAN: - tag.data = np.fromfile(fid, dtype='>i', count=dims.prod()).reshape(dims).T + tag.data = np.fromfile(fid, dtype='>i', count=dims.prod()).reshape(dims) elif matrix_type == FIFF.FIFFT_FLOAT: - tag.data = np.fromfile(fid, dtype='>f4', count=dims.prod()).reshape(dims).T + tag.data = np.fromfile(fid, dtype='>f4', count=dims.prod()).reshape(dims) elif matrix_type == FIFF.FIFFT_DOUBLE: - tag.data = np.fromfile(fid, dtype='>f8', count=dims.prod()).reshape(dims).T + tag.data = np.fromfile(fid, dtype='>f8', count=dims.prod()).reshape(dims) elif matrix_type == FIFF.FIFFT_COMPLEX_FLOAT: data = np.fromfile(fid, dtype='>f4', count=2*dims.prod()) # Note: we need the non-conjugate transpose here - tag.data = (data[::2] + 1j * data[1::2]).reshape(dims).T + tag.data = (data[::2] + 1j * data[1::2]).reshape(dims) elif matrix_type == FIFF.FIFFT_COMPLEX_DOUBLE: data = np.fromfile(fid, dtype='>f8', count=2*dims.prod()) # Note: we need the non-conjugate transpose here - tag.data = (data[::2] + 1j * data[1::2]).reshape(dims).T + tag.data = (data[::2] + 1j * data[1::2]).reshape(dims) else: raise ValueError, 'Cannot handle matrix of type %d yet' % matrix_type @@ -189,8 +189,8 @@ def read_tag(fid, pos=None): tag.data['scanno'] = np.fromfile(fid, dtype=">i4", count=1) tag.data['logno'] = np.fromfile(fid, dtype=">i4", count=1) tag.data['kind'] = np.fromfile(fid, dtype=">i4", count=1) - tag.data['range'] = np.fromfile(fid, dtype=">i4", count=1) - tag.data['cal'] = np.fromfile(fid, dtype=">i4", count=1) + tag.data['range'] = np.fromfile(fid, dtype=">f4", count=1) + tag.data['cal'] = np.fromfile(fid, dtype=">f4", count=1) tag.data['coil_type'] = np.fromfile(fid, dtype=">i4", count=1) # # Read the coil coordinate system definition -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/python-mne.git _______________________________________________ debian-med-commit mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-med-commit
