[med-svn] [python-mne] 16/376: first working version of writing covariance matrix + first test

Yaroslav Halchenko debian at onerussian.com
Fri Nov 27 17:21:57 UTC 2015


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 3143ae59dbc50d724c929f99f31924c95c3c7dfc
Author: Alexandre Gramfort <alexandre.gramfort at inria.fr>
Date:   Thu Dec 30 10:51:57 2010 -0500

    first working version of writing covariance matrix + first test
---
 examples/read_cov.py |  10 +-
 fiff/channels.py     |   4 +-
 fiff/constants.py    | 526 +++++++++++++++++++++++++--------------------------
 fiff/cov.py          |   5 +-
 fiff/open.py         |   2 +-
 fiff/tag.py          |   9 +-
 fiff/tree.py         |  50 +++--
 7 files changed, 299 insertions(+), 307 deletions(-)

diff --git a/examples/read_cov.py b/examples/read_cov.py
index 4b02e3d..0ffead2 100644
--- a/examples/read_cov.py
+++ b/examples/read_cov.py
@@ -1,4 +1,4 @@
-"""Reading a noise covariance matrix
+"""Reading/Writing a noise covariance matrix
 """
 print __doc__
 
@@ -6,19 +6,15 @@ import fiff
 
 fname = 'MNE-sample-data/MEG/sample/sample_audvis-cov.fif'
 
+# Reading
 fid, tree, _ = fiff.fiff_open(fname)
 cov_type = 1
 cov = fiff.read_cov(fid, tree, cov_type)
 fid.close()
 
+# Writing
 fiff.write_cov_file('cov.fif', cov)
 
-fid, tree, _ = fiff.fiff_open('cov.fif')
-cov2 = fiff.read_cov(fid, tree, cov_type)
-fid.close()
-
-print np.linalg.norm(cov['data'] - cov2['data'])
-
 print "covariance matrix size: %s x %s" % cov['data'].shape
 
 ###############################################################################
diff --git a/fiff/channels.py b/fiff/channels.py
index dcf2838..dae6504 100644
--- a/fiff/channels.py
+++ b/fiff/channels.py
@@ -11,7 +11,7 @@ def read_bad_channels(fid, node):
     % Reas the bad channel list from a node if it exists
     %
     % fid      - The file id
-    % node     - The node of interes
+    % node     - The node of interest
     %
     """
 
@@ -21,7 +21,7 @@ def read_bad_channels(fid, node):
     if len(nodes) > 0:
         for node in nodes:
             tag = find_tag(fid, node, FIFF.FIFF_MNE_CH_NAME_LIST)
-            if tag is not None:
+            if tag.data is not None:
                 bads = tag.data.split(':')
     return bads
 
diff --git a/fiff/constants.py b/fiff/constants.py
index 93f508b..21c916f 100644
--- a/fiff/constants.py
+++ b/fiff/constants.py
@@ -5,361 +5,361 @@ FIFF = Bunch()
 #
 # Blocks
 #
-FIFF.FIFFB_MEAS               = 100;
-FIFF.FIFFB_MEAS_INFO          = 101;
-FIFF.FIFFB_RAW_DATA           = 102;
-FIFF.FIFFB_PROCESSED_DATA     = 103;
-FIFF.FIFFB_CONTINUOUS_DATA    = 112;
-FIFF.FIFFB_EVOKED             = 104;
-FIFF.FIFFB_ASPECT             = 105;
-FIFF.FIFFB_SUBJECT            = 106;
-FIFF.FIFFB_ISOTRAK            = 107;
-FIFF.FIFFB_HPI_MEAS           = 108;
-FIFF.FIFFB_HPI_RESULT         = 109;
-FIFF.FIFFB_DACQ_PARS          = 117;
-FIFF.FIFFB_REF                = 118;
-FIFF.FIFFB_SMSH_RAW_DATA      = 119;
-FIFF.FIFFB_SMSH_ASPECT        = 120;
-FIFF.FIFFB_PROJ               = 313;
-FIFF.FIFFB_PROJ_ITEM          = 314;
-FIFF.FIFFB_MRI                = 200;
-FIFF.FIFFB_MRI_SET            = 201;
-FIFF.FIFFB_MRI_SLICE          = 202;
-FIFF.FIFFB_PROCESSING_HISTORY = 900;
-FIFF.FIFFB_SSS_INFO           = 502;
-FIFF.FIFFB_SSS_CAL_ADJUST     = 503;
-FIFF.FIFFB_SSS_ST_INFO        = 504;
-FIFF.FIFFB_SSS_BASES          = 505;
+FIFF.FIFFB_MEAS               = 100
+FIFF.FIFFB_MEAS_INFO          = 101
+FIFF.FIFFB_RAW_DATA           = 102
+FIFF.FIFFB_PROCESSED_DATA     = 103
+FIFF.FIFFB_CONTINUOUS_DATA    = 112
+FIFF.FIFFB_EVOKED             = 104
+FIFF.FIFFB_ASPECT             = 105
+FIFF.FIFFB_SUBJECT            = 106
+FIFF.FIFFB_ISOTRAK            = 107
+FIFF.FIFFB_HPI_MEAS           = 108
+FIFF.FIFFB_HPI_RESULT         = 109
+FIFF.FIFFB_DACQ_PARS          = 117
+FIFF.FIFFB_REF                = 118
+FIFF.FIFFB_SMSH_RAW_DATA      = 119
+FIFF.FIFFB_SMSH_ASPECT        = 120
+FIFF.FIFFB_PROJ               = 313
+FIFF.FIFFB_PROJ_ITEM          = 314
+FIFF.FIFFB_MRI                = 200
+FIFF.FIFFB_MRI_SET            = 201
+FIFF.FIFFB_MRI_SLICE          = 202
+FIFF.FIFFB_PROCESSING_HISTORY = 900
+FIFF.FIFFB_SSS_INFO           = 502
+FIFF.FIFFB_SSS_CAL_ADJUST     = 503
+FIFF.FIFFB_SSS_ST_INFO        = 504
+FIFF.FIFFB_SSS_BASES          = 505
 #
 # Of general interest
 #
