Skip to content

Latest commit

 

History

History
58 lines (41 loc) · 2.65 KB

File metadata and controls

58 lines (41 loc) · 2.65 KB

Neurophysiological Signal Processing and Analysis

This repository contains an extensive collection of tools and scripts for processing and analyzing neurophysiological signals. The primary focus is on various critical aspects of neurophysiological data handling, including spike detection, feature extraction, clustering, and firing rate analysis. The software is intended for researchers and practitioners in the field of neuroscience who require reliable and efficient tools to analyze complex neural data.

Related Article:
Restoring the firing activity of ventral tegmental area neurons by lateral hypothalamic deep brain stimulation following morphine administration in rats.

Demo

Demo.mp4

Steps in the Pipeline

  1. Data Import and Preprocessing

    • Import data from various formats (e.g., .mat, .txt, .xlsx).
    • Perform artifact removal and filtering using methods like Moving Average, Butterworth, Chebyshev, and Elliptic filters.
    • Apply band-pass filtering to the waveform.
    • Fs = 30000 Hz; % Sampling frequency
    • F_low = 300 Hz; % low pass filter for detection
    • F_high =3000 Hz; % high pass filter for spike detection
  2. Spike Detection

    • Use amplitude threshold discrimination to detect spikes.
    • Record spike times and align events.
  3. Feature Extraction

    • Extract feature coefficients using Principal Component Analysis (PCA) and Wavelet Transform.
    • Select relevant feature coefficients for further analysis.
  4. Spike Clustering

    • Cluster spikes using unsupervised algorithms such as Fuzzy C-Means (FCM), and K-Means.
  5. Firing Rate and ISI Analysis

    • Analyze the distribution of firing rates.
    • Compute Interspike Interval (ISI) histograms and autocorrelograms for each class.
  6. Visualization and Results

    • Generate and display firing rate figures, ISI histograms, and autocorrelograms.
    • Save results for further analysis.

Usage

  1. Clone the repository:
    git clone https://github.com/RezaSaadatyar/Neurophysiological-Signal-Processing-and-Analysis
  2. Open MATLAB and navigate to the cloned directory.
  3. Run the main.m file to launch the graphical user interface.

Contributing

Contributions are welcome! Please fork the repository and submit a pull request with your changes.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contact

For any questions or support, please contact Reza.Saadatyar@outlook.com