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 626003a3fba938024a0543ded51f79c43b81187d Author: Alexandre Gramfort <[email protected]> Date: Tue Jan 25 10:00:51 2011 -0500 adding Covariance object --- examples/plot_read_noise_covariance_matrix.py | 23 +++++++----------- mne/__init__.py | 2 +- mne/cov.py | 34 +++++++++++++++++++++++++++ 3 files changed, 43 insertions(+), 16 deletions(-) diff --git a/examples/plot_read_noise_covariance_matrix.py b/examples/plot_read_noise_covariance_matrix.py index 7a3eee4..e5e1ce6 100644 --- a/examples/plot_read_noise_covariance_matrix.py +++ b/examples/plot_read_noise_covariance_matrix.py @@ -11,24 +11,17 @@ print __doc__ import os import mne -from mne import fiff fname = os.environ['MNE_SAMPLE_DATASET_PATH'] fname += '/MEG/sample/sample_audvis-cov.fif' -# Reading -fid, tree, _ = fiff.fiff_open(fname) -cov_type = 1 -cov = mne.read_cov(fid, tree, cov_type) -fid.close() +cov = mne.Covariance(kind='full') +cov.load(fname) -# Writing -mne.write_cov_file('cov.fif', cov) +print cov -# print "covariance matrix size: %s x %s" % cov['data'].shape -# -# ############################################################################### -# # Show covariance -# import pylab as pl -# pl.matshow(cov['data']) -# pl.show() +############################################################################### +# Show covariance +import pylab as pl +pl.matshow(cov.data) +pl.show() diff --git a/mne/__init__.py b/mne/__init__.py index 331369d..95ae1fb 100644 --- a/mne/__init__.py +++ b/mne/__init__.py @@ -1,6 +1,6 @@ __version__ = '0.1.git' -from .cov import read_cov, write_cov, write_cov_file +from .cov import read_cov, write_cov, write_cov_file, Covariance from .event import read_events, write_events from .forward import read_forward_solution from .stc import read_stc, write_stc diff --git a/mne/cov.py b/mne/cov.py index 096387c..d230503 100644 --- a/mne/cov.py +++ b/mne/cov.py @@ -15,6 +15,40 @@ from .fiff.channels import _read_bad_channels from .fiff.write import start_block, end_block, write_int, write_name_list, \ write_double, write_float_matrix, start_file, end_file from .fiff.proj import write_proj +from .fiff import fiff_open + + +class Covariance(object): + """Noise covariance matrix""" + + _kinds = dict(full=1, sparse=2, diagonal=3) # XXX : check + + def __init__(self, kind): + if kind in Covariance._kinds: + self.kind = Covariance._kinds[kind] + else: + raise ValueError, ('Unknown type of covariance. ' + 'Choose between full, sparse or diagonal.') + + def load(self, fname): + """load covariance matrix from FIF file""" + + # Reading + fid, tree, _ = fiff_open(fname) + cov = read_cov(fid, tree, self.kind) + fid.close() + + self._cov = cov + self.data = cov['data'] + + def save(self, fname): + """save covariance matrix in a FIF file""" + write_cov_file(fname, self._cov) + + def __repr__(self): + s = "kind : %s" % self.kind + s += ", size : %s x %s" % self.data.shape + return "Covariance (%s)" % s def read_cov(fid, node, cov_kind): -- 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