-FIFF.FIFF_FILE_ID         = 100;
-FIFF.FIFF_DIR_POINTER     = 101;
-FIFF.FIFF_BLOCK_ID        = 103;
-FIFF.FIFF_BLOCK_START     = 104;
-FIFF.FIFF_BLOCK_END       = 105;
-FIFF.FIFF_FREE_LIST       = 106;
-FIFF.FIFF_FREE_BLOCK      = 107;           
-FIFF.FIFF_NOP             = 108;
-FIFF.FIFF_PARENT_FILE_ID  = 109;
-FIFF.FIFF_PARENT_BLOCK_ID = 110;
+FIFF.FIFF_FILE_ID         = 100
+FIFF.FIFF_DIR_POINTER     = 101
+FIFF.FIFF_BLOCK_ID        = 103
+FIFF.FIFF_BLOCK_START     = 104
+FIFF.FIFF_BLOCK_END       = 105
+FIFF.FIFF_FREE_LIST       = 106
+FIFF.FIFF_FREE_BLOCK      = 107
+FIFF.FIFF_NOP             = 108
+FIFF.FIFF_PARENT_FILE_ID  = 109
+FIFF.FIFF_PARENT_BLOCK_ID = 110
 #
 #  Megacq saves the parameters in these tags
 #
-FIFF.FIFF_DACQ_PARS      = 150;
-FIFF.FIFF_DACQ_STIM      = 151;
+FIFF.FIFF_DACQ_PARS      = 150
+FIFF.FIFF_DACQ_STIM      = 151
 
-FIFF.FIFF_SFREQ       = 201;
-FIFF.FIFF_NCHAN       = 200;
-FIFF.FIFF_DATA_PACK   = 202;
-FIFF.FIFF_CH_INFO     = 203;
-FIFF.FIFF_MEAS_DATE   = 204;
-FIFF.FIFF_SUBJECT     = 205;
-FIFF.FIFF_COMMENT     = 206;
-FIFF.FIFF_NAVE        = 207;
-FIFF.FIFF_DIG_POINT   = 213;
-FIFF.FIFF_LOWPASS     = 219;
-FIFF.FIFF_COORD_TRANS = 222;
-FIFF.FIFF_HIGHPASS    = 223;
-FIFF.FIFF_NAME        = 233;
-FIFF.FIFF_DESCRIPTION = FIFF.FIFF_COMMENT;
+FIFF.FIFF_SFREQ       = 201
+FIFF.FIFF_NCHAN       = 200
+FIFF.FIFF_DATA_PACK   = 202
+FIFF.FIFF_CH_INFO     = 203
+FIFF.FIFF_MEAS_DATE   = 204
+FIFF.FIFF_SUBJECT     = 205
+FIFF.FIFF_COMMENT     = 206
+FIFF.FIFF_NAVE        = 207
+FIFF.FIFF_DIG_POINT   = 213
+FIFF.FIFF_LOWPASS     = 219
+FIFF.FIFF_COORD_TRANS = 222
+FIFF.FIFF_HIGHPASS    = 223
+FIFF.FIFF_NAME        = 233
+FIFF.FIFF_DESCRIPTION = FIFF.FIFF_COMMENT
 #
 # Pointers
 #
-FIFF.FIFFV_NEXT_SEQ    = 0;
-FIFF.FIFFV_NEXT_NONE   = -1;
+FIFF.FIFFV_NEXT_SEQ    = 0
+FIFF.FIFFV_NEXT_NONE   = -1
 #
 # Channel types
 #
-FIFF.FIFFV_MEG_CH     =   1;
-FIFF.FIFFV_REF_MEG_CH = 301;
-FIFF.FIFFV_EEG_CH     =   2;
-FIFF.FIFFV_MCG_CH     = 201;
-FIFF.FIFFV_STIM_CH    =   3;
-FIFF.FIFFV_EOG_CH     = 202;
-FIFF.FIFFV_EMG_CH     = 302;
-FIFF.FIFFV_ECG_CH     = 402;
-FIFF.FIFFV_MISC_CH    = 502;
-FIFF.FIFFV_RESP_CH    = 602;                # Respiration monitoring
+FIFF.FIFFV_MEG_CH     =   1
+FIFF.FIFFV_REF_MEG_CH = 301
+FIFF.FIFFV_EEG_CH     =   2
+FIFF.FIFFV_MCG_CH     = 201
+FIFF.FIFFV_STIM_CH    =   3
+FIFF.FIFFV_EOG_CH     = 202
+FIFF.FIFFV_EMG_CH     = 302
+FIFF.FIFFV_ECG_CH     = 402
+FIFF.FIFFV_MISC_CH    = 502
+FIFF.FIFFV_RESP_CH    = 602                # Respiration monitoring
 #
 # Quaternion channels for head position monitoring
 #
-FIFF.FIFFV_QUAT_0   = 700;                 # Quaternion parameter q0; obsolete for unit quaternion
-FIFF.FIFFV_QUAT_1   = 701;                 # Quaternion parameter q1; rotation
-FIFF.FIFFV_QUAT_2   = 702;                 # Quaternion parameter q2; rotation
-FIFF.FIFFV_QUAT_3   = 703;                 # Quaternion parameter q3; rotation
-FIFF.FIFFV_QUAT_4   = 704;                 # Quaternion parameter q4; translation
-FIFF.FIFFV_QUAT_5   = 705;                 # Quaternion parameter q5; translation
-FIFF.FIFFV_QUAT_6   = 706;                 # Quaternion parameter q6; translation
-FIFF.FIFFV_HPI_G    = 707;                 # Goodness-of-fit in continuous hpi
-FIFF.FIFFV_HPI_ERR  = 708;                 # Estimation error in continuous hpi
-FIFF.FIFFV_HPI_MOV  = 709;                 # Estimated head movement speed in continuous hpi
+FIFF.FIFFV_QUAT_0   = 700                 # Quaternion parameter q0 obsolete for unit quaternion
+FIFF.FIFFV_QUAT_1   = 701                 # Quaternion parameter q1 rotation
+FIFF.FIFFV_QUAT_2   = 702                 # Quaternion parameter q2 rotation
+FIFF.FIFFV_QUAT_3   = 703                 # Quaternion parameter q3 rotation
+FIFF.FIFFV_QUAT_4   = 704                 # Quaternion parameter q4 translation
+FIFF.FIFFV_QUAT_5   = 705                 # Quaternion parameter q5 translation
+FIFF.FIFFV_QUAT_6   = 706                 # Quaternion parameter q6 translation
+FIFF.FIFFV_HPI_G    = 707                 # Goodness-of-fit in continuous hpi
+FIFF.FIFFV_HPI_ERR  = 708                 # Estimation error in continuous hpi
+FIFF.FIFFV_HPI_MOV  = 709                 # Estimated head movement speed in continuous hpi
 #
 # Coordinate frames
 #
-FIFF.FIFFV_COORD_UNKNOWN        = 0;
-FIFF.FIFFV_COORD_DEVICE         = 1;
-FIFF.FIFFV_COORD_ISOTRAK        = 2;
-FIFF.FIFFV_COORD_HPI            = 3;
-FIFF.FIFFV_COORD_HEAD           = 4;
-FIFF.FIFFV_COORD_MRI            = 5;
-FIFF.FIFFV_COORD_MRI_SLICE      = 6;
-FIFF.FIFFV_COORD_MRI_DISPLAY    = 7;
-FIFF.FIFFV_COORD_DICOM_DEVICE   = 8;
-FIFF.FIFFV_COORD_IMAGING_DEVICE = 9;
+FIFF.FIFFV_COORD_UNKNOWN        = 0
+FIFF.FIFFV_COORD_DEVICE         = 1
+FIFF.FIFFV_COORD_ISOTRAK        = 2
+FIFF.FIFFV_COORD_HPI            = 3
+FIFF.FIFFV_COORD_HEAD           = 4
+FIFF.FIFFV_COORD_MRI            = 5
+FIFF.FIFFV_COORD_MRI_SLICE      = 6
+FIFF.FIFFV_COORD_MRI_DISPLAY    = 7
+FIFF.FIFFV_COORD_DICOM_DEVICE   = 8
+FIFF.FIFFV_COORD_IMAGING_DEVICE = 9
 #
 # Needed for raw and evoked-response data
 #
-FIFF.FIFF_FIRST_SAMPLE   = 208;
-FIFF.FIFF_LAST_SAMPLE    = 209;
-FIFF.FIFF_ASPECT_KIND    = 210;
-FIFF.FIFF_DATA_BUFFER    = 300;          # Buffer containing measurement data
-FIFF.FIFF_DATA_SKIP      = 301;          # Data skip in buffers
-FIFF.FIFF_EPOCH          = 302;          # Buffer containing one epoch and channel
-FIFF.FIFF_DATA_SKIP_SAMP = 303;          # Data skip in samples
+FIFF.FIFF_FIRST_SAMPLE   = 208
+FIFF.FIFF_LAST_SAMPLE    = 209
+FIFF.FIFF_ASPECT_KIND    = 210
+FIFF.FIFF_DATA_BUFFER    = 300          # Buffer containing measurement data
+FIFF.FIFF_DATA_SKIP      = 301          # Data skip in buffers
+FIFF.FIFF_EPOCH          = 302          # Buffer containing one epoch and channel
+FIFF.FIFF_DATA_SKIP_SAMP = 303          # Data skip in samples
 
 #
 # Different aspects of data
 #
-FIFF.FIFFV_ASPECT_AVERAGE       = 100;	  # Normal average of epochs
-FIFF.FIFFV_ASPECT_STD_ERR       = 101;	  # Std. error of mean
-FIFF.FIFFV_ASPECT_SINGLE        = 102;	  # Single epoch cut out from the continuous data
-FIFF.FIFFV_ASPECT_SUBAVERAGE    = 103;	  
-FIFF.FIFFV_ASPECT_ALTAVERAGE    = 104;	  # Alternating subaverage
-FIFF.FIFFV_ASPECT_SAMPLE        = 105;	  # A sample cut out by graph
-FIFF.FIFFV_ASPECT_POWER_DENSITY = 106;    # Power density spectrum
-FIFF.FIFFV_ASPECT_DIPOLE_WAVE   = 200;    # Dipole amplitude curve
+FIFF.FIFFV_ASPECT_AVERAGE       = 100      # Normal average of epochs
+FIFF.FIFFV_ASPECT_STD_ERR       = 101      # Std. error of mean
+FIFF.FIFFV_ASPECT_SINGLE        = 102      # Single epoch cut out from the continuous data
+FIFF.FIFFV_ASPECT_SUBAVERAGE    = 103
+FIFF.FIFFV_ASPECT_ALTAVERAGE    = 104      # Alternating subaverage
+FIFF.FIFFV_ASPECT_SAMPLE        = 105      # A sample cut out by graph
+FIFF.FIFFV_ASPECT_POWER_DENSITY = 106    # Power density spectrum
+FIFF.FIFFV_ASPECT_DIPOLE_WAVE   = 200    # Dipole amplitude curve
 #
 # BEM surface IDs
 #
-FIFF.FIFFV_BEM_SURF_ID_UNKNOWN    = -1;
-FIFF.FIFFV_BEM_SURF_ID_BRAIN      = 1;
-FIFF.FIFFV_BEM_SURF_ID_SKULL      = 3;
-FIFF.FIFFV_BEM_SURF_ID_HEAD       = 4;
+FIFF.FIFFV_BEM_SURF_ID_UNKNOWN    = -1
+FIFF.FIFFV_BEM_SURF_ID_BRAIN      = 1
+FIFF.FIFFV_BEM_SURF_ID_SKULL      = 3
+FIFF.FIFFV_BEM_SURF_ID_HEAD       = 4
 #
 # More of those defined in MNE
 #
-FIFF.FIFFV_MNE_SURF_UNKNOWN       = -1;
-FIFF.FIFFV_MNE_SURF_LEFT_HEMI     = 101;
-FIFF.FIFFV_MNE_SURF_RIGHT_HEMI    = 102;
+FIFF.FIFFV_MNE_SURF_UNKNOWN       = -1
+FIFF.FIFFV_MNE_SURF_LEFT_HEMI     = 101
+FIFF.FIFFV_MNE_SURF_RIGHT_HEMI    = 102
 #
 #   These relate to the Isotrak data
 #
-FIFF.FIFFV_POINT_CARDINAL = 1;
-FIFF.FIFFV_POINT_HPI      = 2;
-FIFF.FIFFV_POINT_EEG      = 3;
-FIFF.FIFFV_POINT_ECG      = FIFF.FIFFV_POINT_EEG;
-FIFF.FIFFV_POINT_EXTRA    = 4;
+FIFF.FIFFV_POINT_CARDINAL = 1
+FIFF.FIFFV_POINT_HPI      = 2
+FIFF.FIFFV_POINT_EEG      = 3
+FIFF.FIFFV_POINT_ECG      = FIFF.FIFFV_POINT_EEG
+FIFF.FIFFV_POINT_EXTRA    = 4
 
-FIFF.FIFFV_POINT_LPA=1;
-FIFF.FIFFV_POINT_NASION=2;
-FIFF.FIFFV_POINT_RPA=3;
+FIFF.FIFFV_POINT_LPA = 1
+FIFF.FIFFV_POINT_NASION = 2
+FIFF.FIFFV_POINT_RPA = 3
 #
 #   SSP
 #
