EEGProc is a fully vectorized library designed for preprocessing and extracting features from EEG (Electroencephalogram) data. This library is optimized for performance and ease of use, making it suitable for researchers and developers working in the field of neuroscience, biomedical engineering, and machine learning.
Click here to read the documentation
- Preprocessing: Includes functions for filtering, artifact removal, and normalization of EEG signals.
- Featurization: Extracts meaningful features from EEG data, such as power spectral density, band power, and more.
- Vectorized Operations: Fully vectorized implementation ensures high performance and scalability for working with pandas dataframes.
- Ease of Integration: Designed to integrate seamlessly with existing Python workflows.
To install EEGProc, you can use pip:
pip install eegprocAlternatively, you can clone the repository and install the required dependencies manually:
# Clone the repository
git clone https://github.com/VitorInserra/EEGProc.git
# Navigate to the project directory
cd EEGProc
# Install dependencies
pip install -r requirements.txtimport pandas as pd
from eegproc import bandpass_filter
# Example: Preprocess raw EEG data
data: pd.DataFrame = ... # Load your raw EEG data as a dataframe
mask = (data['patient_index'] == 0) & (data['video_index'] == 17)
eeg_df = data.loc[mask, :]
bandpass_filtered_data: pd.DataFrame = bandpass_filter(eeg_df)from eegproc import psd
# Example: get Power Spectral Density from a bandpass filtered dataframe
psd_data: pd.DataFrame = psd(bandpass_filitered_data)src/eegproc/preprocessing.py: Contains preprocessing functions.featurization.py: Contains feature extraction functions.
requirements.txt: Lists the dependencies required for the project.
Contributions are welcome! If you have ideas for new features or improvements, feel free to open an issue or submit a pull request.
This project is licensed under the GPLv2 License. See the LICENSE file for details.