ROSS is an offline spike sorting software implemented based on the methods described in the paper entitled An automatic spike sorting algorithm based on adaptive spike detection and a mixture of skew-t distributions. (Official Implementation)
ROSS V2 Python
Looking for the Python version? check ROSS V2
Updates:
- 5 July 2023: ROSS v2 (pre-release) is here! Click Here!
- 7 January 2023: Importing .pkl files is available on ROSS V2
- 1 January 2023: ROSS v2 (beta) is Released! Click Here!
- 28 September 2021: We are developing ROSS v2 based on Python with new features.
- 06 July 2021: Our paper is accepted at Scientific Reports and is now publicly available (Open Access) at this link.
Introduction
Neural activity monitoring is one of the bases of understanding brain behavior. The recorded extracellular potential is a combination of multiple neuron activities corrupted by noise. The main step in analyzing the extracellular data is to differentiate among different neuron activities. Spike sorting is the process of assigning each detected spike to the corresponding neurons. ROSS is a MATLAB-based offline spike sorter software that helps researchers to do automatic and manual spike sorting tasks efficiently. Currently, it provides t-distribution and skew-t based methods for automatic spike sorting. Several functions are considered for modifying the auto-sorting results, such as merging and denoising. Also, useful visualizations are provided to get better results.
Python Version
ROSS v2 is based on Python. Check it out here.
Installation
Recommended System
-
MATLAB >= 2018b
-
12GB RAM
Download the package to a local folder. Run Matlab and navigate to the folder. Then you could easily start Offline Spike Sorter by running βross.mlappβ or typing βrossβ in the command window.
Usage
ROSS provides useful tools for spike detection, automatic sorting, and manual sorting.
-
Detection
You can load raw extracellular data and adjust the provided settings for filtering and thresholding. Then by pushing Start Detection button the detection results appear in a PCA plot:
-
Automatic Sorting
Automatic sorting is implemented based on five different methods: skew-t and t distributions, GMM, k-means and template matching. Several options are provided for configurations in the algorithm. Automatic sorting results will appear in PCA and waveform plots:
-
Manual Sorting
Manual sorting tool is used for manual modifications on automatic results by the researcher. These tools include: Merge, Delete, Resort, Denoise, and Manual grouping or deleting samples in PCA domain:
-
Visualization
Several 2D and 3D visualization tools are provided, including inter spike interval, neuron live time, waveforms, 3D plot, and PCA domain plots. Also, you can track detected spikes on the raw data.
For more instructions and samples please visit ROSS documentation, demo video or ROSS webpage.
Acknowledgment
Thanks to Plot Big.
Citation
If ROSS helps your research, please cite our paper in your publications.
@article{Toosi_2021,
doi = {10.1038/s41598-021-93088-w},
url = {https://doi.org/10.1038%2Fs41598-021-93088-w},
year = 2021,
month = {jul},
publisher = {Springer Science and Business Media {LLC}},
volume = {11},
number = {1},
author = {Ramin Toosi and Mohammad Ali Akhaee and Mohammad-Reza A. Dehaqani},
title = {An automatic spike sorting algorithm based on adaptive spike detection and a mixture of skew-t distributions},
journal = {Scientific Reports}
}