-FIFF.FIFF_PROJ_ITEM_KIND         = 3411;
-FIFF.FIFF_PROJ_ITEM_TIME         = 3412;
-FIFF.FIFF_PROJ_ITEM_NVEC         = 3414;
-FIFF.FIFF_PROJ_ITEM_VECTORS      = 3415;
-FIFF.FIFF_PROJ_ITEM_CH_NAME_LIST = 3417;
+FIFF.FIFF_PROJ_ITEM_KIND         = 3411
+FIFF.FIFF_PROJ_ITEM_TIME         = 3412
+FIFF.FIFF_PROJ_ITEM_NVEC         = 3414
+FIFF.FIFF_PROJ_ITEM_VECTORS      = 3415
+FIFF.FIFF_PROJ_ITEM_CH_NAME_LIST = 3417
 #
 #   MRIs
 #
-FIFF.FIFF_MRI_SOURCE_PATH       = 1101;
-FIFF.FIFF_MRI_SOURCE_FORMAT     = 2002;
-FIFF.FIFF_MRI_PIXEL_ENCODING    = 2003;
-FIFF.FIFF_MRI_PIXEL_DATA_OFFSET = 2004;
-FIFF.FIFF_MRI_PIXEL_SCALE       = 2005;
-FIFF.FIFF_MRI_PIXEL_DATA        = 2006;
-FIFF.FIFF_MRI_WIDTH             = 2010;
-FIFF.FIFF_MRI_WIDTH_M           = 2011;
-FIFF.FIFF_MRI_HEIGHT            = 2012;
-FIFF.FIFF_MRI_HEIGHT_M          = 2013;
-#
-FIFF.FIFFV_MRI_PIXEL_BYTE       = 1;
-FIFF.FIFFV_MRI_PIXEL_WORD       = 2;
-FIFF.FIFFV_MRI_PIXEL_SWAP_WORD  = 3;
-FIFF.FIFFV_MRI_PIXEL_FLOAT      = 4;
-#
-#   These are the MNE fiff definitions 
-#
-FIFF.FIFFB_MNE                    = 350;
-FIFF.FIFFB_MNE_SOURCE_SPACE       = 351;
-FIFF.FIFFB_MNE_FORWARD_SOLUTION   = 352;
-FIFF.FIFFB_MNE_PARENT_MRI_FILE    = 353;
-FIFF.FIFFB_MNE_PARENT_MEAS_FILE   = 354;
-FIFF.FIFFB_MNE_COV                = 355;
-FIFF.FIFFB_MNE_INVERSE_SOLUTION   = 356;
-FIFF.FIFFB_MNE_NAMED_MATRIX       = 357;
-FIFF.FIFFB_MNE_ENV                = 358;
-FIFF.FIFFB_MNE_BAD_CHANNELS       = 359;
-FIFF.FIFFB_MNE_VERTEX_MAP         = 360;
-FIFF.FIFFB_MNE_EVENTS             = 361;
-FIFF.FIFFB_MNE_MORPH_MAP          = 362;
+FIFF.FIFF_MRI_SOURCE_PATH       = 1101
+FIFF.FIFF_MRI_SOURCE_FORMAT     = 2002
+FIFF.FIFF_MRI_PIXEL_ENCODING    = 2003
+FIFF.FIFF_MRI_PIXEL_DATA_OFFSET = 2004
+FIFF.FIFF_MRI_PIXEL_SCALE       = 2005
+FIFF.FIFF_MRI_PIXEL_DATA        = 2006
+FIFF.FIFF_MRI_WIDTH             = 2010
+FIFF.FIFF_MRI_WIDTH_M           = 2011
+FIFF.FIFF_MRI_HEIGHT            = 2012
+FIFF.FIFF_MRI_HEIGHT_M          = 2013
+#
+FIFF.FIFFV_MRI_PIXEL_BYTE       = 1
+FIFF.FIFFV_MRI_PIXEL_WORD       = 2
+FIFF.FIFFV_MRI_PIXEL_SWAP_WORD  = 3
+FIFF.FIFFV_MRI_PIXEL_FLOAT      = 4
+#
+#   These are the MNE fiff definitions
+#
+FIFF.FIFFB_MNE                    = 350
+FIFF.FIFFB_MNE_SOURCE_SPACE       = 351
+FIFF.FIFFB_MNE_FORWARD_SOLUTION   = 352
+FIFF.FIFFB_MNE_PARENT_MRI_FILE    = 353
+FIFF.FIFFB_MNE_PARENT_MEAS_FILE   = 354
+FIFF.FIFFB_MNE_COV                = 355
+FIFF.FIFFB_MNE_INVERSE_SOLUTION   = 356
+FIFF.FIFFB_MNE_NAMED_MATRIX       = 357
+FIFF.FIFFB_MNE_ENV                = 358
+FIFF.FIFFB_MNE_BAD_CHANNELS       = 359
+FIFF.FIFFB_MNE_VERTEX_MAP         = 360
+FIFF.FIFFB_MNE_EVENTS             = 361
+FIFF.FIFFB_MNE_MORPH_MAP          = 362
 #
 # CTF compensation data
 #
-FIFF.FIFFB_MNE_CTF_COMP           = 370;
-FIFF.FIFFB_MNE_CTF_COMP_DATA      = 371;
+FIFF.FIFFB_MNE_CTF_COMP           = 370
+FIFF.FIFFB_MNE_CTF_COMP_DATA      = 371
 #
 # Fiff tags associated with MNE computations (3500...)
 #
 #
 # 3500... Bookkeeping
 #
