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://spikesift.readthedocs.io/en/latest/index.html


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.1.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.1-cp312-cp312-win_amd64.whl (999.9 kB view details)

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.8Windows x86-64

spikesift-0.1.1-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.1.tar.gz.

File metadata

  • Download URL: spikesift-0.1.1.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.1.tar.gz
Algorithm Hash digest
SHA256 5a31a74d2900fb96f57453b526407ad99f5c1eb9fcbe98982200761452153fe4
MD5 0bd12f09114291b96cc5ec9fdd0d8d4c
BLAKE2b-256 56f683366d4aff72965edcc2fbb53fc16b5734c81e8eed49d245e3147cfe37d8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: spikesift-0.1.1-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.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 818dd541a88c1baf0a1c27e186a679af6389ce3dae007c1f4f2414d8c25f7d7b
MD5 8a7664a7b917ac021c407368bb690907
BLAKE2b-256 b70d0c1c822e24fb32de78ad4a4bf59de75a67102659b5d1155336efdef06562

See more details on using hashes here.

File details

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

File metadata

  • Download URL: spikesift-0.1.1-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.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 eb763ac5bb4dbc6664d131bd32e6bdd6f3a1d0057c9c3fb178b0454e3aa7462e
MD5 686a1430ec4580a81eac4f076e19319d
BLAKE2b-256 c209cb7d7f0241412b284e6a0a12c21d274a59c8c77202c71c2a5753ba35a479

See more details on using hashes here.

File details

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

File metadata

  • Download URL: spikesift-0.1.1-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.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 cc4785b45b15e0183ca3d5e539e801070fcb08cb8a141f789128b20bd3af32a0
MD5 8e08f3c53c40a803100ff38b5d167731
BLAKE2b-256 edfcbf9454a2947f302760ab950e3025cef9e019d3ce9ffe55cf00009e1049c9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: spikesift-0.1.1-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.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 0b1ab9e1fe4e8d612b025191f50f1f352cefba21c9ff3ecb5924e8756b2e90cc
MD5 e1b06443d968d5347402fa9f79e3b041
BLAKE2b-256 32c81e26953b6ad145bf27a8a2cef80c36b48a36a55a3f2aca1c2a8258183f9d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: spikesift-0.1.1-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.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 f820bf0b45727b8347e84224a2243bef65785531375d40228d0ebb8fa49a1e8b
MD5 e71c991c8d8841929483acc8be9c77a8
BLAKE2b-256 59a8d201477c6cdbcd697d659f1bee83b51246fd68c23a6ff4c458ff7b1324d5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: spikesift-0.1.1-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.1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 37d66404f4174409d666795ffe87ddef3be21ee4f76fbb4e097f18f613b73415
MD5 ae77e6e7d5e94e82e56f1d0b022e7cdb
BLAKE2b-256 a30fad1ab35eaf496bdd425a4f776307a73ea280e3e8ea35c083c6a9676a5c68

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