Skip to main content

Real-time spike sorting for high-density extracellular recordings

Project description

SpikeSift

SpikeSift is a fast, drift-resilient spike sorting algorithm for high-density extracellular recordings. It delivers accurate, real-time spike sorting from raw binary data using only a single CPU core.


Features

  • Real-time performance on thousands of channels
  • Drift-aware segmentation and robust merging
  • Parallelizable across segments
  • Modular design - sort, merge, split, and compare segments
  • Minimal parameter tuning, even for short recordings

Installation

Install with pip:

pip install spikesift

Or install from source:

git clone https://github.com/vasilisgeorgiadis/spikesift.git
cd spikesift
pip install -e .

Quickstart

from spikesift import Recording, perform_spike_sorting

# Define probe layout (example)
import numpy as np
probe = np.load("probe.npy")

# Load raw data
recording = Recording(
    binary_file="recording.bin",
    data_type="int16",
    probe_geometry=probe,
    sampling_frequency=30000
)

# Run sorting
result = perform_spike_sorting(recording)

# Access spike times
for cid in result.cluster_ids():
    spikes = result.spikes(cid)
    print(f"Cluster {cid}: {len(spikes)} spikes")

For more examples, see the User Guide or Example Usage.


Documentation

Full documentation is available at:

https://vasilisgeorgiadis.github.io/spikesift/


Performance

SpikeSift is over 20x faster than GPU-based sorters like Kilosort, and up to 300x faster when all run on a single CPU core. It handles thousands of channels, fragmented recordings, and real-time pipelines with ease.


Citing SpikeSift

(Preprint coming soon)


License

MIT (c) 2025 Vasileios Georgiadis

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

spikesift-0.1.0.tar.gz (666.7 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

spikesift-0.1.0-cp312-cp312-win_amd64.whl (999.9 kB view details)

Uploaded CPython 3.12Windows x86-64

spikesift-0.1.0-cp311-cp311-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.11Windows x86-64

spikesift-0.1.0-cp310-cp310-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.10Windows x86-64

spikesift-0.1.0-cp39-cp39-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.9Windows x86-64

spikesift-0.1.0-cp38-cp38-win_amd64.whl (994.8 kB view details)

Uploaded CPython 3.8Windows x86-64

spikesift-0.1.0-cp37-cp37m-win_amd64.whl (986.0 kB view details)

Uploaded CPython 3.7mWindows x86-64

File details

Details for the file spikesift-0.1.0.tar.gz.

File metadata

  • Download URL: spikesift-0.1.0.tar.gz
  • Upload date:
  • Size: 666.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.16

File hashes

Hashes for spikesift-0.1.0.tar.gz
Algorithm Hash digest
SHA256 99358d8d08ee5ba6a3a9f74c269f96c6cab9b72315b2ffd6b0df1a0bb000817e
MD5 2965ad4d55f92c75e8c858498ba360f2
BLAKE2b-256 9801db98a5b73627048cb2a803e482f2a2c3063e4fb5f37569f35cc79ad4884a

See more details on using hashes here.

File details

Details for the file spikesift-0.1.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: spikesift-0.1.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 999.9 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.16

File hashes

Hashes for spikesift-0.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 861412ac41f6c2014693d7d6b0e145318bfe430f7e3eba55cac089b0baa2ec74
MD5 c82dd254fd280a531810bb2417c5f44d
BLAKE2b-256 a3b8ad24a6f486cd678e2df86e19b501f1ef835b8be85b4eaba6d6b50abc6067

See more details on using hashes here.

File details

Details for the file spikesift-0.1.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: spikesift-0.1.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.16

File hashes

Hashes for spikesift-0.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 7bf439d5d1de3321fedfcbce707facbf411e93f08362b609f87072af9fe5c864
MD5 96d6c1c9ce312bc88f7c65c5826bbc51
BLAKE2b-256 43a61867ce1fe322202cb163d9489ac5cb789d6dccac095723a99440e3a30dbf

See more details on using hashes here.

File details

Details for the file spikesift-0.1.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: spikesift-0.1.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.16

File hashes

Hashes for spikesift-0.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5c2123915c809bb8220ec2adbb5e7918645fd0019da1a9a4599c6e60b8127e28
MD5 681cc65d308a536e7a485823a64b481c
BLAKE2b-256 99684227de8d169337f50861e2cd975a624905f79bdf481bbd4ae0f4d4aa19ee

See more details on using hashes here.

File details

Details for the file spikesift-0.1.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: spikesift-0.1.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.16

File hashes

Hashes for spikesift-0.1.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 f69b6f9c6ac6f03fbffd09557b90e4df504e94f993ffd6ed068b09a67ac40154
MD5 dd90933ba8344488c3c8979a76634c5e
BLAKE2b-256 13d219550c2e28b5e2403114ad08ddde7d64d793cce3868de62af77ba3f59638

See more details on using hashes here.

File details

Details for the file spikesift-0.1.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: spikesift-0.1.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 994.8 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.16

File hashes

Hashes for spikesift-0.1.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 cecf5dd07be43e7f34eacb843b95e843a03b953d0af4ed3d17aca3daa9c7ec41
MD5 3907acce148d7bfecd0475a3d7c53979
BLAKE2b-256 c44c75934429814758d3e41dce16aec67ef831e83232c20a936d2f7d965aee4e

See more details on using hashes here.

File details

Details for the file spikesift-0.1.0-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: spikesift-0.1.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 986.0 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.16

File hashes

Hashes for spikesift-0.1.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 9caae7afeaf8b5a784ad181f3a48ac596b3581a46e9fade7e0f20f5347f53d71
MD5 b4bf4edab5e5f18f560e0ac4bf42fa46
BLAKE2b-256 785d933ca106ed5a4f4b4e349e92ad7c40c08aecc672a4e4cce04b626ded1a8f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page