Skip to main content

Algorithm to track clusters across recordings

Project description

Tracking_Graph

GitHub License

Tracking_Graph is a tool for track units across spike sorting solutions. This package is part of the PhD This project is part of my PhD research at [University Name]

Installation

Install Tracking_Graph using pip:

pip install tracking_graph

Usage

Creating a Graph

from tracking_graph import run_tg, get_tg_groups, EuclideanClassifier

# Create a classifier
modelcreator = EuclideanClassifier.creator(std_mult=3)  # Classify spikes with length > 3 std

# Run Tracking_Graph
G = run_tg(
    we_list,  # List of WaveformExtractor objects
    outputfile='/home/user/examplefolder/tg_data.hdf5',
    max_len=2,  # Maximum edge length, must be at least 1
    modelcreator=modelcreator
)

# Compute results programmatically (can be replaced by the GUI)
groups, sG, discarded = get_tg_groups(
    G,
    mintrack=3,  # Minimum number of segments for a cluster
    merge=True  # Apply criteria to merge splits
)

# Create a final results table
import pandas as pd

df = []
for gi, g in enumerate(groups):
    for c in g:
        df.append({'segment': c.segment,
                    'cluster': c.unit,
                    'tg_unit': gi})

results_table = pd.DataFrame(df)

Exploring Simplified Graphs with GUI

Launch the graphical interface (Streamlit server) using:

tg_gui

Additional Tools

Tracking_Graph provides a wrapper to load aligned waveforms from Wave_Clus clustering results, addressing limitations in SpikeInterface's waveform interpolation:

from tracking_graph.spikeinterface_addons import Waveclus_Waveforms

path_times_file = '/home/user/examplefolder/times_example.mat'  # Full path to Wave_Clus result
we = Waveclus_Waveforms(path_times_file)  # Object with basic WaveformExtractor interface

Limitations

  • Tracking_Graph requires spikeinterface<=0.100 due to its dependency on the WaveformExtractor class.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

About

For more projects and information, visit my GitHub profile: ferchaure

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

tracking_graph-0.9.0.tar.gz (21.5 kB view details)

Uploaded Source

Built Distribution

tracking_graph-0.9.0-py3-none-any.whl (23.0 kB view details)

Uploaded Python 3

File details

Details for the file tracking_graph-0.9.0.tar.gz.

File metadata

  • Download URL: tracking_graph-0.9.0.tar.gz
  • Upload date:
  • Size: 21.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.5

File hashes

Hashes for tracking_graph-0.9.0.tar.gz
Algorithm Hash digest
SHA256 9227a64fbf034991f6c609ac98acdc103a939113d97bc4497ddb829cb0b2dab8
MD5 1946dd6f5da9b85ce910f56cefb5c65e
BLAKE2b-256 015973aba78ede0d07b45f0667a43a4f79afe7684e2b6bde61a2c66973faf8c2

See more details on using hashes here.

File details

Details for the file tracking_graph-0.9.0-py3-none-any.whl.

File metadata

File hashes

Hashes for tracking_graph-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0a9d8c0f6c2e4ff3b1d2c73de43f5ccc135512dcf0d491af5ffdc94e73fdd454
MD5 8101ac271c680bc5130e3649d470a786
BLAKE2b-256 edd955f19880a6bfe055e4281fdf52c28a9e8bca1b5b9d2fd1c70a9d1cf90ba2

See more details on using hashes here.

Supported by

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