Analyze Electrooculography (EOG)

Analyze Electrooculography (EOG)#

This example can be referenced by citing the package.

This example shows how to use NeuroKit to analyze EOG data.

# Load NeuroKit and other useful packages
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import neurokit2 as nk

Explore the EOG signal#

Let’s load the example dataset corresponding to a vertical EOG signal.

eog_signal = nk.data('eog_100hz.csv')

nk.signal_plot(eog_signal)
../../_images/0bdcf91d3dc40da3a84463d35d6e138b3e4f927e9482d0c6676506529f66785a.png

Let’s zoom in to some areas where clear blinks are present.

nk.signal_plot(eog_signal[100:1700])
../../_images/9d2e553e420c111bc9b3e87d2155a76560ec207bc53abb12e97e3ae89c1fdf79.png

Clean the signal#

We can now filter the signal to remove some noise and trends.

eog_cleaned = nk.eog_clean(eog_signal, sampling_rate=100, method='neurokit')

Let’s visualize the same chunk and compare the clean version with the original signal.

nk.signal_plot([eog_signal[100:1700], eog_cleaned[100:1700]], 
               labels=["Raw Signal", "Cleaned Signal"])
../../_images/91da7996b5f7efb15730a7200b57dfacb1e3f673c39ac8ade7f192158a8ea36c.png