A collision-aware template matching spike sorter.
Project description
CATSort
CATSort (Collision-Aware with Template matching Sort) is a robust spike sorter designed to handle overlapping spikes (collisions) with high precision using a specific collision-handling stage before clustering followed by template matching.
Key Features
- Collision Handling: Automatically identifies and flags collided spikes using multi-criterion feature analysis (amplitude, width, energy).
- Template Matching: Robust spike extraction using template-based matching (including 'wobble' for now).
- Flexible Schemes: Choose between an
adaptivethreshold optimization or anoriginalfixed MAD (Median Absolute Deviation) multiplier scheme. - SpikeInterface Integration: Fully compatible with the SpikeInterface ecosystem.
Installation
You can install catsort via pip:
pip install catsort
Or from source:
git clone https://github.com/lucasbeziers/CATSort.git
cd CATSort
pip install -e .
Quick Start
import spikeinterface.extractors as se
from catsort import run_catsort
# Load your recording
recording = se.read_binary("path_to_data.dat", sampling_frequency=30000, num_channels=384, dtype="int16")
# Run CATSort
sorting = run_catsort(recording)
# The result is a SpikeInterface Sorting object
print(sorting)
Parameters
CATSort offers several parameters to fine-tune its behavior:
scheme:'original'or'adaptive'.'adaptive'uses temporal collisions to optimize thresholds.'original'uses fixed MAD multipliers.
mad_multiplier_amplitude,mad_multiplier_width,mad_multiplier_energy: (Default:7.0,10.0,15.0) Used whenscheme='original'.detect_threshold: Spike detection threshold in standard deviations (Default:5).
License
MIT License. See LICENSE for details.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file catsort-1.0.1.tar.gz.
File metadata
- Download URL: catsort-1.0.1.tar.gz
- Upload date:
- Size: 9.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c6a51eba3845c107b1a1d4dec421bfc73e34a063237e86c5885bf887ff7a70be
|
|
| MD5 |
7812a4fde4490aaf35a33bb0ebb0533d
|
|
| BLAKE2b-256 |
a5e1ee716170d62fb836b4baa4ccb75441521bceb883ac74e4da79a24fc403df
|
Provenance
The following attestation bundles were made for catsort-1.0.1.tar.gz:
Publisher:
publish.yml on lucasbeziers/CATSort
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
catsort-1.0.1.tar.gz -
Subject digest:
c6a51eba3845c107b1a1d4dec421bfc73e34a063237e86c5885bf887ff7a70be - Sigstore transparency entry: 904667785
- Sigstore integration time:
-
Permalink:
lucasbeziers/CATSort@af0d99207fad0b70d82d5579eaac5077ad890ab3 -
Branch / Tag:
refs/tags/1.0.1 - Owner: https://github.com/lucasbeziers
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@af0d99207fad0b70d82d5579eaac5077ad890ab3 -
Trigger Event:
release
-
Statement type:
File details
Details for the file catsort-1.0.1-py3-none-any.whl.
File metadata
- Download URL: catsort-1.0.1-py3-none-any.whl
- Upload date:
- Size: 9.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
861aabeddf1a75409e33896bb387f52523a50c36b3d038bd460ca122bb9c7281
|
|
| MD5 |
34c9c6cf8901a64203e788ab98e0c2bb
|
|
| BLAKE2b-256 |
83d9af4469248f8a71b4078ba2764022b664076a7fdb66b9494f8d5f3262cb80
|
Provenance
The following attestation bundles were made for catsort-1.0.1-py3-none-any.whl:
Publisher:
publish.yml on lucasbeziers/CATSort
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
catsort-1.0.1-py3-none-any.whl -
Subject digest:
861aabeddf1a75409e33896bb387f52523a50c36b3d038bd460ca122bb9c7281 - Sigstore transparency entry: 904667860
- Sigstore integration time:
-
Permalink:
lucasbeziers/CATSort@af0d99207fad0b70d82d5579eaac5077ad890ab3 -
Branch / Tag:
refs/tags/1.0.1 - Owner: https://github.com/lucasbeziers
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@af0d99207fad0b70d82d5579eaac5077ad890ab3 -
Trigger Event:
release
-
Statement type: