[med-svn] [python-mne] 200/376: pep8

Yaroslav Halchenko debian at onerussian.com
Fri Nov 27 17:22:36 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 fe4fbeca9738b946668e52bce771573acf6524fd
Author: Alexandre Gramfort <alexandre.gramfort at inria.fr>
Date:   Sun Apr 17 18:25:43 2011 -0400

    pep8
---
 examples/plot_compute_mne_inverse.py               |  4 +-
 examples/plot_from_raw_to_epochs_to_evoked.py      | 12 +--
 examples/plot_minimum_norm_estimate.py             |  4 +-
 examples/plot_read_and_write_raw_data.py           |  8 +-
 examples/plot_read_epochs.py                       |  4 +-
 examples/plot_read_evoked.py                       |  2 +-
 examples/plot_read_forward.py                      |  8 +-
 examples/plot_read_source_space.py                 |  9 ++-
 examples/plot_read_stc.py                          |  2 +-
 examples/plot_whitened_evoked_data.py              | 10 +--
 examples/read_bem_surfaces.py                      |  6 +-
 examples/read_inverse.py                           |  6 +-
 .../plot_cluster_1samp_test_time_frequency.py      | 22 ++---
 examples/stats/plot_cluster_stats_evoked.py        | 12 +--
 .../stats/plot_cluster_stats_time_frequency.py     | 28 +++----
 examples/stats/plot_sensor_permutation_test.py     |  4 +-
 examples/time_frequency/plot_time_frequency.py     | 22 ++---
 mne/bem_surfaces.py                                |  8 +-
 mne/fiff/__init__.py                               |  1 -
 mne/fiff/bunch.py                                  |  2 +-
 mne/fiff/channels.py                               |  3 +-
 mne/fiff/constants.py                              | 94 +++++++++++-----------
 mne/fiff/ctf.py                                    | 21 ++---
 mne/fiff/diff.py                                   |  4 +-
 mne/fiff/evoked.py                                 | 42 +++++-----
 mne/fiff/matrix.py                                 | 22 ++---
 mne/fiff/open.py                                   | 11 ++-
 mne/fiff/pick.py                                   | 10 ++-
 mne/fiff/proj.py                                   | 59 +++++++-------
 mne/fiff/raw.py                                    | 36 ++++-----
 mne/fiff/tests/test_evoked.py                      | 12 +--
 mne/fiff/tree.py                                   | 18 ++---
 mne/label.py                                       |  2 +-
 mne/layouts/__init__.py                            |  2 +-
 mne/layouts/layout.py                              | 16 ++--
 mne/misc.py                                        | 18 +++--
 mne/source_space.py                                | 51 ++++++------
 mne/stats/cluster_level.py                         | 41 +++++-----
 mne/stats/parametric.py                            | 12 +--
 mne/stats/permutations.py                          | 21 +++--
 mne/stc.py                                         | 14 ++--
 mne/tests/test_bem_surfaces.py                     |  1 +
 mne/tests/test_inverse.py                          |  6 +-
 mne/tests/test_label.py                            |  1 +
 mne/time_frequency/tfr.py                          | 35 ++++----
 mne/viz.py                                         |  8 +-
 46 files changed, 375 insertions(+), 359 deletions(-)

diff --git a/examples/plot_compute_mne_inverse.py b/examples/plot_compute_mne_inverse.py
index 431f06e..7c1fbbf 100755
--- a/examples/plot_compute_mne_inverse.py
+++ b/examples/plot_compute_mne_inverse.py
@@ -26,7 +26,7 @@ fname_evoked = data_path + '/MEG/sample/sample_audvis-ave.fif'
 
 setno = 0
 snr = 3.0
-lambda2 = 1.0 / snr**2
+lambda2 = 1.0 / snr ** 2
 dSPM = True
 
 # Load data
