This tool is designed for analyzing electrophysiological data, including filtering, artifact detection, and peak analysis. It provides a user-friendly graphical interface for loading, processing, and visualizing electrophysiological recordings. The GUI supports both NumPy (.npy) files and Intan (.rhd) files through the intan_reader package.
- Load and visualize electrophysiology data
- Apply various filters (notch, low-pass, high-pass)
- Detect and visualize artifacts
- Detect and analyze peaks
- Channel selection and management
- Interactive data trimming
- Statistical analysis of channels and peaks
- Export statistics to Excel
- Python 3.8 or higher
- pip package manager
- intan_reader package
- Clone the repository:
git clone https://github.com/leo-gg/ephysGUI.git
- Navigate to the project directory:
cd ephysGUI - Install the required dependencies:
pip install -r requirements.txt
Run the main script to start the application:
python main.py
- Click "File → Load Data" to select a data file:
- .npy files: 2D NumPy array with shape (samples, channels)
- .rhd files: Raw data files from Intan recording systems
- Enter the sampling rate of your data in the "Sampling Rate (Hz)" field (not needed for .rhd files as it -should be- automatically detected)
- Enter the desired frequency in the appropriate field for the filter you want to apply.
- Click the corresponding "Apply" button for Notch, Low-pass, or High-pass filters.
- The filtered data will automatically update in the visualization.
- Enter the artifact threshold value in the "Artifact Threshold" field.
- Click the "Detect Artifacts" button.
- Detected artifacts will be highlighted in the main plot.
- Enter the peak threshold value in the "Peak Threshold" field.
- Click the "Detect Peaks" button.
- Detected peaks will be marked on the main plot, and average peak windows will be shown in the lower plot.
- The main plot shows the selected channels and any detected artifacts or peaks.
- The lower plot displays the average peak windows for selected channels.
- Use the channel selection list on the right to choose which channels to display.
- Use the zoom and pan buttons below the plots to navigate through the data.
Contributions to the project are very welcome! Please feel free to submit pull requests, create issues, or suggest improvements. For major changes, please open an issue first to discuss what you would like to change.
- Leonardo Garma - Development and Implementation
- Erica Zeglio - Project Supervision and Testing
- Kateryna Solodka - Testing and Validation
This project was made possible through the generous support of:
- The Swedish Research Council (VR)
- Foundation for Research Without Animal Experiments (Forska Utan Djurförsök)
Leonardo Garma - leonardo.garma@gmail.com
Project Link: https://github.com/leo-gg/ephysGUI
- Intan Technologies for their excellent electrophysiology recording systems and open-source software