-FIFF.FIFF_MNE_ROW_NAMES              = 3502;
-FIFF.FIFF_MNE_COL_NAMES              = 3503;
-FIFF.FIFF_MNE_NROW                   = 3504;
-FIFF.FIFF_MNE_NCOL                   = 3505;
-FIFF.FIFF_MNE_COORD_FRAME            = 3506;      # Coordinate frame employed. Defaults:
-						  #  FIFFB_MNE_SOURCE_SPACE       FIFFV_COORD_MRI
-						  #  FIFFB_MNE_FORWARD_SOLUTION   FIFFV_COORD_HEAD
-						  #  FIFFB_MNE_INVERSE_SOLUTION   FIFFV_COORD_HEAD
-FIFF.FIFF_MNE_CH_NAME_LIST           = 3507;
-FIFF.FIFF_MNE_FILE_NAME              = 3508;      # This removes the collision with fiff_file.h (used to be 3501)
+FIFF.FIFF_MNE_ROW_NAMES              = 3502
+FIFF.FIFF_MNE_COL_NAMES              = 3503
+FIFF.FIFF_MNE_NROW                   = 3504
+FIFF.FIFF_MNE_NCOL                   = 3505
+FIFF.FIFF_MNE_COORD_FRAME            = 3506      # Coordinate frame employed. Defaults:
+                          #  FIFFB_MNE_SOURCE_SPACE       FIFFV_COORD_MRI
+                          #  FIFFB_MNE_FORWARD_SOLUTION   FIFFV_COORD_HEAD
+                          #  FIFFB_MNE_INVERSE_SOLUTION   FIFFV_COORD_HEAD
+FIFF.FIFF_MNE_CH_NAME_LIST           = 3507
+FIFF.FIFF_MNE_FILE_NAME              = 3508      # This removes the collision with fiff_file.h (used to be 3501)
 #
 # 3510... 3590... Source space or surface
 #
-FIFF.FIFF_MNE_SOURCE_SPACE_POINTS        = 3510;    # The vertices
-FIFF.FIFF_MNE_SOURCE_SPACE_NORMALS       = 3511;    # The vertex normals
-FIFF.FIFF_MNE_SOURCE_SPACE_NPOINTS       = 3512;    # How many vertices
-FIFF.FIFF_MNE_SOURCE_SPACE_SELECTION     = 3513;    # Which are selected to the source space
-FIFF.FIFF_MNE_SOURCE_SPACE_NUSE          = 3514;    # How many are in use
-FIFF.FIFF_MNE_SOURCE_SPACE_NEAREST       = 3515;    # Nearest source space vertex for all vertices
-FIFF.FIFF_MNE_SOURCE_SPACE_NEAREST_DIST  = 3516;    # Distance to the Nearest source space vertex for all vertices
-FIFF.FIFF_MNE_SOURCE_SPACE_ID            = 3517;    # Identifier
+FIFF.FIFF_MNE_SOURCE_SPACE_POINTS        = 3510    # The vertices
+FIFF.FIFF_MNE_SOURCE_SPACE_NORMALS       = 3511    # The vertex normals
+FIFF.FIFF_MNE_SOURCE_SPACE_NPOINTS       = 3512    # How many vertices
+FIFF.FIFF_MNE_SOURCE_SPACE_SELECTION     = 3513    # Which are selected to the source space
+FIFF.FIFF_MNE_SOURCE_SPACE_NUSE          = 3514    # How many are in use
+FIFF.FIFF_MNE_SOURCE_SPACE_NEAREST       = 3515    # Nearest source space vertex for all vertices
+FIFF.FIFF_MNE_SOURCE_SPACE_NEAREST_DIST  = 3516    # Distance to the Nearest source space vertex for all vertices
+FIFF.FIFF_MNE_SOURCE_SPACE_ID            = 3517    # Identifier
 
-FIFF.FIFF_MNE_SOURCE_SPACE_NTRI          = 3590;    # Number of triangles
-FIFF.FIFF_MNE_SOURCE_SPACE_TRIANGLES     = 3591;    # The triangulation
-FIFF.FIFF_MNE_SOURCE_SPACE_NUSE_TRI      = 3592;    # Number of triangles corresponding to the number of vertices in use
-FIFF.FIFF_MNE_SOURCE_SPACE_USE_TRIANGLES = 3593;    # The triangulation of the used vertices in the source space
+FIFF.FIFF_MNE_SOURCE_SPACE_NTRI          = 3590    # Number of triangles
+FIFF.FIFF_MNE_SOURCE_SPACE_TRIANGLES     = 3591    # The triangulation
+FIFF.FIFF_MNE_SOURCE_SPACE_NUSE_TRI      = 3592    # Number of triangles corresponding to the number of vertices in use
+FIFF.FIFF_MNE_SOURCE_SPACE_USE_TRIANGLES = 3593    # The triangulation of the used vertices in the source space
 #
 # 3520... Forward solution
 #
-FIFF.FIFF_MNE_FORWARD_SOLUTION       = 3520;
-FIFF.FIFF_MNE_SOURCE_ORIENTATION     = 3521;    # Fixed or free
-FIFF.FIFF_MNE_INCLUDED_METHODS       = 3522;
-FIFF.FIFF_MNE_FORWARD_SOLUTION_GRAD  = 3523;
+FIFF.FIFF_MNE_FORWARD_SOLUTION       = 3520
+FIFF.FIFF_MNE_SOURCE_ORIENTATION     = 3521    # Fixed or free
+FIFF.FIFF_MNE_INCLUDED_METHODS       = 3522
+FIFF.FIFF_MNE_FORWARD_SOLUTION_GRAD  = 3523
 #
 # 3530... Covariance matrix
 #
-FIFF.FIFF_MNE_COV_KIND               = 3530;	  # What kind of a covariance matrix
-FIFF.FIFF_MNE_COV_DIM                = 3531;	  # Matrix dimension
-FIFF.FIFF_MNE_COV                    = 3532;	  # Full matrix in packed representation (lower triangle)
-FIFF.FIFF_MNE_COV_DIAG               = 3533;	  # Diagonal matrix
-FIFF.FIFF_MNE_COV_EIGENVALUES        = 3534;       # Eigenvalues and eigenvectors of the above
-FIFF.FIFF_MNE_COV_EIGENVECTORS       = 3535;
-FIFF.FIFF_MNE_COV_NFREE              = 3536;       # Number of degrees of freedom
+FIFF.FIFF_MNE_COV_KIND               = 3530      # What kind of a covariance matrix
+FIFF.FIFF_MNE_COV_DIM                = 3531      # Matrix dimension
+FIFF.FIFF_MNE_COV                    = 3532      # Full matrix in packed representation (lower triangle)
+FIFF.FIFF_MNE_COV_DIAG               = 3533      # Diagonal matrix
+FIFF.FIFF_MNE_COV_EIGENVALUES        = 3534       # Eigenvalues and eigenvectors of the above
+FIFF.FIFF_MNE_COV_EIGENVECTORS       = 3535
+FIFF.FIFF_MNE_COV_NFREE              = 3536       # Number of degrees of freedom
 #
 # 3540... Inverse operator
 #
 # We store the inverse operator as the eigenleads, eigenfields,
 # and weights
 #