@@ -50,7 +50,7 @@ mne.write_stc('mne_dSPM_inverse-rh.stc', tmin=res['tmin'], tstep=res['tstep'],
 ###############################################################################
 # View activation time-series
 times = res['tmin'] + res['tstep'] * np.arange(lh_data.shape[1])
-pl.plot(1e3*times, res['sol'][::100,:].T)
+pl.plot(1e3 * times, res['sol'][::100, :].T)
 pl.xlabel('time (ms)')
 pl.ylabel('dSPM value')
 pl.show()
diff --git a/examples/plot_from_raw_to_epochs_to_evoked.py b/examples/plot_from_raw_to_epochs_to_evoked.py
index 5914cfa..e8b37f1 100755
--- a/examples/plot_from_raw_to_epochs_to_evoked.py
+++ b/examples/plot_from_raw_to_epochs_to_evoked.py
@@ -32,8 +32,8 @@ raw = fiff.Raw(raw_fname)
 events = mne.read_events(event_fname)
 
 #   Set up pick list: EEG + STI 014 - bad channels (modify to your needs)
-include = [] # or stim channels ['STI 014']
-exclude = raw.info['bads'] + ['EEG 053'] # bads + 1 more
+include = []  # or stim channels ['STI 014']
+exclude = raw.info['bads'] + ['EEG 053']  # bads + 1 more
 
 # pick EEG channels
 picks = fiff.pick_types(raw.info, meg=False, eeg=True, stim=False, eog=True,
@@ -41,16 +41,16 @@ picks = fiff.pick_types(raw.info, meg=False, eeg=True, stim=False, eog=True,
 # Read epochs
 epochs = mne.Epochs(raw, events, event_id, tmin, tmax, picks=picks,
                     baseline=(None, 0), reject=dict(eeg=40e-6, eog=150e-6))
-evoked = epochs.average() # average epochs and get an Evoked dataset.
+evoked = epochs.average()  # average epochs and get an Evoked dataset.
 
-evoked.save('sample_audvis_eeg-ave.fif') # save evoked data to disk
+evoked.save('sample_audvis_eeg-ave.fif')  # save evoked data to disk
 
 ###############################################################################
 # View evoked response
-times = 1e3 * epochs.times # time in miliseconds
+times = 1e3 * epochs.times  # time in miliseconds
 import pylab as pl
 pl.clf()
-pl.plot(times, 1e6*evoked.data.T)
+pl.plot(times, 1e6 * evoked.data.T)
 pl.xlim([times[0], times[-1]])
 pl.xlabel('time (ms)')
 pl.ylabel('Potential (uV)')
diff --git a/examples/plot_minimum_norm_estimate.py b/examples/plot_minimum_norm_estimate.py
index 490bb20..6316017 100644
--- a/examples/plot_minimum_norm_estimate.py
+++ b/examples/plot_minimum_norm_estimate.py
@@ -27,7 +27,7 @@ fname_evoked = data_path + '/MEG/sample/sample_audvis-ave.fif'
 
 setno = 0
 snr = 3.0
-lambda2 = 1.0 / snr**2
+lambda2 = 1.0 / snr ** 2
 dSPM = True
 
 # Load data
@@ -57,7 +57,7 @@ mne.write_stc('mne_dSPM_inverse-rh.stc', tmin=stc['tmin'], tstep=stc['tstep'],
 # View activation time-series
 times = stc['tmin'] + stc['tstep'] * np.arange(stc['sol'].shape[1])
 pl.close('all')
-pl.plot(1e3*times, stc['sol'][::100,:].T)
+pl.plot(1e3 * times, stc['sol'][::100, :].T)
 pl.xlabel('time (ms)')
 pl.ylabel('dSPM value')
 pl.show()
diff --git a/examples/plot_read_and_write_raw_data.py b/examples/plot_read_and_write_raw_data.py
index 6a6b9e5..510b3b2 100755
--- a/examples/plot_read_and_write_raw_data.py
+++ b/examples/plot_read_and_write_raw_data.py
@@ -26,15 +26,15 @@ want_meg = True
 want_eeg = False
 want_stim = False
 include = ['STI 014']
-exclude = raw.info['bads'] + ['MEG 2443', 'EEG 053'] # bad channels + 2 more
+exclude = raw.info['bads'] + ['MEG 2443', 'EEG 053']  # bad channels + 2 more
 
 picks = fiff.pick_types(raw.info, meg=want_meg, eeg=want_eeg,
                                   stim=want_stim, include=include,
                                   exclude=exclude)
 
-some_picks = picks[:5] # take 5 first
-start, stop = raw.time_to_index(0, 15) # read the first 15s of data
-data, times = raw[some_picks, start:(stop+1)]
+some_picks = picks[:5]  # take 5 first
+start, stop = raw.time_to_index(0, 15)  # read the first 15s of data
+data, times = raw[some_picks, start:(stop + 1)]
 
 # save 150s of MEG data in FIF file
 raw.save('sample_audvis_meg_raw.fif', tmin=0, tmax=150, picks=picks)
diff --git a/examples/plot_read_epochs.py b/examples/plot_read_epochs.py
index feeed3b..c1d3588 100755
--- a/examples/plot_read_epochs.py
+++ b/examples/plot_read_epochs.py
@@ -32,7 +32,7 @@ raw = fiff.Raw(raw_fname)
 events = mne.read_events(event_fname)
 
 # Set up pick list: EEG + MEG - bad channels (modify to your needs)
-exclude = raw.info['bads'] + ['MEG 2443', 'EEG 053'] # bads + 2 more
+exclude = raw.info['bads'] + ['MEG 2443', 'EEG 053']  # bads + 2 more
 picks = fiff.pick_types(raw.info, meg=True, eeg=False, stim=True, eog=True,
                             exclude=exclude)
 
@@ -40,7 +40,7 @@ picks = fiff.pick_types(raw.info, meg=True, eeg=False, stim=True, eog=True,
 epochs = mne.Epochs(raw, events, event_id, tmin, tmax,
                     picks=picks, baseline=(None, 0), preload=True,
                     reject=dict(grad=4000e-13, mag=4e-12, eog=150e-6))
-evoked = epochs.average() # average epochs to get the evoked response
+evoked = epochs.average()  # average epochs to get the evoked response
 
 ###############################################################################
 # Show result
diff --git a/examples/plot_read_evoked.py b/examples/plot_read_evoked.py
index 8573406..d81ebe3 100755
--- a/examples/plot_read_evoked.py
+++ b/examples/plot_read_evoked.py
@@ -24,5 +24,5 @@ evoked = fiff.Evoked(fname, setno=0, baseline=(None, 0))
 ###############################################################################
 # Show result
 picks = fiff.pick_types(evoked.info, meg=True, eeg=True,
-                        exclude=evoked.info['bads']) # Pick channels to view
+                        exclude=evoked.info['bads'])  # Pick channels to view
 plot_evoked(evoked, picks=picks)
diff --git a/examples/plot_read_forward.py b/examples/plot_read_forward.py
index 308f3b9..faf1f30 100755
--- a/examples/plot_read_forward.py
+++ b/examples/plot_read_forward.py
@@ -24,7 +24,7 @@ print "Leadfield size : %d x %d" % leadfield.shape
 # Show result
 
 import pylab as pl
-pl.matshow(leadfield[:,:500])
+pl.matshow(leadfield[:, :500])
 pl.xlabel('sources')
 pl.ylabel('sensors')
 pl.title('Lead field matrix')
@@ -36,5 +36,7 @@ lh_faces = fwd['src'][0]['use_tris']
 rh_points = fwd['src'][1]['rr']
 rh_faces = fwd['src'][1]['use_tris']
 from enthought.mayavi import mlab
-mlab.triangular_mesh(lh_points[:,0], lh_points[:,1], lh_points[:,2], lh_faces)
-mlab.triangular_mesh(rh_points[:,0], rh_points[:,1], rh_points[:,2], rh_faces)
+mlab.triangular_mesh(lh_points[:, 0], lh_points[:, 1], lh_points[:, 2],
+                     lh_faces)
+mlab.triangular_mesh(rh_points[:, 0], rh_points[:, 1], rh_points[:, 2],
+                     rh_faces)
diff --git a/examples/plot_read_source_space.py b/examples/plot_read_source_space.py
index 5c13713..d7000ac 100755
--- a/examples/plot_read_source_space.py
+++ b/examples/plot_read_source_space.py
@@ -15,10 +15,9 @@ import mne
 from mne.datasets import sample
 
 data_path = sample.data_path('.')
-# fname = op.join(data_path, 'MEG', 'sample', 'sample_audvis-eeg-oct-6-fwd.fif')
 fname = op.join(data_path, 'MEG', 'sample', 'sample_audvis-eeg-oct-6p-fwd.fif')
 
-add_geom = True # include high resolution source space
+add_geom = True  # include high resolution source space
 src = mne.read_source_spaces(fname, add_geom=add_geom)
 
 # 3D source space (high sampling)
@@ -27,5 +26,7 @@ lh_faces = src[0]['tris']
 rh_points = src[1]['rr']
 rh_faces = src[1]['tris']
 from enthought.mayavi import mlab
-mlab.triangular_mesh(lh_points[:,0], lh_points[:,1], lh_points[:,2], lh_faces)
-mlab.triangular_mesh(rh_points[:,0], rh_points[:,1], rh_points[:,2], rh_faces)
+mlab.triangular_mesh(lh_points[:, 0], lh_points[:, 1], lh_points[:, 2],
+                     lh_faces)
+mlab.triangular_mesh(rh_points[:, 0], rh_points[:, 1], rh_points[:, 2],
+                     rh_faces)
diff --git a/examples/plot_read_stc.py b/examples/plot_read_stc.py
index 374c614..4c58577 100755
--- a/examples/plot_read_stc.py
+++ b/examples/plot_read_stc.py
@@ -31,7 +31,7 @@ print "stc data size: %s (nb of vertices) x %s (nb of samples)" % (
 # View source activations
 times = stc['tmin'] + stc['tstep'] * np.arange(n_samples)
 import pylab as pl
-pl.plot(times, stc['data'][::100,:].T)
+pl.plot(times, stc['data'][::100, :].T)
 pl.xlabel('time (ms)')
 pl.ylabel('Source amplitude')
 pl.show()
diff --git a/examples/plot_whitened_evoked_data.py b/examples/plot_whitened_evoked_data.py
index cd88035..50432f3 100755
--- a/examples/plot_whitened_evoked_data.py
+++ b/examples/plot_whitened_evoked_data.py
@@ -34,23 +34,23 @@ raw = fiff.Raw(raw_fname)
 events = mne.find_events(raw)
 
 # pick EEG channels - bad channels (modify to your needs)
-exclude = raw.info['bads'] + ['EEG 053'] # bads + 1 more
+exclude = raw.info['bads'] + ['EEG 053']  # bads + 1 more
 picks = fiff.pick_types(raw.info, meg=False, eeg=True, stim=False, eog=True,
                         exclude=exclude)
 epochs = mne.Epochs(raw, events, event_id, tmin, tmax, picks=picks,
                     baseline=(None, 0), reject=dict(eeg=40e-6, eog=150e-6))
-evoked = epochs.average() # average epochs and get an Evoked dataset.
+evoked = epochs.average()  # average epochs and get an Evoked dataset.
 
 cov = mne.Covariance(cov_fname)
 
 # Whiten data
-whitener = cov.get_whitener(evoked.info, pca=False) # get whitening matrix
+whitener = cov.get_whitener(evoked.info, pca=False)  # get whitening matrix
 sel = mne.fiff.pick_channels(evoked.ch_names, include=whitener.ch_names)
-whitened_data = np.dot(whitener.W, evoked.data[sel]) # apply whitening
+whitened_data = np.dot(whitener.W, evoked.data[sel])  # apply whitening
 
 ###############################################################################
 # Show result
-times = 1e3 * epochs.times # in ms
+times = 1e3 * epochs.times  # in ms
 import pylab as pl
 pl.clf()
 pl.plot(times, whitened_data.T)
diff --git a/examples/read_bem_surfaces.py b/examples/read_bem_surfaces.py
index dcd3b28..d70d3c1 100755
--- a/examples/read_bem_surfaces.py
+++ b/examples/read_bem_surfaces.py
@@ -22,9 +22,9 @@ print "Number of surfaces : %d" % len(surfaces)
 ###############################################################################
 # Show result
 
-head_col = (0.95, 0.83, 0.83) # light pink
+head_col = (0.95, 0.83, 0.83)  # light pink
 skull_col = (0.91, 0.89, 0.67)
-brain_col = (0.67, 0.89, 0.91) # light blue
+brain_col = (0.67, 0.89, 0.91)  # light blue
 colors = [head_col, skull_col, brain_col]
 
 # 3D source space
@@ -33,5 +33,5 @@ mlab.clf()
 for c, surf in zip(colors, surfaces):
     points = surf['rr']
     faces = surf['tris']
-    mlab.triangular_mesh(points[:,0], points[:,1], points[:,2], faces,
+    mlab.triangular_mesh(points[:, 0], points[:, 1], points[:, 2], faces,
                          color=c, opacity=0.3)
diff --git a/examples/read_inverse.py b/examples/read_inverse.py
index df58d6b..2c71692 100755
--- a/examples/read_inverse.py
+++ b/examples/read_inverse.py
@@ -32,6 +32,8 @@ lh_faces = inv['src'][0]['use_tris']
 rh_points = inv['src'][1]['rr']
 rh_faces = inv['src'][1]['use_tris']
 from enthought.mayavi import mlab
-mlab.triangular_mesh(lh_points[:,0], lh_points[:,1], lh_points[:,2], lh_faces)
-mlab.triangular_mesh(rh_points[:,0], rh_points[:,1], rh_points[:,2], rh_faces)
+mlab.triangular_mesh(lh_points[:, 0], lh_points[:, 1], lh_points[:, 2],
+                     lh_faces)
+mlab.triangular_mesh(rh_points[:, 0], rh_points[:, 1], rh_points[:, 2],
+                     rh_faces)
 mlab.show()
diff --git a/examples/stats/plot_cluster_1samp_test_time_frequency.py b/examples/stats/plot_cluster_1samp_test_time_frequency.py
index 20ddeb4..03a7ba5 100755
--- a/examples/stats/plot_cluster_1samp_test_time_frequency.py
+++ b/examples/stats/plot_cluster_1samp_test_time_frequency.py
@@ -42,7 +42,7 @@ raw = fiff.Raw(raw_fname)
 events = mne.find_events(raw)
 
 include = []
-exclude = raw.info['bads'] + ['MEG 2443', 'EEG 053'] # bads + 2 more
+exclude = raw.info['bads'] + ['MEG 2443', 'EEG 053']  # bads + 2 more
 
 # picks MEG gradiometers
 picks = fiff.pick_types(raw.info, meg='grad', eeg=False, eog=True,
@@ -52,22 +52,22 @@ picks = fiff.pick_types(raw.info, meg='grad', eeg=False, eog=True,
 event_id = 1
 epochs = mne.Epochs(raw, events, event_id, tmin, tmax, picks=picks,
                     baseline=(None, 0), reject=dict(grad=4000e-13, eog=150e-6))
-data = epochs.get_data() # as 3D matrix
-data *= 1e13 # change unit to fT / cm
+data = epochs.get_data()  # as 3D matrix
+data *= 1e13  # change unit to fT / cm
 # Time vector
-times = 1e3 * epochs.times # change unit to ms
+times = 1e3 * epochs.times  # change unit to ms
 
 # Take only one channel
 ch_name = raw.info['ch_names'][97]
-data = data[:,97:98,:]
+data = data[:, 97:98, :]
 
 evoked_data = np.mean(data, 0)
 
 # data -= evoked_data[None,:,:] # remove evoked component
 # evoked_data = np.mean(data, 0)
 
-frequencies = np.arange(8, 40, 2) # define frequencies of interest
-Fs = raw.info['sfreq'] # sampling in Hz
+frequencies = np.arange(8, 40, 2)  # define frequencies of interest
+Fs = raw.info['sfreq']  # sampling in Hz
 epochs_power = single_trial_power(data, Fs=Fs, frequencies=frequencies,
                                   n_cycles=4, use_fft=False, n_jobs=1,
                                   baseline=(-100, 0), times=times,
@@ -75,12 +75,12 @@ epochs_power = single_trial_power(data, Fs=Fs, frequencies=frequencies,
 
 # Crop in time to keep only what is between 0 and 400 ms
 time_mask = (times > 0) & (times < 400)
-epochs_power = epochs_power[:,:,:,time_mask]
-evoked_data = evoked_data[:,time_mask]
+epochs_power = epochs_power[:, :, :, time_mask]
+evoked_data = evoked_data[:, time_mask]
 times = times[time_mask]
 
-epochs_power = epochs_power[:,0,:,:]
-epochs_power = np.log10(epochs_power) # take log of ratio
+epochs_power = epochs_power[:, 0, :, :]
+epochs_power = np.log10(epochs_power)  # take log of ratio
 # under the null hypothesis epochs_power should be now be 0
 
 ###############################################################################
diff --git a/examples/stats/plot_cluster_stats_evoked.py b/examples/stats/plot_cluster_stats_evoked.py
index 5ab6d02..34a4ad1 100755
--- a/examples/stats/plot_cluster_stats_evoked.py
+++ b/examples/stats/plot_cluster_stats_evoked.py
@@ -43,15 +43,15 @@ event_id = 1
 reject = dict(grad=4000e-13, eog=150e-6)
 epochs1 = mne.Epochs(raw, events, event_id, tmin, tmax, picks=picks,
                      baseline=(None, 0), reject=reject)
-condition1 = epochs1.get_data() # as 3D matrix
+condition1 = epochs1.get_data()  # as 3D matrix
 
 event_id = 2
 epochs2 = mne.Epochs(raw, events, event_id, tmin, tmax, picks=picks,
                      baseline=(None, 0), reject=reject)
-condition2 = epochs2.get_data() # as 3D matrix
+condition2 = epochs2.get_data()  # as 3D matrix
 
-condition1 = condition1[:,0,:] # take only one channel to get a 2D array
-condition2 = condition2[:,0,:] # take only one channel to get a 2D array
+condition1 = condition1[:, 0, :]  # take only one channel to get a 2D array
+condition2 = condition2[:, 0, :]  # take only one channel to get a 2D array
 
 ###############################################################################
 # Compute statistic
@@ -75,9 +75,9 @@ pl.subplot(212)
 for i_c, c in enumerate(clusters):
     c = c[0]
     if cluster_p_values[i_c] <= 0.05:
-        h = pl.axvspan(times[c.start], times[c.stop-1], color='r', alpha=0.3)
+        h = pl.axvspan(times[c.start], times[c.stop - 1], color='r', alpha=0.3)
     else:
-        pl.axvspan(times[c.start], times[c.stop-1], color=(0.3, 0.3, 0.3),
+        pl.axvspan(times[c.start], times[c.stop - 1], color=(0.3, 0.3, 0.3),
                    alpha=0.3)
 hf = pl.plot(times, T_obs, 'g')
 pl.legend((h, ), ('cluster p-value < 0.05', ))
diff --git a/examples/stats/plot_cluster_stats_time_frequency.py b/examples/stats/plot_cluster_stats_time_frequency.py
index bf0392d..f9a6d30 100755
--- a/examples/stats/plot_cluster_stats_time_frequency.py
+++ b/examples/stats/plot_cluster_stats_time_frequency.py
@@ -44,7 +44,7 @@ raw = fiff.Raw(raw_fname)
 events = mne.read_events(event_fname)
 
 include = []
-exclude = raw.info['bads'] + ['MEG 2443', 'EEG 053'] # bads + 2 more
+exclude = raw.info['bads'] + ['MEG 2443', 'EEG 053']  # bads + 2 more
 
 # picks MEG gradiometers
 picks = fiff.pick_types(raw.info, meg='grad', eeg=False, eog=True,
@@ -58,26 +58,26 @@ event_id = 1
 epochs_condition_1 = mne.Epochs(raw, events, event_id, tmin, tmax,
                                 picks=picks, baseline=(None, 0),
                                 reject=reject)
-data_condition_1 = epochs_condition_1.get_data() # as 3D matrix
-data_condition_1 *= 1e13 # change unit to fT / cm
+data_condition_1 = epochs_condition_1.get_data()  # as 3D matrix
+data_condition_1 *= 1e13  # change unit to fT / cm
 
 # Load condition 2
 event_id = 2
 epochs_condition_2 = mne.Epochs(raw, events, event_id, tmin, tmax,
                                 picks=picks, baseline=(None, 0),
                                 reject=reject)
-data_condition_2 = epochs_condition_2.get_data() # as 3D matrix
-data_condition_2 *= 1e13 # change unit to fT / cm
+data_condition_2 = epochs_condition_2.get_data()  # as 3D matrix
+data_condition_2 *= 1e13  # change unit to fT / cm
 
 # Take only one channel
-data_condition_1 = data_condition_1[:,97:98,:]
-data_condition_2 = data_condition_2[:,97:98,:]
+data_condition_1 = data_condition_1[:, 97:98, :]
+data_condition_2 = data_condition_2[:, 97:98, :]
 
 # Time vector
-times = 1e3 * epochs_condition_1.times # change unit to ms
+times = 1e3 * epochs_condition_1.times  # change unit to ms
 
-frequencies = np.arange(7, 30, 3) # define frequencies of interest
-Fs = raw.info['sfreq'] # sampling in Hz
+frequencies = np.arange(7, 30, 3)  # define frequencies of interest
+Fs = raw.info['sfreq']  # sampling in Hz
 n_cycles = 1.5
 epochs_power_1 = single_trial_power(data_condition_1, Fs=Fs,
                                    frequencies=frequencies,
@@ -87,12 +87,12 @@ epochs_power_2 = single_trial_power(data_condition_2, Fs=Fs,
                                    frequencies=frequencies,
                                    n_cycles=n_cycles, use_fft=False)
 
-epochs_power_1 = epochs_power_1[:,0,:,:] # only 1 channel to get a 3D matrix
-epochs_power_2 = epochs_power_2[:,0,:,:] # only 1 channel to get a 3D matrix
+epochs_power_1 = epochs_power_1[:, 0, :, :]  # only 1 channel to get 3D matrix
+epochs_power_2 = epochs_power_2[:, 0, :, :]  # only 1 channel to get 3D matrix
 
 # do ratio with baseline power:
-epochs_power_1 /= np.mean(epochs_power_1[:,:,times < 0], axis=2)[:,:,None]
-epochs_power_2 /= np.mean(epochs_power_2[:,:,times < 0], axis=2)[:,:,None]
+epochs_power_1 /= np.mean(epochs_power_1[:, :, times < 0], axis=2)[:, :, None]
+epochs_power_2 /= np.mean(epochs_power_2[:, :, times < 0], axis=2)[:, :, None]
 
 ###############################################################################
 # Compute statistic
diff --git a/examples/stats/plot_sensor_permutation_test.py b/examples/stats/plot_sensor_permutation_test.py
index c219469..65084a1 100755
--- a/examples/stats/plot_sensor_permutation_test.py
+++ b/examples/stats/plot_sensor_permutation_test.py
@@ -36,8 +36,8 @@ raw = fiff.Raw(raw_fname)
 events = mne.read_events(event_fname)
 
 #   Set up pick list: MEG + STI 014 - bad channels (modify to your needs)
-include = [] # or stim channel ['STI 014']
-exclude = raw.info['bads'] + ['MEG 2443', 'EEG 053'] # bads + 2 more
+include = []  # or stim channel ['STI 014']
+exclude = raw.info['bads'] + ['MEG 2443', 'EEG 053']  # bads + 2 more
 
 # pick MEG Magnetometers
 picks = fiff.pick_types(raw.info, meg='grad', eeg=False, stim=False, eog=True,
diff --git a/examples/time_frequency/plot_time_frequency.py b/examples/time_frequency/plot_time_frequency.py
index df35773..21dcbff 100755
--- a/examples/time_frequency/plot_time_frequency.py
+++ b/examples/time_frequency/plot_time_frequency.py
@@ -35,7 +35,7 @@ raw = fiff.Raw(raw_fname)
 events = mne.read_events(event_fname)
 
 include = []
-exclude = raw.info['bads'] + ['MEG 2443', 'EEG 053'] # bads + 2 more
+exclude = raw.info['bads'] + ['MEG 2443', 'EEG 053']  # bads + 2 more
 
 # picks MEG gradiometers
 picks = fiff.pick_types(raw.info, meg='grad', eeg=False, eog=True,
@@ -43,22 +43,22 @@ picks = fiff.pick_types(raw.info, meg='grad', eeg=False, eog=True,
 
 epochs = mne.Epochs(raw, events, event_id, tmin, tmax, picks=picks,
                     baseline=(None, 0), reject=dict(grad=4000e-13, eog=150e-6))
-data = epochs.get_data() # as 3D matrix
-evoked = epochs.average() # compute evoked fields
+data = epochs.get_data()  # as 3D matrix
+evoked = epochs.average()  # compute evoked fields
 
-times = 1e3 * epochs.times # change unit to ms
-evoked_data = evoked.data * 1e13 # change unit to fT / cm
+times = 1e3 * epochs.times  # change unit to ms
+evoked_data = evoked.data * 1e13  # change unit to fT / cm
 
 # Take only one channel
-data = data[:,97:98,:]
-evoked_data = evoked_data[97:98,:]
+data = data[:, 97:98, :]
+evoked_data = evoked_data[97:98, :]
 
-frequencies = np.arange(7, 30, 3) # define frequencies of interest
-Fs = raw.info['sfreq'] # sampling in Hz
+frequencies = np.arange(7, 30, 3)  # define frequencies of interest
+Fs = raw.info['sfreq']  # sampling in Hz
 power, phase_lock = induced_power(data, Fs=Fs, frequencies=frequencies,
                                    n_cycles=2, n_jobs=1, use_fft=False)
 
-power /= np.mean(power[:,:,times<0], axis=2)[:,:,None] # baseline ratio
+power /= np.mean(power[:, :, times < 0], axis=2)[:, :, None]  # baseline ratio
 
 ###############################################################################
 # View time-frequency plots
@@ -74,7 +74,7 @@ pl.xlim(times[0], times[-1])
 pl.ylim(-150, 300)
 
 pl.subplot(3, 1, 2)
-pl.imshow(20*np.log10(power[0]), extent=[times[0], times[-1],
+pl.imshow(20 * np.log10(power[0]), extent=[times[0], times[-1],
                                       frequencies[0], frequencies[-1]],
           aspect='auto', origin='lower')
 pl.xlabel('Time (s)')
diff --git a/mne/bem_surfaces.py b/mne/bem_surfaces.py
index c9fc3db..90fbb0f 100755
--- a/mne/bem_surfaces.py
+++ b/mne/bem_surfaces.py
@@ -178,8 +178,8 @@ def _complete_surface_info(this):
     #
     #   Main triangulation
     #
-    print '\tCompleting triangulation info...'
-    print 'triangle normals...'
+    print '\tCompleting triangulation info...',
+    print 'triangle normals...',
     this['tri_area'] = np.zeros(this['ntri'])
     r1 = this['rr'][this['tris'][:, 0], :]
     r2 = this['rr'][this['tris'][:, 1], :]
@@ -197,7 +197,7 @@ def _complete_surface_info(this):
     #
     #   Accumulate the vertex normals
     #
-    print 'vertex normals...'
+    print 'vertex normals...',
     this['nn'] = np.zeros((this['np'], 3))
     for p in range(this['ntri']):
         this['nn'][this['tris'][p, :], :] = this['nn'][this['tris'][p, :], :] \
@@ -205,7 +205,7 @@ def _complete_surface_info(this):
     #
     #   Compute the lengths of the vertex normals and scale
     #
-    print 'normalize...'
+    print 'normalize...',
     for p in range(this['np']):
         size = linalg.norm(this['nn'][p, :])
         if size > 0:
diff --git a/mne/fiff/__init__.py b/mne/fiff/__init__.py
index 60aef75..67a9b03 100755
--- a/mne/fiff/__init__.py
+++ b/mne/fiff/__init__.py
@@ -12,4 +12,3 @@ from .raw import Raw, read_raw_segment, read_raw_segment_times, \
                  start_writing_raw, write_raw_buffer, finish_writing_raw
 from .pick import pick_types, pick_channels
 from .compensator import get_current_comp
-
diff --git a/mne/fiff/bunch.py b/mne/fiff/bunch.py
index 5d226fe..3e4545e 100755
--- a/mne/fiff/bunch.py
+++ b/mne/fiff/bunch.py
@@ -3,6 +3,7 @@
 #
 # License: BSD (3-clause)
 
+
 class Bunch(dict):
     """ Container object for datasets: dictionnary-like object that
         exposes its keys as attributes.
@@ -11,4 +12,3 @@ class Bunch(dict):
     def __init__(self, **kwargs):
         dict.__init__(self, kwargs)
         self.__dict__ = self
-
diff --git a/mne/fiff/channels.py b/mne/fiff/channels.py
index 7b6b530..9e3c708 100755
--- a/mne/fiff/channels.py
+++ b/mne/fiff/channels.py
@@ -26,11 +26,10 @@ def _read_bad_channels(fid, node):
     """
     nodes = dir_tree_find(node, FIFF.FIFFB_MNE_BAD_CHANNELS)
 
-    bads = [];
+    bads = []
     if len(nodes) > 0:
         for node in nodes:
             tag = find_tag(fid, node, FIFF.FIFF_MNE_CH_NAME_LIST)
             if tag.data is not None:
                 bads = tag.data.split(':')
     return bads
-
diff --git a/mne/fiff/constants.py b/mne/fiff/constants.py
index 363f5e1..c1242b2 100755
--- a/mne/fiff/constants.py
+++ b/mne/fiff/constants.py
@@ -90,16 +90,16 @@ 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 param q0 obsolete for unit quaternion
+FIFF.FIFFV_QUAT_1   = 701   # Quaternion param q1 rotation
+FIFF.FIFFV_QUAT_2   = 702   # Quaternion param q2 rotation
+FIFF.FIFFV_QUAT_3   = 703   # Quaternion param q3 rotation
+FIFF.FIFFV_QUAT_4   = 704   # Quaternion param q4 translation
+FIFF.FIFFV_QUAT_5   = 705   # Quaternion param q5 translation
+FIFF.FIFFV_QUAT_6   = 706   # Quaternion param 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
 #
@@ -119,22 +119,22 @@ FIFF.FIFFV_COORD_IMAGING_DEVICE = 9
 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_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_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_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
 #
@@ -217,46 +217,46 @@ 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:
+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_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_TYPE          = 3518    # Surface or volume
+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_TYPE          = 3518  # Surface or volume
 
-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_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_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_NFREE              = 3536  # Number of degrees of freedom
 #
 # 3540... Inverse operator
 #
@@ -428,10 +428,10 @@ FIFF.FIFF_UNIT_LX  = 116
 #
 # Others we need
 #
-FIFF.FIFF_UNIT_T_M   = 201 # T/m
-FIFF.FIFF_UNIT_AM    = 202 # Am
-FIFF.FIFF_UNIT_AM_M2 = 203 # Am/m^2
-FIFF.FIFF_UNIT_AM_M3 = 204 # Am/m^3
+FIFF.FIFF_UNIT_T_M   = 201  # T/m
+FIFF.FIFF_UNIT_AM    = 202  # Am
+FIFF.FIFF_UNIT_AM_M2 = 203  # Am/m^2
+FIFF.FIFF_UNIT_AM_M3 = 204  # Am/m^3
 #
 # Multipliers
 #
diff --git a/mne/fiff/ctf.py b/mne/fiff/ctf.py
index 6386520..d59f9a1 100755
--- a/mne/fiff/ctf.py
+++ b/mne/fiff/ctf.py
@@ -31,17 +31,18 @@ def _read_named_matrix(fid, node, matkind):
                     node = node.children(k)
                     break
         else:
-            raise ValueError, 'Desired named matrix (kind = %d) not' \
-                              ' available' % matkind
+            raise ValueError('Desired named matrix (kind = %d) not'
+                             ' available' % matkind)
 
     else:
         if not has_tag(node, matkind):
-            raise 'Desired named matrix (kind = %d) not available' % matkind
+            raise ValueError('Desired named matrix (kind = %d) not available'
+                                                                    % matkind)
 
     #   Read everything we need
     tag = find_tag(fid, node, matkind)
     if tag is None:
-        raise ValueError, 'Matrix data missing'
+        raise ValueError('Matrix data missing')
     else:
         data = tag.data
 
@@ -49,14 +50,14 @@ def _read_named_matrix(fid, node, matkind):
     tag = find_tag(fid, node, FIFF.FIFF_MNE_NROW)
     if tag is not None:
         if tag.data != nrow:
-            raise ValueError, 'Number of rows in matrix data and ' \
-                              'FIFF_MNE_NROW tag do not match'
+            raise ValueError('Number of rows in matrix data and '
+                             'FIFF_MNE_NROW tag do not match')
 
     tag = find_tag(fid, node, FIFF.FIFF_MNE_NCOL)
     if tag is not None:
         if tag.data != ncol:
-            raise ValueError, 'Number of columns in matrix data and ' \
-                              'FIFF_MNE_NCOL tag do not match'
+            raise ValueError('Number of columns in matrix data and '
+                             'FIFF_MNE_NCOL tag do not match')
 
     tag = find_tag(fid, node, FIFF.FIFF_MNE_ROW_NAMES)
     if tag is not None:
@@ -110,7 +111,7 @@ def read_ctf_comp(fid, node, chs):
 
     for node in comps:
         # XXX
-        raise NotImplementedError, "CTF data processing is not supported yet"
+        raise NotImplementedError("CTF data processing is not supported yet")
 
         #
         # #   Read the data we need
@@ -223,7 +224,7 @@ def write_ctf_comp(fid, comps):
         return
 
     # XXX
-    raise NotImplementedError, "CTF data processing is not supported yet"
+    raise NotImplementedError("CTF data processing is not supported yet")
 
     # #  This is very simple in fact
     # start_block(fid, FIFF.FIFFB_MNE_CTF_COMP)
diff --git a/mne/fiff/diff.py b/mne/fiff/diff.py
index 88e4f61..2305d4f 100755
--- a/mne/fiff/diff.py
+++ b/mne/fiff/diff.py
@@ -4,6 +4,7 @@
 
 import numpy as np
 
+
 def is_equal(first, second):
     """ Says if 2 python structures are the same. Designed to
     handle dict, list, np.ndarray etc.
@@ -14,7 +15,7 @@ def is_equal(first, second):
         all_equal = False
     if isinstance(first, dict):
         for key in first.keys():
-            if (not second.has_key(key)):
+            if (not key in second):
                 print "Missing key %s in %s" % (key, second)
                 all_equal = False
             else:
@@ -33,4 +34,3 @@ def is_equal(first, second):
             print '%s and\n%s are different' % (first, second)
             all_equal = False
     return all_equal
-
diff --git a/mne/fiff/evoked.py b/mne/fiff/evoked.py
index 915c866..aadd7a0 100755
--- a/mne/fiff/evoked.py
+++ b/mne/fiff/evoked.py
@@ -70,23 +70,25 @@ class Evoked(object):
         processed = dir_tree_find(meas, FIFF.FIFFB_PROCESSED_DATA)
         if len(processed) == 0:
             fid.close()
-            raise ValueError, 'Could not find processed data'
+            raise ValueError('Could not find processed data')
 
         evoked_node = dir_tree_find(meas, FIFF.FIFFB_EVOKED)
         if len(evoked_node) == 0:
             fid.close()
-            raise ValueError, 'Could not find evoked data'
+            raise ValueError('Could not find evoked data')
 
         if setno is None:
             if len(evoked_node) > 1:
                 fid.close()
-                raise ValueError, '%d datasets present. setno parameter mush be set'
+                raise ValueError('%d datasets present. '
+                                 'setno parameter mush be set'
+                                 % len(evoked_node))
             else:
                 setno = 0
 
         if setno >= len(evoked_node) or setno < 0:
             fid.close()
-            raise ValueError, 'Data set selector out of range'
+            raise ValueError('Data set selector out of range')
 
         my_evoked = evoked_node[setno]
 
@@ -130,26 +132,28 @@ class Evoked(object):
         if nchan > 0:
             if chs is None:
                 fid.close()
-                raise ValueError, 'Local channel information was not found ' \
-                                  'when it was expected.'
+                raise ValueError('Local channel information was not found '
+                                 'when it was expected.')
 
             if len(chs) != nchan:
                 fid.close()
-                raise ValueError, 'Number of channels and number of channel ' \
-                                  'definitions are different'
+                raise ValueError('Number of channels and number of channel '
+                                 'definitions are different')
 
             info['chs'] = chs
             info['nchan'] = nchan
-            print '\tFound channel information in evoked data. nchan = %d' % nchan
+            print ('\tFound channel information in evoked data. nchan = %d'
+                                                                    % nchan)
             if sfreq > 0:
                 info['sfreq'] = sfreq
 
         nsamp = last - first + 1
         print '\tFound the data of interest:'
         print '\t\tt = %10.2f ... %10.2f ms (%s)' % (
-             1000*first/info['sfreq'], 1000*last/info['sfreq'], comment)
+            1000 * first / info['sfreq'], 1000 * last / info['sfreq'], comment)
         if info['comps'] is not None:
-            print '\t\t%d CTF compensation matrices available' % len(info['comps'])
+            print ('\t\t%d CTF compensation matrices available'
+                                                          % len(info['comps']))
 
         # Read the data in the aspect block
         nave = 1
@@ -175,8 +179,8 @@ class Evoked(object):
         nepoch = len(epoch)
         if nepoch != 1 and nepoch != info.nchan:
             fid.close()
-            raise ValueError, 'Number of epoch tags is unreasonable '\
-                              '(nepoch = %d nchan = %d)' % (nepoch, info.nchan)
+            raise ValueError('Number of epoch tags is unreasonable '
+                             '(nepoch = %d nchan = %d)' % (nepoch, info.nchan))
 
         if nepoch == 1:
             # Only one epoch
@@ -193,12 +197,12 @@ class Evoked(object):
 
         if all_data.shape[1] != nsamp:
             fid.close()
-            raise ValueError, 'Incorrect number of samples (%d instead of %d)' % (
-                                        all_data.shape[1], nsamp)
+            raise ValueError('Incorrect number of samples (%d instead of %d)'
+                              % (all_data.shape[1], nsamp))
 
         # Calibrate
         cals = np.array([info['chs'][k].cal for k in range(info['nchan'])])
-        all_data = np.dot(np.diag(cals.ravel()), all_data) # XXX : can be better
+        all_data = cals[:, None] * all_data
 
         times = np.arange(first, last + 1, dtype=np.float) / info['sfreq']
 
@@ -215,7 +219,7 @@ class Evoked(object):
                 imax = len(times)
             else:
                 imax = int(np.where(times <= bmax)[0][-1]) + 1
-            all_data -= np.mean(all_data[:, imin:imax], axis=1)[:,None]
+            all_data -= np.mean(all_data[:, imin:imax], axis=1)[:, None]
         else:
             print "No baseline correction applied..."
 
@@ -270,7 +274,7 @@ class Evoked(object):
         write_int(fid, FIFF.FIFF_NAVE, self.nave)
 
         decal = np.zeros((self.info['nchan'], self.info['nchan']))
-        for k in range(self.info['nchan']): # XXX : can be improved
+        for k in range(self.info['nchan']):
             decal[k, k] = 1.0 / self.info['chs'][k]['cal']
 
         write_float_matrix(fid, FIFF.FIFF_EPOCH, np.dot(decal, self.data))
@@ -303,7 +307,7 @@ class Evoked(object):
         self.times = times[mask]
         self.first = - int(np.sum(self.times < 0))
         self.last = int(np.sum(self.times > 0))
-        self.data = self.data[:,mask]
+        self.data = self.data[:, mask]
 
 
 def read_evoked(fname, setno=0, baseline=None):
diff --git a/mne/fiff/matrix.py b/mne/fiff/matrix.py
index 595a432..ebf4823 100755
--- a/mne/fiff/matrix.py
+++ b/mne/fiff/matrix.py
@@ -31,28 +31,32 @@ def _read_named_matrix(fid, node, matkind):
                     node = node.children[k]
                     break
         else:
-            raise ValueError, 'Desired named matrix (kind = %d) not available' % matkind
+            raise ValueError('Desired named matrix (kind = %d) not available'
+                             % matkind)
     else:
-       if not has_tag(node, matkind):
-          raise ValueError, 'Desired named matrix (kind = %d) not available' % matkind
+        if not has_tag(node, matkind):
+            raise ValueError('Desired named matrix (kind = %d) not available'
+                             % matkind)
 
     #   Read everything we need
     tag = find_tag(fid, node, matkind)
     if tag is None:
-       raise ValueError, 'Matrix data missing'
+        raise ValueError('Matrix data missing')
     else:
-       data = tag.data;
+        data = tag.data
 
     nrow, ncol = data.shape
     tag = find_tag(fid, node, FIFF.FIFF_MNE_NROW)
     if tag is not None:
-       if tag.data != nrow:
-          raise ValueError, 'Number of rows in matrix data and FIFF_MNE_NROW tag do not match'
+        if tag.data != nrow:
+            raise ValueError('Number of rows in matrix data and FIFF_MNE_NROW '
+                             'tag do not match')
 
     tag = find_tag(fid, node, FIFF.FIFF_MNE_NCOL)
     if tag is not None:
-       if tag.data != ncol:
-          raise ValueError, 'Number of columns in matrix data and FIFF_MNE_NCOL tag do not match'
+        if tag.data != ncol:
+            raise ValueError('Number of columns in matrix data and '
+                             'FIFF_MNE_NCOL tag do not match')
 
     tag = find_tag(fid, node, FIFF.FIFF_MNE_ROW_NAMES)
     if tag is not None:
diff --git a/mne/fiff/open.py b/mne/fiff/open.py
index 7ee6ec6..4d27c7b 100755
--- a/mne/fiff/open.py
+++ b/mne/fiff/open.py
@@ -32,25 +32,24 @@ def fiff_open(fname, verbose=False):
         list of nodes.
 
     """
-
-    fid = open(fname, "rb") # Open in binary mode
+    fid = open(fname, "rb")  # Open in binary mode
 
     tag = read_tag_info(fid)
 
     #   Check that this looks like a fif file
     if tag.kind != FIFF.FIFF_FILE_ID:
-        raise ValueError, 'file does not start with a file id tag'
+        raise ValueError('file does not start with a file id tag')
 
     if tag.type != FIFF.FIFFT_ID_STRUCT:
-        raise ValueError, 'file does not start with a file id tag'
+        raise ValueError('file does not start with a file id tag')
 
     if tag.size != 20:
-        raise ValueError, 'file does not start with a file id tag'
+        raise ValueError('file does not start with a file id tag')
 
     tag = read_tag(fid)
 
     if tag.kind != FIFF.FIFF_DIR_POINTER:
-        raise ValueError, 'file does have a directory pointer'
+        raise ValueError('file does have a directory pointer')
 
     #   Read or create the directory tree
     if verbose:
diff --git a/mne/fiff/pick.py b/mne/fiff/pick.py
index 22a7dc8..262bc6f 100755
--- a/mne/fiff/pick.py
+++ b/mne/fiff/pick.py
@@ -8,6 +8,7 @@ from copy import copy
 import numpy as np
 from .constants import FIFF
 
+
 def channel_type(info, idx):
     """Get channel type
 
@@ -159,7 +160,7 @@ def pick_info(info, sel=[]):
 
     res = copy(info)
     if len(sel) == 0:
-        raise ValueError, 'Warning : No channels match the selection.'
+        raise ValueError('Warning : No channels match the selection.')
 
     res['chs'] = [res['chs'][k] for k in sel]
     res['ch_names'] = [res['ch_names'][k] for k in sel]
@@ -195,7 +196,7 @@ def pick_channels_evoked(orig, include=[], exclude=[]):
                         exclude=exclude)
 
     if len(sel) == 0:
-        raise ValueError, 'Warning : No channels match the selection.'
+        raise ValueError('Warning : No channels match the selection.')
 
     res = copy(orig)
     #
@@ -205,7 +206,7 @@ def pick_channels_evoked(orig, include=[], exclude=[]):
     #
     #   Create the reduced data set
     #
-    res.data = res.data[sel,:]
+    res.data = res.data[sel, :]
 
     return res
 
@@ -242,7 +243,7 @@ def pick_channels_forward(orig, include=[], exclude=[]):
     #   Do we have something?
     nuse = len(sel)
     if nuse == 0:
-        raise ValueError, 'Nothing remains after picking'
+        raise ValueError('Nothing remains after picking')
 
     print '\t%d out of %d channels remain after picking' % (nuse,
                                                             fwd['nchan'])
@@ -262,6 +263,7 @@ def pick_channels_forward(orig, include=[], exclude=[]):
 
     return fwd
 
+
 def channel_indices_by_type(info):
     """Get indices of channels by type
     """
diff --git a/mne/fiff/proj.py b/mne/fiff/proj.py
index 920ef76..7f8b41b 100755
--- a/mne/fiff/proj.py
+++ b/mne/fiff/proj.py
@@ -60,37 +60,38 @@ def read_proj(fid, node):
             if tag is not None:
                 desc = tag.data
             else:
-                raise ValueError, 'Projection item description missing'
+                raise ValueError('Projection item description missing')
 
-        tag = find_tag(fid, item, FIFF.FIFF_PROJ_ITEM_CH_NAME_LIST)
-        if tag is not None:
-            namelist = tag.data
-        else:
-            raise ValueError, 'Projection item channel list missing'
+        # XXX : is this useful ?
+        # tag = find_tag(fid, item, FIFF.FIFF_PROJ_ITEM_CH_NAME_LIST)
+        # if tag is not None:
+        #     namelist = tag.data
+        # else:
+        #     raise ValueError('Projection item channel list missing')
 
         tag = find_tag(fid, item, FIFF.FIFF_PROJ_ITEM_KIND)
         if tag is not None:
             kind = int(tag.data)
         else:
-            raise ValueError, 'Projection item kind missing'
+            raise ValueError('Projection item kind missing')
 
         tag = find_tag(fid, item, FIFF.FIFF_PROJ_ITEM_NVEC)
         if tag is not None:
             nvec = int(tag.data)
         else:
-            raise ValueError, 'Number of projection vectors not specified'
+            raise ValueError('Number of projection vectors not specified')
 
         tag = find_tag(fid, item, FIFF.FIFF_PROJ_ITEM_CH_NAME_LIST)
         if tag is not None:
             names = tag.data.split(':')
         else:
-            raise ValueError, 'Projection item channel list missing'
+            raise ValueError('Projection item channel list missing')
 
         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'
+            raise ValueError('Projection item data missing')
 
         tag = find_tag(fid, item, FIFF.FIFF_MNE_PROJ_ITEM_ACTIVE)
         if tag is not None:
@@ -99,8 +100,8 @@ def read_proj(fid, node):
             active = False
 
         if data.shape[1] != len(names):
-            raise ValueError, ('Number of channel names does not match the '
-                               'size of data matrix')
+            raise ValueError('Number of channel names does not match the '
+                             'size of data matrix')
 
         #   Use exactly the same fields in data as in a named matrix
         one = Bunch(kind=kind, active=active, desc=desc,
@@ -162,6 +163,7 @@ def write_proj(fid, projs):
 
     end_block(fid, FIFF.FIFFB_PROJ)
 
+
 ###############################################################################
 # Utils
 
@@ -188,7 +190,7 @@ def make_projector(projs, ch_names, bads=[]):
     """
     nchan = len(ch_names)
     if nchan == 0:
-        raise ValueError, 'No channel names specified'
+        raise ValueError('No channel names specified')
 
     proj = np.eye(nchan, nchan)
     nproj = 0
@@ -214,45 +216,44 @@ def make_projector(projs, ch_names, bads=[]):
     nonzero = 0
     for k, p in enumerate(projs):
         if p.active:
-            one = p # XXX really necessary?
-            if len(one['data']['col_names']) != \
-                        len(np.unique(one['data']['col_names'])):
-                raise ValueError, ('Channel name list in projection item %d'
-                                  ' contains duplicate items' % k)
+            if len(p['data']['col_names']) != \
+                        len(np.unique(p['data']['col_names'])):
+                raise ValueError('Channel name list in projection item %d'
+                                 ' contains duplicate items' % k)
 
             # Get the two selection vectors to pick correct elements from
             # the projection vectors omitting bad channels
             sel = []
             vecsel = []
             for c, name in enumerate(ch_names):
-                if name in one['data']['col_names']:
+                if name in p['data']['col_names']:
                     sel.append(c)
-                    vecsel.append(one['data']['col_names'].index(name))
+                    vecsel.append(p['data']['col_names'].index(name))
 
             # If there is something to pick, pickit
             if len(sel) > 0:
-                for v in range(one['data']['nrow']):
-                    vecs[sel, nvec+v] = one['data']['data'][v, vecsel].T
+                for v in range(p['data']['nrow']):
+                    vecs[sel, nvec + v] = p['data']['data'][v, vecsel].T
 
             # Rescale for better detection of small singular values
-            for v in range(one['data']['nrow']):
-                onesize = sqrt(np.sum(vecs[:, nvec + v] * vecs[:, nvec + v]))
-                if onesize > 0:
-                    vecs[:, nvec+v] /= onesize
+            for v in range(p['data']['nrow']):
+                psize = sqrt(np.sum(vecs[:, nvec + v] * vecs[:, nvec + v]))
+                if psize > 0:
+                    vecs[:, nvec + v] /= psize
                     nonzero += 1
 
-            nvec += one['data']['nrow']
+            nvec += p['data']['nrow']
 
     #   Check whether all of the vectors are exactly zero
     if nonzero == 0:
         return proj, nproj, U
 
     # Reorthogonalize the vectors
-    U, S, V = linalg.svd(vecs[:,:nvec], full_matrices=False)
+    U, S, V = linalg.svd(vecs[:, :nvec], full_matrices=False)
 
     # Throw away the linearly dependent guys
     nproj = np.sum((S / S[0]) > 1e-2)
-    U = U[:,:nproj]
+    U = U[:, :nproj]
 
     # Here is the celebrated result
     proj -= np.dot(U, U.T)
diff --git a/mne/fiff/raw.py b/mne/fiff/raw.py
index 4ee74b9..702da96 100755
--- a/mne/fiff/raw.py
+++ b/mne/fiff/raw.py
@@ -100,13 +100,13 @@ class Raw(dict):
             elif ent.kind == FIFF.FIFF_DATA_BUFFER:
                 #   Figure out the number of samples in this buffer
                 if ent.type == FIFF.FIFFT_DAU_PACK16:
-                    nsamp = ent.size / (2*nchan)
+                    nsamp = ent.size / (2 * nchan)
                 elif ent.type == FIFF.FIFFT_SHORT:
-                    nsamp = ent.size / (2*nchan)
+                    nsamp = ent.size / (2 * nchan)
                 elif ent.type == FIFF.FIFFT_FLOAT:
-                    nsamp = ent.size / (4*nchan)
+                    nsamp = ent.size / (4 * nchan)
                 elif ent.type == FIFF.FIFFT_INT:
-                    nsamp = ent.size / (4*nchan)
+                    nsamp = ent.size / (4 * nchan)
                 else:
                     fid.close()
                     raise ValueError('Cannot handle data buffers of type %d' %
@@ -122,9 +122,9 @@ class Raw(dict):
                 if nskip > 0:
                     import pdb; pdb.set_trace()
                     rawdir.append(dict(ent=None, first=first_samp,
-                                       last=first_samp + nskip*nsamp - 1,
-                                       nsamp=nskip*nsamp))
-                    first_samp += nskip*nsamp
+                                       last=first_samp + nskip * nsamp - 1,
+                                       nsamp=nskip * nsamp))
+                    first_samp += nskip * nsamp
                     nskip = 0
 
                 #  Add a data buffer
@@ -156,8 +156,8 @@ class Raw(dict):
 
     def __getitem__(self, item):
         """getting raw data content with python slicing"""
-        if isinstance(item, tuple): # slicing required
-            if len(item) == 2: # channels and time instants
+        if isinstance(item, tuple):  # slicing required
+            if len(item) == 2:  # channels and time instants
                 time_slice = item[1]
                 if isinstance(item[0], slice):
                     start = item[0].start if item[0].start is not None else 0
@@ -321,11 +321,11 @@ def read_raw_segment(raw, start=0, stop=None, sel=None):
             cal = np.diag(raw.cals[sel].ravel())
         else:
             if raw.proj is None:
-                mult = raw.comp[sel,:] * cal
+                mult = raw.comp[sel, :] * cal
             elif raw.comp is None:
-                mult = raw.proj[sel,:] * cal
+                mult = raw.proj[sel, :] * cal
             else:
-                mult = raw.proj[sel,:] * raw.comp * cal
+                mult = raw.proj[sel, :] * raw.comp * cal
 
     do_debug = False
     # do_debug = True
@@ -361,7 +361,7 @@ def read_raw_segment(raw, start=0, stop=None, sel=None):
                     else:
                         one = tag.data.reshape(this['nsamp'],
                                                nchan).astype(np.float).T
-                        one = cal * one[sel,:]
+                        one = cal * one[sel, :]
                 else:
                     one = mult * tag.data.reshape(this['nsamp'],
                                                   nchan).astype(np.float).T
@@ -396,17 +396,17 @@ def read_raw_segment(raw, start=0, stop=None, sel=None):
             #   Now we are ready to pick
             picksamp = last_pick - first_pick
             if picksamp > 0:
-                data[:, dest:dest+picksamp] = one[:, first_pick:last_pick]
+                data[:, dest:(dest + picksamp)] = one[:, first_pick:last_pick]
                 dest += picksamp
 
         #   Done?
-        if this['last'] >= stop-1:
+        if this['last'] >= stop - 1:
             print ' [done]'
             break
 
     times = (np.arange(start, stop) - raw.first_samp) / raw.info['sfreq']
 
-    raw.fid.seek(0, 0) # Go back to beginning of the file
+    raw.fid.seek(0, 0)  # Go back to beginning of the file
 
     return data, times
 
@@ -580,7 +580,7 @@ def start_writing_raw(name, info, sel=None):
         #
         #   Scan numbers may have been messed up
         #
-        chs[k].scanno = k + 1 # scanno starts at 1 in FIF format
+        chs[k].scanno = k + 1  # scanno starts at 1 in FIF format
         chs[k].range = 1.0
         cals.append(chs[k]['cal'])
         write_ch_info(fid, chs[k])
@@ -611,7 +611,7 @@ def write_raw_buffer(fid, buf, cals):
     if buf.shape[0] != len(cals):
         raise ValueError('buffer and calibration sizes do not match')
 
-    write_float(fid, FIFF.FIFF_DATA_BUFFER, # XXX can do better
+    write_float(fid, FIFF.FIFF_DATA_BUFFER,  # XXX can do better
                                     np.dot(np.diag(1.0 / np.ravel(cals)), buf))
 
 
diff --git a/mne/fiff/tests/test_evoked.py b/mne/fiff/tests/test_evoked.py
index d14bbcb..386fe30 100755
--- a/mne/fiff/tests/test_evoked.py
+++ b/mne/fiff/tests/test_evoked.py
@@ -16,9 +16,9 @@ def test_io_evoked():
     write_evoked('evoked.fif', ave)
     ave2 = read_evoked('evoked.fif')
 
-    print assert_array_almost_equal(ave.data, ave2.data)
-    print assert_array_almost_equal(ave.times, ave2.times)
-    print assert_equal(ave.nave, ave2.nave)
-    print assert_equal(ave.aspect_kind, ave2.aspect_kind)
-    print assert_equal(ave.last, ave2.last)
-    print assert_equal(ave.first, ave2.first)
+    assert_array_almost_equal(ave.data, ave2.data)
+    assert_array_almost_equal(ave.times, ave2.times)
+    assert_equal(ave.nave, ave2.nave)
+    assert_equal(ave.aspect_kind, ave2.aspect_kind)
+    assert_equal(ave.last, ave2.last)
+    assert_equal(ave.first, ave2.first)
diff --git a/mne/fiff/tree.py b/mne/fiff/tree.py
index ddd2cfa..bccd879 100755
--- a/mne/fiff/tree.py
+++ b/mne/fiff/tree.py
@@ -46,7 +46,7 @@ def make_dir_tree(fid, directory, start=0, indent=0, verbose=False):
         block = 0
 
     if verbose:
-        print '\t'*indent + 'start { %d' % block
+        print '\t' * indent + 'start { %d' % block
 
     this = start
 
@@ -63,7 +63,7 @@ def make_dir_tree(fid, directory, start=0, indent=0, verbose=False):
         if directory[this].kind == FIFF_BLOCK_START:
             if this != start:
                 child, this = make_dir_tree(fid, directory, this,
-                                                        indent+1, verbose)
+                                                        indent + 1, verbose)
                 tree.nchild += 1
                 tree.children.append(child)
         elif directory[this].kind == FIFF_BLOCK_END:
@@ -96,9 +96,9 @@ def make_dir_tree(fid, directory, start=0, indent=0, verbose=False):
         tree.directory = None
 
     if verbose:
-        print '\t'*(indent+1) + 'block = %d nent = %d nchild = %d' % (
+        print '\t' * (indent + 1) + 'block = %d nent = %d nchild = %d' % (
                                 tree.block, tree.nent, tree.nchild)
-        print '\t'*indent, 'end } %d' % block
+        print '\t' * indent, 'end } %d' % block
 
     last = this
     return tree, last
@@ -114,13 +114,7 @@ from .write import write_id, start_block, end_block, _write
 
 
 def copy_tree(fidin, in_id, nodes, fidout):
-    """
-    %
-    %    fiff_copy_tree(fidin, in_id, nodes, fidout)
-    %
-    %    Copies directory subtrees from fidin to fidout
-    %
-    """
+    """Copies directory subtrees from fidin to fidout"""
 
     if len(nodes) <= 0:
         return
@@ -147,7 +141,7 @@ def copy_tree(fidin, in_id, nodes, fidout):
             #   Read and write tags, pass data through transparently
             fidin.seek(d.pos, 0)
 
-            s = fidin.read(4*4)
+            s = fidin.read(4 * 4)
             tag = Tag(*struct.unpack(">iIii", s))
             tag.data = np.fromfile(fidin, dtype='>B', count=tag.size)
 
diff --git a/mne/label.py b/mne/label.py
index 8634606..b5ab431 100755
--- a/mne/label.py
+++ b/mne/label.py
@@ -67,7 +67,7 @@ def label_time_courses(labelfile, stcfile):
                    if stc['vertices'][k] in vertices]
 
     if len(vertices) == 0:
-        raise ValueError, 'No vertices match the label in the stc file'
+        raise ValueError('No vertices match the label in the stc file')
 
     values = stc['data'][idx]
     times = stc['tmin'] + stc['tstep'] * np.arange(stc['data'].shape[1])
diff --git a/mne/layouts/__init__.py b/mne/layouts/__init__.py
index 481ce9b..9109855 100755
--- a/mne/layouts/__init__.py
+++ b/mne/layouts/__init__.py
@@ -1 +1 @@
-from .layout import Layout
\ No newline at end of file
+from .layout import Layout
diff --git a/mne/layouts/layout.py b/mne/layouts/layout.py
index 6c55fd8..8ebf3ca 100755
--- a/mne/layouts/layout.py
+++ b/mne/layouts/layout.py
@@ -20,7 +20,7 @@ class Layout(object):
         lout_fname = op.join(path, kind + '.lout')
 
         f = open(lout_fname)
-        f.readline() # skip first line
+        f.readline()  # skip first line
 
         names = []
         pos = []
@@ -41,9 +41,9 @@ class Layout(object):
 
         scaling = max(np.max(pos[:, 0]), np.max(pos[:, 1])) + pos[0, 2]
         pos /= scaling
-        pos[:,:2] += 0.03
-        pos[:,:2] *= 0.97 / 1.03
-        pos[:,2:] *= 0.94
+        pos[:, :2] += 0.03
+        pos[:, :2] *= 0.97 / 1.03
+        pos[:, 2:] *= 0.94
 
         f.close()
 
@@ -52,14 +52,14 @@ class Layout(object):
         self.names = names
 
 # if __name__ == '__main__':
-# 
+#
 #     layout = Layout()
-# 
+#
 #     import pylab as pl
 #     pl.rcParams['axes.edgecolor'] = 'w'
 #     pl.close('all')
 #     pl.figure(facecolor='k', )
-# 
+#
 #     for i in range(5):
 #     # for i in range(len(pos)):
 #         ax = pl.axes(layout.pos[i], axisbg='k')
@@ -67,5 +67,5 @@ class Layout(object):
 #         pl.xticks([], ())
 #         pl.yticks([], ())
 #         pl.gca().grid(color='w')
-# 
+#
 #     pl.show()
diff --git a/mne/misc.py b/mne/misc.py
index 1ca6a2f..36dffd7 100644
--- a/mne/misc.py
+++ b/mne/misc.py
@@ -3,6 +3,7 @@
 #
 # License: BSD (3-clause)
 
+
 def parse_config(fname):
     """Parse a config file (like .ave and .cov files)
 
@@ -25,12 +26,12 @@ def parse_config(fname):
         with open(fname, 'r') as f:
             lines = f.readlines()
     except:
-        print("Error while reading %s" % fname)
+        raise ValueError("Error while reading %s" % fname)
 
     cat_ind = [i for i, x in enumerate(lines) if "category {" in x]
     event_dict = dict()
     for ind in cat_ind:
-        for k in range(ind+1, ind+7):
+        for k in range(ind + 1, ind + 7):
             words = lines[k].split()
             if len(words) >= 2:
                 key = words[0]
@@ -40,7 +41,7 @@ def parse_config(fname):
         else:
             raise ValueError('Could not find event id.')
         event_dict[event] = dict(**reject_params)
-        for k in range(ind+1, ind+7):
+        for k in range(ind + 1, ind + 7):
             words = lines[k].split()
             if len(words) >= 2:
                 key = words[0]
@@ -55,6 +56,7 @@ def parse_config(fname):
                     event_dict[event][key] = float(words[1])
     return event_dict
 
+
 def read_reject_parameters(fname):
     """Read rejection parameters from .cov or .ave config file"""
 
@@ -62,20 +64,21 @@ def read_reject_parameters(fname):
         with open(fname, 'r') as f:
             lines = f.readlines()
     except:
-        print("Error while reading %s" % fname)
+        raise ValueError("Error while reading %s" % fname)
 
-    reject_names = ['gradReject', 'magReject', 'eegReject', 'eogReject', 'ecgReject']
+    reject_names = ['gradReject', 'magReject', 'eegReject', 'eogReject',
+                    'ecgReject']
     reject_pynames = ['grad', 'mag', 'eeg', 'eog', 'ecg']
     reject = dict()
     for line in lines:
         words = line.split()
-        print words
         if words[0] in reject_names:
             reject[reject_pynames[reject_names.index(words[0])]] = \
                                                                 float(words[1])
 
     return reject
 
+
 def read_flat_parameters(fname):
     """Read flat channel rejection parameters from .cov or .ave config file"""
 
@@ -83,14 +86,13 @@ def read_flat_parameters(fname):
         with open(fname, 'r') as f:
             lines = f.readlines()
     except:
-        print("Error while reading %s" % fname)
+        raise ValueError("Error while reading %s" % fname)
 
     reject_names = ['gradFlat', 'magFlat', 'eegFlat', 'eogFlat', 'ecgFlat']
     reject_pynames = ['grad', 'mag', 'eeg', 'eog', 'ecg']
     flat = dict()
     for line in lines:
         words = line.split()
-        print words
         if words[0] in reject_names:
             flat[reject_pynames[reject_names.index(words[0])]] = \
                                                                 float(words[1])
diff --git a/mne/source_space.py b/mne/source_space.py
index a2cb303..5240b48 100755
--- a/mne/source_space.py
+++ b/mne/source_space.py
@@ -70,7 +70,7 @@ def read_source_spaces_from_tree(fid, tree, add_geom=False):
     #   Find all source spaces
     spaces = dir_tree_find(tree, FIFF.FIFFB_MNE_SOURCE_SPACE)
     if len(spaces) == 0:
-        raise ValueError, 'No source spaces found'
+        raise ValueError('No source spaces found')
 
     src = list()
     for s in spaces:
@@ -123,7 +123,7 @@ def _read_one_source_space(fid, this):
 
     tag = find_tag(fid, this, FIFF.FIFF_MNE_SOURCE_SPACE_NPOINTS)
     if tag is None:
-        raise ValueError, 'Number of vertices not found'
+        raise ValueError('Number of vertices not found')
 
     res['np'] = tag.data
 
@@ -139,40 +139,40 @@ def _read_one_source_space(fid, this):
 
     tag = find_tag(fid, this, FIFF.FIFF_MNE_COORD_FRAME)
     if tag is None:
-        raise ValueError, 'Coordinate frame information not found'
+        raise ValueError('Coordinate frame information not found')
 
     res['coord_frame'] = tag.data
 
     #   Vertices, normals, and triangles
     tag = find_tag(fid, this, FIFF.FIFF_MNE_SOURCE_SPACE_POINTS)
     if tag is None:
-        raise ValueError, 'Vertex data not found'
+        raise ValueError('Vertex data not found')
 
-    res['rr'] = tag.data.astype(np.float) # make it double precision for mayavi
+    res['rr'] = tag.data.astype(np.float)  # double precision for mayavi
     if res['rr'].shape[0] != res['np']:
-        raise ValueError, 'Vertex information is incorrect'
+        raise ValueError('Vertex information is incorrect')
 
     tag = find_tag(fid, this, FIFF.FIFF_MNE_SOURCE_SPACE_NORMALS)
     if tag is None:
-        raise ValueError, 'Vertex normals not found'
+        raise ValueError('Vertex normals not found')
 
     res['nn'] = tag.data
     if res['nn'].shape[0] != res['np']:
-        raise ValueError, 'Vertex normal information is incorrect'
+        raise ValueError('Vertex normal information is incorrect')
 
     if res['ntri'] > 0:
         tag = find_tag(fid, this, FIFF_BEM_SURF_TRIANGLES)
         if tag is None:
             tag = find_tag(fid, this, FIFF.FIFF_MNE_SOURCE_SPACE_TRIANGLES)
             if tag is None:
-                raise ValueError, 'Triangulation not found'
+                raise ValueError('Triangulation not found')
             else:
-                res['tris'] = tag.data - 1 # index start at 0 in Python
+                res['tris'] = tag.data - 1  # index start at 0 in Python
         else:
-            res['tris'] = tag.data - 1 # index start at 0 in Python
+            res['tris'] = tag.data - 1  # index start at 0 in Python
 
         if res['tris'].shape[0] != res['ntri']:
-            raise ValueError, 'Triangulation information is incorrect'
+            raise ValueError('Triangulation information is incorrect')
     else:
         res['tris'] = None
 
@@ -186,12 +186,12 @@ def _read_one_source_space(fid, this):
         res['nuse'] = tag.data
         tag = find_tag(fid, this, FIFF.FIFF_MNE_SOURCE_SPACE_SELECTION)
         if tag is None:
-            raise ValueError, 'Source selection information missing'
+            raise ValueError('Source selection information missing')
 
         res['inuse'] = tag.data.astype(np.int).T
         if len(res['inuse']) != res['np']:
-            raise ValueError, 'Incorrect number of entries in source space ' \
-                              'selection'
+            raise ValueError('Incorrect number of entries in source space '
+                             'selection')
 
         res['vertno'] = np.where(res['inuse'])[0]
 
@@ -203,7 +203,7 @@ def _read_one_source_space(fid, this):
         res['use_tris'] = None
     else:
         res['nuse_tri'] = tag1.data
-        res['use_tris'] = tag2.data - 1 # index start at 0 in Python
+        res['use_tris'] = tag2.data - 1  # index start at 0 in Python
 
     #   Patch-related information
     tag1 = find_tag(fid, this, FIFF.FIFF_MNE_SOURCE_SPACE_NEAREST)
@@ -233,24 +233,25 @@ def complete_source_space_info(this):
     r2 = this['rr'][this['tris'][:, 1], :]
     r3 = this['rr'][this['tris'][:, 2], :]
     this['tri_cent'] = (r1 + r2 + r3) / 3.0
-    this['tri_nn'] = np.cross((r2-r1), (r3-r1))
+    this['tri_nn'] = np.cross((r2 - r1), (r3 - r1))
 
-    for p in range(this['ntri']): # XXX : can do better
-        size = sqrt(np.sum(this['tri_nn'][p,:]**2))
+    for p in range(this['ntri']):  # XXX : can do better
+        size = sqrt(np.sum(this['tri_nn'][p, :] ** 2))
         this['tri_area'][p] = size / 2.0
-        this['tri_nn'][p,:] = this['tri_nn'][p,:] / size
+        this['tri_nn'][p, :] = this['tri_nn'][p, :] / size
 
     print '[done]'
 
     #   Selected triangles
     print '\tCompleting selection triangulation info...',
     if this['nuse_tri'] > 0:
-        r1 = this['rr'][this['use_tris'][:, 0],:]
-        r2 = this['rr'][this['use_tris'][:, 1],:]
-        r3 = this['rr'][this['use_tris'][:, 2],:]
+        r1 = this['rr'][this['use_tris'][:, 0], :]
+        r2 = this['rr'][this['use_tris'][:, 1], :]
+        r3 = this['rr'][this['use_tris'][:, 2], :]
         this['use_tri_cent'] = (r1 + r2 + r3) / 3.0
-        this['use_tri_nn'] = np.cross((r2-r1), (r3-r1))
-        this['use_tri_area'] = np.sqrt(np.sum(this['use_tri_nn']**2, axis=1)) / 2.0
+        this['use_tri_nn'] = np.cross((r2 - r1), (r3 - r1))
+        this['use_tri_area'] = np.sqrt(np.sum(this['use_tri_nn'] ** 2, axis=1)
+                                       ) / 2.0
 
     print '[done]'
 
diff --git a/mne/stats/cluster_level.py b/mne/stats/cluster_level.py
index 599da57..57e693b 100755
--- a/mne/stats/cluster_level.py
+++ b/mne/stats/cluster_level.py
@@ -51,14 +51,15 @@ def _find_clusters(x, threshold, tail=0):
 
     if x.ndim == 1:
         clusters = ndimage.find_objects(labels, n_labels)
-        sums = ndimage.measurements.sum(x, labels, index=range(1, n_labels+1))
+        sums = ndimage.measurements.sum(x, labels,
+                                        index=range(1, n_labels + 1))
     else:
         clusters = list()
         sums = np.empty(n_labels)
-        for l in range(1, n_labels+1):
+        for l in range(1, n_labels + 1):
             c = labels == l
             clusters.append(c)
-            sums[l-1] = np.sum(x[c])
+            sums[l - 1] = np.sum(x[c])
 
     return clusters, sums
 
@@ -73,11 +74,11 @@ def _pval_from_histogram(T, H0, tail):
         raise ValueError('invalid tail parameter')
 
     # from pct to fraction
-    if tail == -1: # up tail
-        pval =  np.array([np.mean(H0 <= t) for t in T])
-    elif tail == 1: # low tail
+    if tail == -1:  # up tail
+        pval = np.array([np.mean(H0 <= t) for t in T])
+    elif tail == 1:  # low tail
         pval = np.array([np.mean(H0 >= t) for t in T])
-    elif tail == 0: # both tails
+    elif tail == 0:  # both tails
         pval = np.array([np.mean(H0 >= abs(t)) for t in T])
         pval += np.array([np.mean(H0 <= -abs(t)) for t in T])
 
@@ -142,13 +143,13 @@ def permutation_cluster_test(X, stat_fun=f_oneway, threshold=1.67,
 
     # make list of indices for random data split
     splits_idx = np.append([0], np.cumsum(n_samples_per_condition))
-    slices = [slice(splits_idx[k], splits_idx[k+1])
+    slices = [slice(splits_idx[k], splits_idx[k + 1])
                                                 for k in range(len(X))]
 
     # Step 2: If we have some clusters, repeat process on permuted data
     # -------------------------------------------------------------------
     if len(clusters) > 0:
-        H0 = np.zeros(n_permutations) # histogram
+        H0 = np.zeros(n_permutations)  # histogram
         for i_s in range(n_permutations):
             np.random.shuffle(X_full)
             X_shuffle_list = [X_full[s] for s in slices]
@@ -226,7 +227,7 @@ def permutation_cluster_t_test(X, threshold=1.67, n_permutations=1000, tail=0):
     # Step 2: If we have some clusters, repeat process on permuted data
     # -------------------------------------------------------------------
     if len(clusters) > 0:
-        H0 = np.empty(n_permutations) # histogram
+        H0 = np.empty(n_permutations)  # histogram
         for i_s in range(n_permutations):
             # new surrogate data with random sign flip
             signs = np.sign(0.5 - np.random.rand(n_samples, *shape_ones))
@@ -238,7 +239,7 @@ def permutation_cluster_t_test(X, threshold=1.67, n_permutations=1000, tail=0):
 
             if len(perm_clusters_sums) > 0:
                 idx_max = np.argmax(np.abs(perm_clusters_sums))
-                H0[i_s] = perm_clusters_sums[idx_max] # get max with sign info
+                H0[i_s] = perm_clusters_sums[idx_max]  # get max with sign info
             else:
                 H0[i_s] = 0
 
@@ -254,7 +255,7 @@ permutation_cluster_t_test.__test__ = False
 # if __name__ == "__main__":
 #     noiselevel = 30
 #     np.random.seed(0)
-# 
+#
 #     # 1D
 #     normfactor = np.hanning(20).sum()
 #     condition1 = np.random.randn(50, 300) * noiselevel
@@ -268,7 +269,7 @@ permutation_cluster_t_test.__test__ = False
 #     pseudoekp = 5 * np.hanning(150)[None,:]
 #     condition1[:, 100:250] += pseudoekp
 #     condition2[:, 100:250] -= pseudoekp
-# 
+#
 #     # Make it 2D
 #     condition1 = np.tile(condition1[:,100:275,None], (1, 1, 15))
 #     condition2 = np.tile(condition2[:,100:275,None], (1, 1, 15))
@@ -278,26 +279,26 @@ permutation_cluster_t_test.__test__ = False
 #     condition2[..., :3] = np.random.randn(*shape2) * noiselevel
 #     condition1[..., -3:] = np.random.randn(*shape1) * noiselevel
 #     condition2[..., -3:] = np.random.randn(*shape2) * noiselevel
-# 
+#
 #     # X, threshold, tail = condition1, 1.67, 1
 #     # X, threshold, tail = -condition1, -1.67, -1
 #     # # X, threshold, tail = condition1, 1.67, 0
 #     # fs, clusters, cluster_p_values, histogram = permutation_cluster_t_test(
 #     #                                     condition1, n_permutations=500, tail=tail,
 #     #                                     threshold=threshold)
-# 
+#
 #     # import pylab as pl
 #     # pl.close('all')
 #     # pl.hist(histogram)
 #     # pl.show()
-# 
+#
 #     fs, clusters, cluster_p_values, histogram = permutation_cluster_test(
 #                                 [condition1, condition2], n_permutations=1000)
-#     
+#
 #     # Plotting for a better understanding
 #     import pylab as pl
 #     pl.close('all')
-#     
+#
 #     if condition1.ndim == 2:
 #         pl.subplot(211)
 #         pl.plot(condition1.mean(axis=0), label="Condition 1")
@@ -319,7 +320,7 @@ permutation_cluster_t_test.__test__ = False
 #         for c, p_val in zip(clusters, cluster_p_values):
 #             if p_val <= 0.05:
 #                 fs_plot[c] = fs[c]
-#     
+#
 #         pl.imshow(fs.T, cmap=pl.cm.gray)
 #         pl.imshow(fs_plot.T, cmap=pl.cm.jet)
 #         # pl.imshow(fs.T, cmap=pl.cm.gray, alpha=0.6)
@@ -327,5 +328,5 @@ permutation_cluster_t_test.__test__ = False
 #         pl.xlabel('time')
 #         pl.ylabel('Freq')
 #         pl.colorbar()
-#     
+#
 #     pl.show()
diff --git a/mne/stats/parametric.py b/mne/stats/parametric.py
index a489a4e..2e807d4 100755
--- a/mne/stats/parametric.py
+++ b/mne/stats/parametric.py
@@ -1,6 +1,7 @@
 import numpy as np
 from scipy import stats
 
+
 # The following function is a rewriting of scipy.stats.f_oneway
 # Contrary to the scipy.stats.f_oneway implementation it does not
 # copy the data while keeping the inputs unchanged.
@@ -46,7 +47,8 @@ def _f_oneway(*args):
     References
     ----------
     .. [1] Lowry, Richard.  "Concepts and Applications of Inferential
-           Statistics". Chapter 14. http://faculty.vassar.edu/lowry/ch14pt1.html
+           Statistics". Chapter 14.
+           http://faculty.vassar.edu/lowry/ch14pt1.html
 
     .. [2] Heiman, G.W.  Research Methods in Statistics. 2002.
 
@@ -54,10 +56,11 @@ def _f_oneway(*args):
     n_classes = len(args)
     n_samples_per_class = np.array([len(a) for a in args])
     n_samples = np.sum(n_samples_per_class)
-    ss_alldata = reduce(lambda x, y: x+y, [np.sum(a**2, axis=0) for a in args])
+    ss_alldata = reduce(lambda x, y: x + y,
+                        [np.sum(a ** 2, axis=0) for a in args])
     sums_args = [np.sum(a, axis=0) for a in args]
-    square_of_sums_alldata = reduce(lambda x, y: x+y, sums_args)**2
-    square_of_sums_args = [s**2 for s in sums_args]
+    square_of_sums_alldata = reduce(lambda x, y: x + y, sums_args) ** 2
+    square_of_sums_args = [s ** 2 for s in sums_args]
     sstot = ss_alldata - square_of_sums_alldata / float(n_samples)
     ssbn = 0
     for k, _ in enumerate(args):
@@ -76,4 +79,3 @@ def _f_oneway(*args):
 def f_oneway(*args):
     """Call scipy.stats.f_oneway, but return only f-value"""
     return _f_oneway(*args)[0]
-
diff --git a/mne/stats/permutations.py b/mne/stats/permutations.py
index 8b1cda7..53eaa0d 100755
--- a/mne/stats/permutations.py
+++ b/mne/stats/permutations.py
@@ -31,14 +31,14 @@ def bin_perm_rep(ndim, a=0, b=1):
     """
 
     # Create the leftmost column as 0,0,...,1,1,...
-    nperms = 2**ndim
+    nperms = 2 ** ndim
     perms = np.empty((nperms, ndim), type(a))
     perms.fill(a)
     half_point = nperms / 2
     perms[half_point:, 0] = b
     # Fill the rest of the table by sampling the pervious column every 2 items
     for j in range(1, ndim):
-        half_col = perms[::2, j-1]
+        half_col = perms[::2, j - 1]
         perms[:half_point, j] = half_col
         perms[half_point:, j] = half_col
 
@@ -101,24 +101,24 @@ def permutation_t_test(X, n_permutations=10000, tail=0):
     n_samples, n_tests = X.shape
 
     do_exact = False
-    if n_permutations is 'all' or (n_permutations >= 2**n_samples - 1):
+    if n_permutations is 'all' or (n_permutations >= 2 ** n_samples - 1):
         do_exact = True
-        n_permutations = 2**n_samples - 1
+        n_permutations = 2 ** n_samples - 1
 
-    X2 = np.mean(X**2, axis=0) # precompute moments
+    X2 = np.mean(X ** 2, axis=0)  # precompute moments
     mu0 = np.mean(X, axis=0)
     dof_scaling = sqrt(n_samples / (n_samples - 1.0))
-    std0 = np.sqrt(X2 - mu0**2) * dof_scaling # get std with variance splitting
+    std0 = np.sqrt(X2 - mu0 ** 2) * dof_scaling  # get std with var splitting
     T_obs = np.mean(X, axis=0) / (std0 / sqrt(n_samples))
 
     if do_exact:
-        perms = bin_perm_rep(n_samples, a=1, b=-1)[1:,:]
+        perms = bin_perm_rep(n_samples, a=1, b=-1)[1:, :]
     else:
         perms = np.sign(0.5 - np.random.rand(n_permutations, n_samples))
 
     mus = np.dot(perms, X) / float(n_samples)
-    stds = np.sqrt(X2[None,:] - mus**2) * dof_scaling # std with splitting
-    max_abs = np.max(np.abs(mus) / (stds / sqrt(n_samples)), axis=1) # t-max
+    stds = np.sqrt(X2[None, :] - mus ** 2) * dof_scaling  # std with splitting
+    max_abs = np.max(np.abs(mus) / (stds / sqrt(n_samples)), axis=1)  # t-max
     H0 = np.sort(max_abs)
 
     scaling = float(n_permutations + 1)
@@ -132,5 +132,4 @@ def permutation_t_test(X, n_permutations=10000, tail=0):
 
     return T_obs, p_values, H0
 
-permutation_t_test.__test__ = False # for nosetests
-
+permutation_t_test.__test__ = False  # for nosetests
diff --git a/mne/stc.py b/mne/stc.py
index 9184ac2..129a1ae 100755
--- a/mne/stc.py
+++ b/mne/stc.py
@@ -29,9 +29,9 @@ def read_stc(filename):
 
     stc = dict()
 
-    fid.seek(0, 2) # go to end of file
+    fid.seek(0, 2)  # go to end of file
     file_length = fid.tell()
-    fid.seek(0, 0) # go to beginning of file
+    fid.seek(0, 0)  # go to beginning of file
 
     # read tmin in ms
     stc['tmin'] = float(np.fromfile(fid, dtype=">f4", count=1))
@@ -50,11 +50,11 @@ def read_stc(filename):
     # read the number of timepts
     data_n = np.fromfile(fid, dtype=">I4", count=1)
 
-    if ((file_length/4 -4 - vertices_n) % (data_n*vertices_n)) != 0:
-        raise ValueError, 'incorrect stc file size'
+    if ((file_length / 4 - 4 - vertices_n) % (data_n * vertices_n)) != 0:
+        raise ValueError('incorrect stc file size')
 
     # read the data matrix
-    stc['data'] = np.fromfile(fid, dtype=">f4", count=vertices_n*data_n)
+    stc['data'] = np.fromfile(fid, dtype=">f4", count=vertices_n * data_n)
     stc['data'] = stc['data'].reshape([data_n, vertices_n]).T
 
     # close the file
@@ -81,9 +81,9 @@ def write_stc(filename, tmin, tstep, vertices, data):
     fid = open(filename, 'wb')
 
     # write start time in ms
-    fid.write(np.array(1000*tmin, dtype='>f4').tostring())
+    fid.write(np.array(1000 * tmin, dtype='>f4').tostring())
     # write sampling rate in ms
-    fid.write(np.array(1000*tstep, dtype='>f4').tostring())
+    fid.write(np.array(1000 * tstep, dtype='>f4').tostring())
     # write number of vertices
     fid.write(np.array(vertices.shape[0], dtype='>I4').tostring())
     # write the vertex indices
diff --git a/mne/tests/test_bem_surfaces.py b/mne/tests/test_bem_surfaces.py
index 7400776..96bd526 100755
--- a/mne/tests/test_bem_surfaces.py
+++ b/mne/tests/test_bem_surfaces.py
@@ -10,6 +10,7 @@ data_path = sample.data_path(examples_folder)
 fname = op.join(data_path, 'subjects', 'sample', 'bem',
                                         'sample-5120-5120-5120-bem-sol.fif')
 
+
 def test_io_bem_surfaces():
     """Testing reading of bem surfaces
     """
diff --git a/mne/tests/test_inverse.py b/mne/tests/test_inverse.py
index 6321089..d6753b0 100755
--- a/mne/tests/test_inverse.py
+++ b/mne/tests/test_inverse.py
@@ -24,7 +24,7 @@ def test_apply_mne_inverse_operator():
 
     setno = 0
     snr = 3.0
-    lambda2 = 1.0 / snr**2
+    lambda2 = 1.0 / snr ** 2
     dSPM = True
 
     evoked = mne.fiff.Evoked(fname_data, setno=setno, baseline=(None, 0))
@@ -46,7 +46,7 @@ def test_compute_minimum_norm():
     evoked = mne.fiff.Evoked(fname_data, setno=setno, baseline=(None, 0))
     whitener = noise_cov.get_whitener(evoked.info, mag_reg=0.1,
                                       grad_reg=0.1, eeg_reg=0.1, pca=True)
-    stc, K, W = mne.minimum_norm(evoked, forward, whitener, orientation='loose',
-                                 method='dspm', snr=3, loose=0.2)
+    stc, K, W = mne.minimum_norm(evoked, forward, whitener,
+                        orientation='loose', method='dspm', snr=3, loose=0.2)
 
     # XXX : test something
diff --git a/mne/tests/test_label.py b/mne/tests/test_label.py
index 4ea5894..54fe29b 100755
--- a/mne/tests/test_label.py
+++ b/mne/tests/test_label.py
@@ -9,6 +9,7 @@ stc_fname = op.join(data_path, 'MEG', 'sample', 'sample_audvis-meg-lh.stc')
 label = 'Aud-lh'
 label_fname = op.join(data_path, 'MEG', 'sample', 'labels', '%s.label' % label)
 
+
 def test_label_io_and_time_course_estimates():
     """Test IO for STC files
     """
diff --git a/mne/time_frequency/tfr.py b/mne/time_frequency/tfr.py
index b5b4ee5..063f051 100755
--- a/mne/time_frequency/tfr.py
+++ b/mne/time_frequency/tfr.py
@@ -50,10 +50,10 @@ def morlet(Fs, freqs, n_cycles=7, sigma=None):
             sigma_t = n_cycles / (2.0 * np.pi * sigma)
         # this scaling factor is proportional to (Tallon-Baudry 98):
         # (sigma_t*sqrt(pi))^(-1/2);
-        t = np.arange(0, 5*sigma_t, 1.0 / Fs)
+        t = np.arange(0, 5 * sigma_t, 1.0 / Fs)
         t = np.r_[-t[::-1], t[1:]]
-        W = np.exp(2.0 * 1j * np.pi * f *t)
-        W *= np.exp(-t**2 / (2.0 * sigma_t**2))
+        W = np.exp(2.0 * 1j * np.pi * f * t)
+        W *= np.exp(-t ** 2 / (2.0 * sigma_t ** 2))
         W /= sqrt(0.5) * linalg.norm(W.ravel())
         Ws.append(W)
     return Ws
@@ -82,7 +82,7 @@ def _cwt_fft(X, Ws, mode="same"):
     Ws_max_size = max(W.size for W in Ws)
     size = n_times + Ws_max_size - 1
     # Always use 2**n-sized FFT
-    fsize = 2**np.ceil(np.log2(size))
+    fsize = 2 ** np.ceil(np.log2(size))
 
     # precompute FFTs of Ws
     fft_Ws = np.empty((n_freqs, fsize), dtype=np.complex128)
@@ -168,6 +168,7 @@ def cwt_morlet(X, Fs, freqs, use_fft=True, n_cycles=7.0):
 
     return tfrs
 
+
 def cwt(X, Ws, use_fft=True, mode='same'):
     """Compute time freq decomposition with continuous wavelet transform
 
@@ -210,8 +211,8 @@ def _time_frequency(X, Ws, use_fft):
     """
     n_epochs, n_times = X.shape
     n_frequencies = len(Ws)
-    psd = np.zeros((n_frequencies, n_times)) # PSD
-    plf = np.zeros((n_frequencies, n_times), dtype=np.complex) # phase lock
+    psd = np.zeros((n_frequencies, n_times))  # PSD
+    plf = np.zeros((n_frequencies, n_times), dtype=np.complex)  # phase lock
 
     mode = 'same'
     if use_fft:
@@ -221,7 +222,7 @@ def _time_frequency(X, Ws, use_fft):
 
     for tfr in tfrs:
         tfr_abs = np.abs(tfr)
-        psd += tfr_abs**2
+        psd += tfr_abs ** 2
         plf += tfr / tfr_abs
 
     return psd, plf
@@ -234,7 +235,7 @@ def single_trial_power(epochs, Fs, frequencies, use_fft=True, n_cycles=7,
 
     Parameters
     ----------
-    epochs : instance of Epochs | array of shape [n_epochs x n_channels x n_times]
+    epochs : instance Epochs | array of shape [n_epochs, n_channels, n_times]
         The epochs
     Fs : float
         Sampling rate
@@ -290,12 +291,12 @@ def single_trial_power(epochs, Fs, frequencies, use_fft=True, n_cycles=7,
                      dtype=np.float)
     if n_jobs == 1:
         for k, e in enumerate(epochs):
-            power[k] = np.abs(cwt(e, Ws, mode))**2
+            power[k] = np.abs(cwt(e, Ws, mode)) ** 2
     else:
         # Precompute tf decompositions in parallel
         tfrs = parallel(my_cwt(e, Ws, use_fft, mode) for e in epochs)
         for k, tfr in enumerate(tfrs):
-            power[k] = np.abs(tfr)**2
+            power[k] = np.abs(tfr) ** 2
 
     # Run baseline correction
     if baseline is not None:
@@ -312,12 +313,12 @@ def single_trial_power(epochs, Fs, frequencies, use_fft=True, n_cycles=7,
             imax = len(times)
         else:
             imax = int(np.where(times <= bmax)[0][-1]) + 1
-        mean_baseline_power = np.mean(power[:,:,:,imin:imax], axis=3)
+        mean_baseline_power = np.mean(power[:, :, :, imin:imax], axis=3)
         if baseline_mode is 'ratio':
-            power /= mean_baseline_power[:,:,:,None]
+            power /= mean_baseline_power[:, :, :, None]
         elif baseline_mode is 'zscore':
-            power -= mean_baseline_power[:,:,:,None]
-            power /= np.std(power[:,:,:,imin:imax], axis=3)[:,:,:,None]
+            power -= mean_baseline_power[:, :, :, None]
+            power /= np.std(power[:, :, :, imin:imax], axis=3)[:, :, :, None]
     else:
         print "No baseline correction applied..."
 
@@ -377,20 +378,20 @@ def induced_power(epochs, Fs, frequencies, use_fft=True, n_cycles=7,
         plf = np.empty((n_channels, n_frequencies, n_times), dtype=np.complex)
 
         for c in range(n_channels):
-            X = np.squeeze(epochs[:,c,:])
+            X = np.squeeze(epochs[:, c, :])
             psd[c], plf[c] = _time_frequency(X, Ws, use_fft)
 
     else:
         from joblib import Parallel, delayed
         psd_plf = Parallel(n_jobs=n_jobs)(
                     delayed(_time_frequency)(
-                            np.squeeze(epochs[:,c,:]), Ws, use_fft)
+                            np.squeeze(epochs[:, c, :]), Ws, use_fft)
                     for c in range(n_channels))
 
         psd = np.zeros((n_channels, n_frequencies, n_times))
         plf = np.zeros((n_channels, n_frequencies, n_times), dtype=np.complex)
         for c, (psd_c, plf_c) in enumerate(psd_plf):
-            psd[c,:,:], plf[c,:,:] = psd_c, plf_c
+            psd[c, :, :], plf[c, :, :] = psd_c, plf_c
 
     psd /= n_epochs
     plf = np.abs(plf) / n_epochs
diff --git a/mne/viz.py b/mne/viz.py
index 7b3bc04..6354089 100755
--- a/mne/viz.py
+++ b/mne/viz.py
@@ -22,7 +22,7 @@ def plot_topo(evoked, layout):
         if name in ch_names:
             idx = ch_names.index(name)
             ax = pl.axes(layout.pos[idx], axisbg='k')
-            ax.plot(times, data[idx,:], 'w')
+            ax.plot(times, data[idx, :], 'w')
             pl.xticks([], ())
             pl.yticks([], ())
 
@@ -53,18 +53,18 @@ def plot_evoked(evoked, picks=None, unit=True):
             channel_types.append(t)
 
     counter = 1
-    times = 1e3 * evoked.times # time in miliseconds
+    times = 1e3 * evoked.times  # time in miliseconds
     for t, scaling, name, ch_unit in zip(['eeg', 'grad', 'mag'],
                            [1e6, 1e13, 1e15],
                            ['EEG', 'Gradiometers', 'Magnetometers'],
                            ['uV', 'fT/cm', 'fT']):
         if unit is False:
             scaling = 1.0
-            ch_unit = 'NA' # no unit
+            ch_unit = 'NA'  # no unit
         idx = [picks[i] for i in range(len(picks)) if types[i] is t]
         if len(idx) > 0:
             pl.subplot(n_channel_types, 1, counter)
-            pl.plot(times, scaling*evoked.data[idx,:].T)
+            pl.plot(times, scaling * evoked.data[idx, :].T)
             pl.title(name)
             pl.xlabel('time (ms)')
             counter += 1

-- 
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