{ "nbformat_minor": 0, "nbformat": 4, "cells": [ { "execution_count": null, "cell_type": "code", "source": [ "%matplotlib inline" ], "outputs": [], "metadata": { "collapsed": false } }, { "source": [ "\n# Re-referencing the EEG signal\n\n\nLoad raw data and apply some EEG referencing schemes.\n\n" ], "cell_type": "markdown", "metadata": {} }, { "execution_count": null, "cell_type": "code", "source": [ "# Authors: Marijn van Vliet \n# Alexandre Gramfort \n#\n# License: BSD (3-clause)\n\nimport mne\nfrom mne.datasets import sample\nfrom matplotlib import pyplot as plt\n\nprint(__doc__)\n\n# Setup for reading the raw data\ndata_path = sample.data_path()\nraw_fname = data_path + '/MEG/sample/sample_audvis_filt-0-40_raw.fif'\nevent_fname = data_path + '/MEG/sample/sample_audvis_filt-0-40_raw-eve.fif'\nevent_id, tmin, tmax = 1, -0.2, 0.5\n\n# Read the raw data\nraw = mne.io.read_raw_fif(raw_fname, preload=True)\nevents = mne.read_events(event_fname)\n\n# The EEG channels will be plotted to visualize the difference in referencing\n# schemes.\npicks = mne.pick_types(raw.info, meg=False, eeg=True, eog=True, exclude='bads')" ], "outputs": [], "metadata": { "collapsed": false } }, { "source": [ "Apply different EEG referencing schemes and plot the resulting evokeds.\n\n" ], "cell_type": "markdown", "metadata": {} }, { "execution_count": null, "cell_type": "code", "source": [ "reject = dict(eeg=180e-6, eog=150e-6)\nepochs_params = dict(events=events, event_id=event_id, tmin=tmin, tmax=tmax,\n picks=picks, reject=reject)\n\nfig, (ax1, ax2, ax3) = plt.subplots(nrows=3, ncols=1, sharex=True)\n\n# No reference. This assumes that the EEG has already been referenced properly.\n# This explicitly prevents MNE from adding a default EEG reference.\nraw.set_eeg_reference([])\nevoked_no_ref = mne.Epochs(raw, **epochs_params).average()\n\nevoked_no_ref.plot(axes=ax1, titles=dict(eeg='EEG Original reference'))\n\n# Average reference. This is normally added by default, but can also be added\n# explicitly.\nraw.set_eeg_reference()\nevoked_car = mne.Epochs(raw, **epochs_params).average()\n\nevoked_car.plot(axes=ax2, titles=dict(eeg='EEG Average reference'))\n\n# Re-reference from an average reference to the mean of channels EEG 001 and\n# EEG 002.\nraw.set_eeg_reference(['EEG 001', 'EEG 002'])\nevoked_custom = mne.Epochs(raw, **epochs_params).average()\n\nevoked_custom.plot(axes=ax3, titles=dict(eeg='EEG Custom reference'))" ], "outputs": [], "metadata": { "collapsed": false } } ], "metadata": { "kernelspec": { "display_name": "Python 2", "name": "python2", "language": "python" }, "language_info": { "mimetype": "text/x-python", "nbconvert_exporter": "python", "name": "python", "file_extension": ".py", "version": "2.7.13", "pygments_lexer": "ipython2", "codemirror_mode": { "version": 2, "name": "ipython" } } } }