-FIFF.FIFF_MNE_INVERSE_LEADS              = 3540;   # The eigenleads
-FIFF.FIFF_MNE_INVERSE_LEADS_WEIGHTED     = 3546;   # The eigenleads (already weighted with R^0.5) 
-FIFF.FIFF_MNE_INVERSE_FIELDS             = 3541;   # The eigenfields
-FIFF.FIFF_MNE_INVERSE_SING               = 3542;   # The singular values
-FIFF.FIFF_MNE_PRIORS_USED                = 3543;   # Which kind of priors have been used for the source covariance matrix
-FIFF.FIFF_MNE_INVERSE_FULL               = 3544;   # Inverse operator as one matrix 
-					           # This matrix includes the whitening operator as well 
-						   # The regularization is applied
-FIFF.FIFF_MNE_INVERSE_SOURCE_ORIENTATIONS = 3545;  # Contains the orientation of one source per row 
-						   # The source orientations must be expressed in the coordinate system
-						   # given by FIFF_MNE_COORD_FRAME
+FIFF.FIFF_MNE_INVERSE_LEADS              = 3540   # The eigenleads
+FIFF.FIFF_MNE_INVERSE_LEADS_WEIGHTED     = 3546   # The eigenleads (already weighted with R^0.5)
+FIFF.FIFF_MNE_INVERSE_FIELDS             = 3541   # The eigenfields
+FIFF.FIFF_MNE_INVERSE_SING               = 3542   # The singular values
+FIFF.FIFF_MNE_PRIORS_USED                = 3543   # Which kind of priors have been used for the source covariance matrix
+FIFF.FIFF_MNE_INVERSE_FULL               = 3544   # Inverse operator as one matrix
+                               # This matrix includes the whitening operator as well
+                           # The regularization is applied
+FIFF.FIFF_MNE_INVERSE_SOURCE_ORIENTATIONS = 3545  # Contains the orientation of one source per row
+                           # The source orientations must be expressed in the coordinate system
+                           # given by FIFF_MNE_COORD_FRAME
 #
 # 3550... Saved environment info
 #
-FIFF.FIFF_MNE_ENV_WORKING_DIR        = 3550;     # Working directory where the file was created
-FIFF.FIFF_MNE_ENV_COMMAND_LINE       = 3551;     # The command used to create the file
+FIFF.FIFF_MNE_ENV_WORKING_DIR        = 3550     # Working directory where the file was created
+FIFF.FIFF_MNE_ENV_COMMAND_LINE       = 3551     # The command used to create the file
 #
 # 3560... Miscellaneous
 #
-FIFF.FIFF_MNE_PROJ_ITEM_ACTIVE       = 3560;     # Is this projection item active? 
-FIFF.FIFF_MNE_EVENT_LIST             = 3561;     # An event list (for STI 014)
-FIFF.FIFF_MNE_HEMI                   = 3562;     # Hemisphere association for general purposes
+FIFF.FIFF_MNE_PROJ_ITEM_ACTIVE       = 3560     # Is this projection item active?
+FIFF.FIFF_MNE_EVENT_LIST             = 3561     # An event list (for STI 014)
+FIFF.FIFF_MNE_HEMI                   = 3562     # Hemisphere association for general purposes
 #
 # 3570... Morphing maps
 #
-FIFF.FIFF_MNE_MORPH_MAP              = 3570;	 # Mapping of closest vertices on the sphere
-FIFF.FIFF_MNE_MORPH_MAP_FROM         = 3571;     # Which subject is this map from
-FIFF.FIFF_MNE_MORPH_MAP_TO           = 3572;     # Which subject is this map to
+FIFF.FIFF_MNE_MORPH_MAP              = 3570     # Mapping of closest vertices on the sphere
+FIFF.FIFF_MNE_MORPH_MAP_FROM         = 3571     # Which subject is this map from
+FIFF.FIFF_MNE_MORPH_MAP_TO           = 3572     # Which subject is this map to
 #
 # 3580... CTF compensation data
 #
-FIFF.FIFF_MNE_CTF_COMP_KIND         = 3580;     # What kind of compensation
-FIFF.FIFF_MNE_CTF_COMP_DATA         = 3581;     # The compensation data itself
-FIFF.FIFF_MNE_CTF_COMP_CALIBRATED   = 3582;     # Are the coefficients calibrated?
+FIFF.FIFF_MNE_CTF_COMP_KIND         = 3580     # What kind of compensation
+FIFF.FIFF_MNE_CTF_COMP_DATA         = 3581     # The compensation data itself
+FIFF.FIFF_MNE_CTF_COMP_CALIBRATED   = 3582     # Are the coefficients calibrated?
 #
 # Fiff values associated with MNE computations
 #
-FIFF.FIFFV_MNE_FIXED_ORI            = 1;
-FIFF.FIFFV_MNE_FREE_ORI             = 2;
+FIFF.FIFFV_MNE_FIXED_ORI            = 1
+FIFF.FIFFV_MNE_FREE_ORI             = 2
 
-FIFF.FIFFV_MNE_MEG                  = 1;
-FIFF.FIFFV_MNE_EEG                  = 2;
-FIFF.FIFFV_MNE_MEG_EEG              = 3;
+FIFF.FIFFV_MNE_MEG                  = 1
+FIFF.FIFFV_MNE_EEG                  = 2
+FIFF.FIFFV_MNE_MEG_EEG              = 3
 
-FIFF.FIFFV_MNE_UNKNOWN_COV          = 0;
-FIFF.FIFFV_MNE_SENSOR_COV           = 1;
-FIFF.FIFFV_MNE_NOISE_COV            = 1;         # This is what it should have been called
-FIFF.FIFFV_MNE_SOURCE_COV           = 2;
-FIFF.FIFFV_MNE_FMRI_PRIOR_COV       = 3;
-FIFF.FIFFV_MNE_SIGNAL_COV           = 4;         # This will be potentially employed in beamformers
-FIFF.FIFFV_MNE_DEPTH_PRIOR_COV      = 5;         # The depth weighting prior 
-FIFF.FIFFV_MNE_ORIENT_PRIOR_COV     = 6;	 # The orientation prior
+FIFF.FIFFV_MNE_UNKNOWN_COV          = 0
+FIFF.FIFFV_MNE_SENSOR_COV           = 1
+FIFF.FIFFV_MNE_NOISE_COV            = 1         # This is what it should have been called
+FIFF.FIFFV_MNE_SOURCE_COV           = 2
+FIFF.FIFFV_MNE_FMRI_PRIOR_COV       = 3
+FIFF.FIFFV_MNE_SIGNAL_COV           = 4         # This will be potentially employed in beamformers
+FIFF.FIFFV_MNE_DEPTH_PRIOR_COV      = 5         # The depth weighting prior
+FIFF.FIFFV_MNE_ORIENT_PRIOR_COV     = 6     # The orientation prior
 #
 # Projection item kinds
 #
-FIFF.FIFFV_PROJ_ITEM_NONE           = 0;
-FIFF.FIFFV_PROJ_ITEM_FIELD          = 1;
-FIFF.FIFFV_PROJ_ITEM_DIP_FIX        = 2;
-FIFF.FIFFV_PROJ_ITEM_DIP_ROT        = 3;
-FIFF.FIFFV_PROJ_ITEM_HOMOG_GRAD     = 4;
-FIFF.FIFFV_PROJ_ITEM_HOMOG_FIELD    = 5;
-FIFF.FIFFV_MNE_PROJ_ITEM_EEG_AVREF  = 10;
+FIFF.FIFFV_PROJ_ITEM_NONE           = 0
+FIFF.FIFFV_PROJ_ITEM_FIELD          = 1
+FIFF.FIFFV_PROJ_ITEM_DIP_FIX        = 2
+FIFF.FIFFV_PROJ_ITEM_DIP_ROT        = 3
+FIFF.FIFFV_PROJ_ITEM_HOMOG_GRAD     = 4
+FIFF.FIFFV_PROJ_ITEM_HOMOG_FIELD    = 5
+FIFF.FIFFV_MNE_PROJ_ITEM_EEG_AVREF  = 10
 #
 # Additional coordinate frames
 #
-FIFF.FIFFV_MNE_COORD_TUFTS_EEG   =  300;         # For Tufts EEG data
-FIFF.FIFFV_MNE_COORD_CTF_DEVICE  = 1001;         # CTF device coordinates
-FIFF.FIFFV_MNE_COORD_CTF_HEAD    = 1004;         # CTF head coordinates
-FIFF.FIFFV_MNE_COORD_MRI_VOXEL   = 2001;         # The MRI voxel coordinates
-FIFF.FIFFV_MNE_COORD_RAS         = 2002;         # Surface RAS coordinates with non-zero origin
-FIFF.FIFFV_MNE_COORD_MNI_TAL     = 2003;         # MNI Talairach coordinates
-FIFF.FIFFV_MNE_COORD_FS_TAL_GTZ  = 2004;         # FreeSurfer Talairach coordinates (MNI z > 0)
-FIFF.FIFFV_MNE_COORD_FS_TAL_LTZ  = 2005;         # FreeSurfer Talairach coordinates (MNI z < 0)
-FIFF.FIFFV_MNE_COORD_FS_TAL      = 2006;         # FreeSurfer Talairach coordinates
-# 
+FIFF.FIFFV_MNE_COORD_TUFTS_EEG   =  300         # For Tufts EEG data
+FIFF.FIFFV_MNE_COORD_CTF_DEVICE  = 1001         # CTF device coordinates
+FIFF.FIFFV_MNE_COORD_CTF_HEAD    = 1004         # CTF head coordinates
+FIFF.FIFFV_MNE_COORD_MRI_VOXEL   = 2001         # The MRI voxel coordinates
+FIFF.FIFFV_MNE_COORD_RAS         = 2002         # Surface RAS coordinates with non-zero origin
+FIFF.FIFFV_MNE_COORD_MNI_TAL     = 2003         # MNI Talairach coordinates
+FIFF.FIFFV_MNE_COORD_FS_TAL_GTZ  = 2004         # FreeSurfer Talairach coordinates (MNI z > 0)
+FIFF.FIFFV_MNE_COORD_FS_TAL_LTZ  = 2005         # FreeSurfer Talairach coordinates (MNI z < 0)
+FIFF.FIFFV_MNE_COORD_FS_TAL      = 2006         # FreeSurfer Talairach coordinates
+#
 # CTF coil and channel types
 #
-FIFF.FIFFV_REF_MEG_CH             = 301;
+FIFF.FIFFV_REF_MEG_CH             = 301
 #
 #   Data types
 #
-FIFF.FIFFT_VOID                  = 0;
-FIFF.FIFFT_BYTE                  = 1;
-FIFF.FIFFT_SHORT                 = 2;
-FIFF.FIFFT_INT                   = 3;
-FIFF.FIFFT_FLOAT                 = 4;
-FIFF.FIFFT_DOUBLE                = 5;
-FIFF.FIFFT_JULIAN                = 6;
-FIFF.FIFFT_USHORT                = 7;
-FIFF.FIFFT_UINT                  = 8;
-FIFF.FIFFT_ULONG                 = 9;
-FIFF.FIFFT_STRING                = 10;
-FIFF.FIFFT_LONG                  = 11;
-FIFF.FIFFT_DAU_PACK13            = 13;
-FIFF.FIFFT_DAU_PACK14            = 14;
-FIFF.FIFFT_DAU_PACK16            = 16;
-FIFF.FIFFT_COMPLEX_FLOAT         = 20;
-FIFF.FIFFT_COMPLEX_DOUBLE        = 21;
-FIFF.FIFFT_OLD_PACK              = 23;
-FIFF.FIFFT_CH_INFO_STRUCT        = 30;
-FIFF.FIFFT_ID_STRUCT             = 31;
-FIFF.FIFFT_DIR_ENTRY_STRUCT      = 32;
-FIFF.FIFFT_DIG_POINT_STRUCT      = 33;
-FIFF.FIFFT_CH_POS_STRUCT         = 34;
-FIFF.FIFFT_COORD_TRANS_STRUCT    = 35;
-FIFF.FIFFT_DIG_STRING_STRUCT     = 36;
-FIFF.FIFFT_STREAM_SEGMENT_STRUCT = 37;
+FIFF.FIFFT_VOID                  = 0
+FIFF.FIFFT_BYTE                  = 1
+FIFF.FIFFT_SHORT                 = 2
+FIFF.FIFFT_INT                   = 3
+FIFF.FIFFT_FLOAT                 = 4
+FIFF.FIFFT_DOUBLE                = 5
+FIFF.FIFFT_JULIAN                = 6
+FIFF.FIFFT_USHORT                = 7
+FIFF.FIFFT_UINT                  = 8
+FIFF.FIFFT_ULONG                 = 9
+FIFF.FIFFT_STRING                = 10
+FIFF.FIFFT_LONG                  = 11
+FIFF.FIFFT_DAU_PACK13            = 13
+FIFF.FIFFT_DAU_PACK14            = 14
+FIFF.FIFFT_DAU_PACK16            = 16
+FIFF.FIFFT_COMPLEX_FLOAT         = 20
+FIFF.FIFFT_COMPLEX_DOUBLE        = 21
+FIFF.FIFFT_OLD_PACK              = 23
+FIFF.FIFFT_CH_INFO_STRUCT        = 30
+FIFF.FIFFT_ID_STRUCT             = 31
+FIFF.FIFFT_DIR_ENTRY_STRUCT      = 32
+FIFF.FIFFT_DIG_POINT_STRUCT      = 33
+FIFF.FIFFT_CH_POS_STRUCT         = 34
+FIFF.FIFFT_COORD_TRANS_STRUCT    = 35
+FIFF.FIFFT_DIG_STRING_STRUCT     = 36
+FIFF.FIFFT_STREAM_SEGMENT_STRUCT = 37
diff --git a/fiff/cov.py b/fiff/cov.py
index 91534a9..237b9c3 100644
--- a/fiff/cov.py
+++ b/fiff/cov.py
@@ -118,6 +118,7 @@ from .write import start_block, end_block, write_int, write_name_list, \
                    write_double, write_float_matrix, start_file, end_file
 from .proj import write_proj
 
