#!/usr/bin/env python # coding: utf-8 #

Table of Contents

#
# # Importing libraries/spkit # In[3]: import numpy as np import matplotlib.pyplot as plt import spkit as sp from spkit.data import load_data sp.__version__ # # 14 channel EEG sample signas # In[4]: X,ch_names = load_data.eegSample() fs = 128 Xf = sp.filter_X(X,band=[0.5], btype='highpass',fs=fs,verbose=0).T Xf.shape # In[5]: t = np.arange(Xf.shape[0])/fs plt.figure(figsize=(12,5)) plt.plot(t,Xf+np.arange(-7,7)*200) plt.xlim([t[0],t[-1]]) plt.xlabel('time (sec)') plt.yticks(np.arange(-7,7)*200,ch_names) plt.grid() plt.title('Xf: 14 channel - EEG Signal (filtered)') plt.show() # # Artifact removal using ICA # In[6]: XR = sp.eeg.ICA_filtering(Xf.copy(),verbose=1,kur_thr=2,corr_thr=0.8,winsize=128) XR.shape # In[7]: plt.figure(figsize=(12,5)) plt.plot(t,XR+np.arange(-7,7)*200) plt.xlim([t[0],t[-1]]) plt.xlabel('time (sec)') plt.yticks(np.arange(-7,7)*200,ch_names) plt.grid() plt.title('XR: Corrected Signal') plt.show() plt.figure(figsize=(12,5)) plt.plot(t,(Xf-XR)+np.arange(-7,7)*200) plt.xlim([t[0],t[-1]]) plt.xlabel('time (sec)') plt.yticks(np.arange(-7,7)*200,ch_names) plt.grid() plt.title('Xf - XR: Difference (removed signal)') plt.show() # # Smaller segment # In[12]: Xf1 = Xf[128*10:128*14].copy() t = np.arange(Xf1.shape[0])/fs plt.figure(figsize=(12,5)) plt.plot(t,Xf1+np.arange(-7,7)*200) plt.xlim([t[0],t[-1]]) plt.xlabel('time (sec)') plt.yticks(np.arange(-7,7)*200,ch_names) plt.grid() plt.title('Xf: 14 channel - EEG Signal (filtered)') plt.show() # In[16]: XR1 = sp.eeg.ICA_filtering(Xf1.copy(),verbose=1,kur_thr=2,corr_thr=0.8,winsize=128*2) XR1.shape # In[17]: plt.figure(figsize=(15,5)) plt.subplot(121) plt.plot(t,XR1+np.arange(-7,7)*200) plt.xlim([t[0],t[-1]]) plt.xlabel('time (sec)') plt.yticks(np.arange(-7,7)*200,ch_names) plt.grid() plt.title('XR: Corrected Signal') plt.subplot(122) plt.plot(t,(Xf1-XR1)+np.arange(-7,7)*200) plt.xlim([t[0],t[-1]]) plt.xlabel('time (sec)') plt.yticks(np.arange(-7,7)*200,ch_names) plt.grid() plt.title('Xf - XR: Difference (removed signal)') plt.show() # In[ ]: # In[ ]: # In[ ]: # # Doc # In[9]: help(sp.eeg.ICA_filtering) # In[ ]: