model-based-spike-detection
Neural spike detection algorithms developed in Simulink®.
With this repo you can test and compare different spike detection models implemented in Simulink to simulate real-time signal processing, or to evaluate the performance of a suite spike detection algorithms. Test recordings are available so that you can try the repo functionalities.
Fig.1 - Spike detection models current developed at the current state of the project
Fig.2 - SNEO Simulink model
- MATLAB® and Simulink® version R2020a or later
- Signal Processing Toolbox
To clone this repo open your terminal and run:
git clone https://github.com/MattiaDif/model-based-spike-detection.git
Rember to add the repo to the Matlab path!
Inside Spike_Detection_Models:
-
SingleChannelModels: folder that contains the Simulink model for spike detection in single-channel modality subdivided by category. The files named with the prefix float_sch are the spike detection Simulink models, while the files named with the prefix float_sch_run are the Matlab scripts to control the model parameters and lunch the simulation.
-
MultiChannelModels: folder that contains the Simulink model for spike detection in mutli-channel modality subdivided by category. The files named with the prefix float_mch are the spike detection Simulink models, while the files named with the prefix float_mch_run are the Matlab scripts to control the model parameters and lunch the simulation.
-
TestData: folder that contains data for testing the model in Simulink (see the readme.txt file in the folder for further details).
-
Recording_Generator: folder that contains Python scripts to generate simulated multichannel recording exploting MEArec (MEArec repo).
Different spike detection models have been developed in Simulink to investigate their feasibility in a real-time environment. The algorithms are subdivided among 3 main categories according to the spike detection methods found in literature:
- Sample Thresholding: a spike is detected if the sample overcomes a threshold or a combination of thresholds.
- Energy Operator: non-linear energy operator (NEO) computation to enhance the high frequency content of the signal. A spike is detected if the NEO sample overcomes a threshold.
- Template Matching: spike detection based on the similarity between a waveform and a template. A spike is detected if the similarity metric is greater than a set value.
You can find detailed documentation here: docs.
The following people have contributed to the current state of the project. Specifically:
- Development: Stefano Buccelli [1], Mattia Di Florio [1],[3].
- Conceptualization/Supervision: Vijay Iyer [2], Akshay Rajhans [2], Stefano Buccelli [1], Michela Chiappalone [1],[3].
For any questions, please reach via email Mattia Di Florio (di.florio.mattia@gmail.com) or Stefano Buccelli (stefano.buccelli@iit.it) or write an issue!
- Rehab Technologies IIT-INAIL Lab, Istituto Italiano di Tecnologia, Via Morego 30, 12 16163 Genova, Italy
- MathWorks, 1 Lakeside Campus Drive, Natick, MA 01760, USA
- Department of Informatics, Bioengineering, Robotics, System Engineering (DIBRIS), 20 University of Genova, Via all’Opera Pia 13, 16145, Genova, Italy
For further information please refer to the scientific publication: link.
If you use this repo, please cite:
"Di Florio, M., Iyer, V., Rajhans, A., Buccelli, S., & Chiappalone, M. (2022, July). Model-based online implementation of spike detection algorithms for neuroengineering applications. In 2022 44th Annual International Conference of the IEEE Engineering in Medicine & Biology Society (EMBC) (pp. 736-739). IEEE."
Cite As
Mattia Di Florio (2025). model-based-spike-detection (https://github.com/MattiaDif/model-based-spike-detection/releases/tag/v0.4), GitHub. Retrieved .
Di Florio, M., Iyer, V., Rajhans, A., Buccelli, S., & Chiappalone, M. (2022, July). Model-based online implementation of spike detection algorithms for neuroengineering applications. In 2022 44th Annual International Conference of the IEEE Engineering in Medicine & Biology Society (EMBC) (pp. 736-739). IEEE.
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxTags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
Spike_Detection_models/MultiChannelModels/Energy_Operator
Spike_Detection_models/MultiChannelModels/Sample_Thresholding
Spike_Detection_models/MultiChannelModels/Template_Matching
Spike_Detection_models/SingleChannelModels/Energy_Operator
Spike_Detection_models/SingleChannelModels/Sample_Thresholding
Spike_Detection_models/SingleChannelModels/Template_Matching
Spike_Detection_models/MultiChannelModels/Energy_Operator
Spike_Detection_models/MultiChannelModels/Sample_Thresholding
Spike_Detection_models/MultiChannelModels/Template_Matching
Spike_Detection_models/SingleChannelModels/Energy_Operator
Spike_Detection_models/SingleChannelModels/Sample_Thresholding
Spike_Detection_models/SingleChannelModels/Template_Matching
Version | Published | Release Notes | |
---|---|---|---|
0.4 |