+
 def write_cov(fid, cov):
     """
     %
@@ -191,9 +192,9 @@ def write_cov_file(fname, cov):
     fid = start_file(fname)
 
     try:
-        write_cov(fid,cov);
+        write_cov(fid, cov)
     except Exception as inst:
         os.remove(fname)
-        raise '%s',  inst
+        raise '%s', inst
 
     end_file(fid)
diff --git a/fiff/open.py b/fiff/open.py
index 0a5edc6..25ca967 100644
--- a/fiff/open.py
+++ b/fiff/open.py
@@ -45,7 +45,7 @@ def fiff_open(fname, verbose=False):
             tag.pos = pos
             directory.append(tag)
 
-    tree, _ = make_dir_tree(fid, directory)
+    tree, _ = make_dir_tree(fid, directory, verbose=verbose)
 
     if verbose:
         print '[done]\n'
diff --git a/fiff/tag.py b/fiff/tag.py
index 991b41a..9655cf3 100644
--- a/fiff/tag.py
+++ b/fiff/tag.py
@@ -4,6 +4,7 @@ import numpy as np
 from .bunch import Bunch
 from .constants import FIFF
 
+
 class Tag(object):
     """docstring for Tag"""
     def __init__(self, kind, type_, size, next, pos=None):
@@ -13,14 +14,14 @@ class Tag(object):
         self.next = int(next)
         self.pos = pos if pos is not None else next
         self.pos = int(self.pos)
+        self.data = None
 
     def __repr__(self):
         out = "kind: %s - type: %s - size: %s - next: %s - pos: %s" % (
                 self.kind, self.type, self.size, self.next, self.pos)
         if hasattr(self, 'data'):
-            out += " - data: %s\n" % self.data
-        else:
-            out += "\n"
+            out += " - data: %s" % self.data
+        out += "\n"
         return out
 
 
@@ -252,7 +253,7 @@ def find_tag(fid, node, findkind):
     for p in range(node.nent):
        if node.directory[p].kind == findkind:
           return read_tag(fid, node.directory[p].pos)
-    tag = None;
+    tag = None
     return tag
 
 
diff --git a/fiff/tree.py b/fiff/tree.py
index e3ef2a0..2ce7871 100644
--- a/fiff/tree.py
+++ b/fiff/tree.py
@@ -6,7 +6,7 @@ def dir_tree_find(tree, kind):
     """[nodes] = dir_tree_find(tree,kind)
 
        Find nodes of the given kind from a directory tree structure
-       
+
        Returns a list of matching nodes
     """
     nodes = []
@@ -41,9 +41,7 @@ def make_dir_tree(fid, directory, start=0, indent=0, verbose=False):
         block = 0
 
     if verbose:
-        for k in range(indent):
-            print '\t'
-        print 'start { %d\n' % block
+        print '\t'*indent + 'start { %d' % block
 
     this = start
 
@@ -59,7 +57,8 @@ def make_dir_tree(fid, directory, start=0, indent=0, verbose=False):
     while this < len(directory):
         if directory[this].kind == FIFF_BLOCK_START:
             if this != start:
-                child, this = make_dir_tree(fid, directory, this, indent+1)
+                child, this = make_dir_tree(fid, directory, this,
+                                                        indent+1, verbose)
                 tree.nchild += 1
                 tree.children.append(child)
         elif directory[this].kind == FIFF_BLOCK_END:
@@ -71,35 +70,30 @@ def make_dir_tree(fid, directory, start=0, indent=0, verbose=False):
             if tree.nent == 1:
                 tree.directory = list()
             tree.directory.append(directory[this])
-        #
-        #  Add the id information if available
-        #
-        if block == 0:
-           if directory[this].kind == FIFF_FILE_ID:
-              tag = read_tag(fid, directory[this].pos)
-              tree.id = tag.data
-        else:
-           if directory[this].kind == FIFF_BLOCK_ID:
-              tag = read_tag(fid, directory[this].pos)
-              tree.id = tag.data
-           elif directory[this].kind == FIFF_PARENT_BLOCK_ID:
-              tag = read_tag(fid, directory[this].pos)
-              tree.parent_id = tag.data
+
+            #  Add the id information if available
+            if block == 0:
+               if directory[this].kind == FIFF_FILE_ID:
+                  tag = read_tag(fid, directory[this].pos)
+                  tree.id = tag.data
+            else:
+               if directory[this].kind == FIFF_BLOCK_ID:
+                  tag = read_tag(fid, directory[this].pos)
+                  tree.id = tag.data
+               elif directory[this].kind == FIFF_PARENT_BLOCK_ID:
+                  tag = read_tag(fid, directory[this].pos)
+                  tree.parent_id = tag.data
+
         this += 1
-    #
+
     # Eliminate the empty directory
-    #
     if tree.nent == 0:
        tree.directory = None
 
     if verbose:
-        for k in range(indent+1):
-            print '\t'
-        print 'block = %d nent = %d nchild = %d\n' % (tree.block, tree.nent,
-                                                      tree.nchild)
-        for k in range(indent):
-            print '\t'
-        print 'end } %d\n' % block
+        print '\t'*(indent+1) + 'block = %d nent = %d nchild = %d' % (
+                                tree.block, tree.nent, tree.nchild)
+        print '\t'*indent, 'end } %d' % block
 
     last = this
     return tree, last

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/python-mne.git



More information about the debian-med-commit mailing list