Opening the black box toward a modular approach to spike sorting.
The 23 matches · 3 of them tie a paragraph to a whole file, not to given lines: weak matches, whose lines are not tinted
- [1] § Methods › Real datasets ↔ notebooks/real_data_figure/generate_curation_data.py, the whole file · a weak match · score 0.90 · Bombcell mua, UnitRefine sua, UnitRefine mua, SLAy merges, Bombcell noise, UnitRefine noise
- [2] § Methods › Simulated datasets ↔ src/spikeinterface/core/generate.py, lines 1686–1764 · score 0.89 · propagation speed, spatial decay, positive amplitudes, channel positions, anisotropies, depolarization
- [3] § Methods › End-to-end spike sorter comparison on synthetic recordings › SpyKING-CIRCUS 2 ↔ src/spikeinterface/sorters/internal/spyking_circus2.py, lines 20–89 · score 0.86 · orthogonal matching pursuit, Circus OMP, SpyKING CIRCUS, matched filtering, SpikeInterface, peak detection
- [4] § Methods › Template matching › Circus-OMP ↔ src/spikeinterface/sortingcomponents/matching/circus.py, lines 102–155 · score 0.79 · Orthogonal Matching Pursuit, Cholesky decomposition, matching algorithm, reconstruction, internal, efficient
- [5] § Methods › Template matching › KS-matching ↔ src/spikeinterface/sortingcomponents/matching/circus.py, lines 102–155 · score 0.70 · scalar products, Matching Pursuit, sparsified, convolved, torch, precomputation
- [6] § Methods › Peak detection › Locally exclusive ↔ src/spikeinterface/preprocessing/detect_artifacts.py, lines 334–435 · score 0.70 · median absolute deviation, threshold crossings, detection threshold, zone, SpikeInterface, signal
- [7] § Methods › Peak detection › Locally exclusive ↔ src/spikeinterface/preprocessing/detect_bad_channels.py, lines 1–82 · score 0.67 · median absolute deviation, spatial radius, radius um, ms, threshold, signal
- [8] § Results › Benchmarking individual spike sorting steps improves overall spike sorting quality › Template matching ↔ src/spikeinterface/sorters/internal/spyking_circus2.py, lines 20–89 · score 0.66 · Circus OMP, slightly slower, Matching Pursuit, firing rates, motion corrected, reconstructing
- [9] § Methods › Real datasets ↔ notebooks/real_data_figure/generate_curation_data.py, the whole file · a weak match · score 0.65 · UnitRefine, curation, sorting analyzer, lightweight, sua, SLAy
- [10] § Methods › Real datasets ↔ src/spikeinterface/curation/train_manual_curation.py, lines 656–772 · score 0.64 · manual curation, quality metrics, sorting analyzer, curated, classifiers, trained
- [11] § Results › Benchmarking individual spike sorting steps improves overall spike sorting quality › Peak detection ↔ src/spikeinterface/preprocessing/detect_artifacts.py, lines 334–435 · score 0.63 · median absolute deviations, threshold crossings, detection threshold, events, amplitude, peak
- [12] § Methods › Clustering › Iterative clusterings (Iter-HDBSCAN and Iter-ISOSPLIT) ↔ src/spikeinterface/sortingcomponents/clustering/iterative_hdbscan.py, lines 80–220 · score 0.62 · duplicated clusters, small clusters, firing rate, HDBSCAN, neighborhood, split
- [13] § Methods › Clustering › Iterative clusterings (Iter-HDBSCAN and Iter-ISOSPLIT) ↔ src/spikeinterface/sortingcomponents/clustering/iterative_isosplit.py, lines 18–102 · score 0.60 · clustering algorithm, ISOSPLIT, firing rate, conquer, l1, dimensional
- [14] § Methods › Template matching › TDC-peeler drift aware ↔ src/spikeinterface/comparison/paircomparisons.py, lines 19–111 · score 0.59 · agreement score, ground truth comparison, spike trains, events, class, matching
- [15] § Methods › Template matching › TDC-peeler drift aware ↔ src/spikeinterface/widgets/collision.py, lines 185–298 · score 0.56 · Collision recalls, score, lag, metrics, ms, bin
- [16] § Methods › Clustering › Full graph sparse clustering (Global-Louvain) ↔ src/spikeinterface/sortingcomponents/clustering/graph_clustering.py, lines 10–66 · score 0.56 · local distances, graph, Louvain, connectivity, HDBSCAN, edge
- [17] § Methods › Simulated datasets ↔ src/spikeinterface/extractors/toy_example.py, the whole file · a weak match · score 0.54 · ground truth recordings, disk, lazy, fly, memory, seeded
- [18] § Results › Benchmarking individual spike sorting steps improves overall spike sorting quality › Template matching ↔ src/spikeinterface/sortingcomponents/matching/wobble.py, lines 353–404 · score 0.54 · super resolution, spike waveforms, Template matching, Wobble, temporal, trace
- [19] § Results › Benchmarking individual spike sorting steps improves overall spike sorting quality › Feature extraction and clustering ↔ src/spikeinterface/sortingcomponents/clustering/iterative_isosplit.py, lines 18–102 · score 0.53 · local clustering, clustering algorithms, firing rates, ISOSPLIT, sortingcomponents, iterative
- [20] § Results › Benchmarking individual spike sorting steps improves overall spike sorting quality › Peak detection ↔ src/spikeinterface/sortingcomponents/peak_detection/by_channel.py, lines 19–103 · score 0.53 · median absolute deviations, peak amplitude, peak detection, crossings, threshold
- [21] § Results › Benchmarking individual spike sorting steps improves overall spike sorting quality › Feature extraction and clustering ↔ src/spikeinterface/sortingcomponents/clustering/iterative_hdbscan.py, lines 15–78 · score 0.52 · local clustering, clustering algorithms, firing rates, HDBSCAN, sortingcomponents, iterative
- [22] § Results › End-to-end evaluation of component-based sorters ↔ src/spikeinterface/sorters/internal/lupin.py, lines 24–106 · score 0.52 · best sorter, peak detection, spike sorters, YASS, Lupin, template matching
- [23] § Results › End-to-end evaluation of component-based sorters ↔ src/spikeinterface/sorters/internal/lupin.py, lines 24–106 · score 0.51 · matching engine, spike sorters, Lupin, motion corrected, poses, Kilosort
Paper
Loaded from Europe PMC by your browser, not stored by OSCR: doi.org · Europe PMC
The paper is loaded when this pane is shown.
The authors' code
Python · 73 lines · 3.4 KB · MIT · 2 matches
- """
- Generates curation results from computed analyzers.
- Once you have the analyzers, run this code by `cd`ing into the `real_data_figure`
- folder, then running
- >>> uv run generate_curation_data.py
- """
- import spikeinterface.full as si
- import numpy as np
- import pandas as pd
- from pathlib import Path
- repo_folder = Path("/home/nolanlab/fromgit/sorting_components_benchmark_paper/")
- real_data_figure_folder = repo_folder / "notebooks/real_data_figure"
- analyzers_folder = real_data_figure_folder / "analyzers"
- dataset_protocols = {
- 'IBL': ['kilosort4_motion_correction', 'lupin_motion_correction', 'tridesclous2_motion_correction','spykingcircus2_motion_correction'],
- 'ucl': ['kilosort4_no_motion_correction', 'lupin_no_motion_correction', 'tridesclous2_no_motion_correction','spykingcircus2_no_motion_correction'],
- 'Duszkiewicz': ['kilosort4_no_motion_correction', 'lupin_no_motion_correction', 'tridesclous2_no_motion_correction','spykingcircus2_no_motion_correction'],
- }
- bombcell_labels = ['good', 'mua', 'noise', 'non_soma_good', 'non_soma_mua']
- unitrefine_labels = ['sua', 'mua', 'noise']
- merge_presets = ['slay']
- for dataset_name, protocols in dataset_protocols.items():
- bombcell_results = []
- unitrefine_results = []
- all_protocols_data = []
- for protocol in protocols:
- analyzer_path = analyzers_folder / f"{dataset_name}_{protocol}_analyzer"
- if analyzer_path.is_dir():
- analyzer = si.load_sorting_analyzer(analyzer_path)
- else:
- analyzer = si.load_sorting_analyzer(str(analyzer_path) + '.zarr')
- bombcell_unit_label = si.bombcell_label_units(analyzer, split_non_somatic_good_mua=True)['bombcell_label'].values
- bombcell_results = {label: np.sum(bombcell_unit_label == label) for label in bombcell_labels}
- # You need to donwload the UnitRefine models `noise_neural_classifier_lightweight` and `sua_mua_classifier_lightweight` from
- # https://huggingface.co/AnoushkaJain3
- unitrefine_unit_label = si.unitrefine_label_units(analyzer, noise_neural_classifier='/home/nolanlab/Downloads/noise_neural_classifier_lightweight', sua_mua_classifier='/home/nolanlab/Downloads/sua_mua_classifier_lightweight')
- unitrefine_results = {label: np.sum(unitrefine_unit_label['unitrefine_label'] == label) for label in unitrefine_labels}
- merge_results = {merge_preset: len(si.compute_merge_unit_groups(analyzer, preset=merge_preset)) for merge_preset in merge_presets}
- protocol_data = [
- protocol,
- analyzer.get_num_units(),
- bombcell_results['good'] + bombcell_results['non_soma_good'],
- unitrefine_results['sua'],
- bombcell_results['mua'] + bombcell_results['non_soma_mua'],
- unitrefine_results['mua'],
- merge_results['slay'],
- bombcell_results['noise'],
- unitrefine_results['noise'],
- ]
- all_protocols_data.append(protocol_data)
- results = pd.DataFrame(all_protocols_data, columns=["sorter", "total units", "bombcell good", "unitrefine sua", "bombcell mua", "unitrefine mua", "# slay merges", "bombcell noise", "unitrefine noise"], index=None)
- results.to_csv(real_data_figure_folder / f"curation_results/{dataset_name}_results.csv", index=False)
- # render for typst rendering
- for row in results.iterrows():
- for cell in row[1]:
- print(f"[{cell}], ", end="")
- print("")
generate_curation_data.py at commit d93ca4e, under MIT · at the source
Overview
- Centre de Recherche en Neuroscience de Lyon, CNRS Lyon France
- University of Edinburgh Edinburgh United Kingdom
- Columbia University New York United States
- Harvard Medical School Boston United States
- Massachusetts General Hospital Boston United States
- CatalystNeuro Casper United States
- Allen Institute for Neural Dynamics Seattle United States
- Lille Neurosciences & Cognition (LilNCog) – U1172 (INSERM, Lille), Univ Lille Lille France
Abstract
Spike sorting is an algorithmic process that extracts the activity of individual neurons from extracellular electrophysiology recordings. With the ballooning use of high-density probes, such as Neuropixels, this essential processing step is increasingly becoming time-consuming and computationally expensive. Although many software tools have been proposed to address spike sorting, they are usually constructed and benchmarked as monolithic ‘black boxes’, making it difficult to factor out the effects of individual algorithmic steps on the final outcome, especially when varying datasets and parameters. To address this issue, we developed a modular and common framework to develop, benchmark, and assemble the key computational steps that are used in state-of-the-art spike sorting algorithms. Relying on fast and efficient ground truth generation of biophysically plausible recordings, we show that we are able to individually benchmark and precisely quantify the performance of different steps in a spike sorting pipeline (i.e. peak detection, feature extraction, clustering, and template matching). We then leverage these results to create a modular, component-based spike sorter that can outperform Kilosort4 on dense and large simulated recordings, and produce similar quantitative results on real data. In addition, we find that the major bottleneck of all modern spike sorting pipelines is in the physical motion of probes, regardless of the drift-correction strategy. The component-based spike sorting framework presented here has the potential to foster community engagement in the field by lowering the barrier to contributions and providing a flexible yet powerful framework to construct end-to-end spike sorting solutions.
Reproduced under the paper's license (CC BY), from the paper cited above.
Repositories
Its files are read in the Code ↔ Paper reader above, with 23 matches between paragraphs and lines of code.
Zenodo 20407862
Availability: 1 check, the latest on 28 September 2026: the link answers (HTTP 200)
- 28 September 2026: the link answers (HTTP 200)
22 files
- notebooks/
clustering_drifting.ipyn , Jupyter, 222 linesb - notebooks/
clustering_drifting.py , Python, 133 lines - notebooks/
configuration.py , Python, 34 lines - notebooks/
dataset.py , Python, 239 lines - notebooks/
detection_method.ipynb , Jupyter, 125 lines - notebooks/
detection_method.py , Python, 91 lines - notebooks/
figure_dataset.ipynb , Jupyter, 513 lines - notebooks/
matching_drift.ipynb , Jupyter, 193 lines - notebooks/
matching_drift.py , Python, 155 lines - notebooks/
matching_drift_aware.ipy , Jupyter, 304 linesnb - notebooks/
matching_drift_aware.py , Python, 267 lines - notebooks/
real_data_figure/ , Python, 73 linesgenerate_curation_data.p y - notebooks/
real_data_figure/ , Python, 111 linesmake_drift_plots.py - notebooks/
real_data_figure/ , Python, 107 linessort_all_real_data.py - notebooks/
real_data_figure/ , Python, 149 linessort_one_piece_of_data.p y - notebooks/
slurm_tools.py , Python, 107 lines - notebooks/
sorters_simulation.ipynb , Jupyter, 199 lines - notebooks/
sorters_simulation.py , Python, 140 lines - notebooks/
sorters_simulation_other , Jupyter, 233 lines_probes.ipynb - notebooks/
sorters_simulation_other , Python, 136 lines_probes.py - LICENSE, License, 21 lines
- README.md, Text, 68 lines
SpikeInterface/sorting_components_benchmark_paper
d93ca4e101c822dfe12b99cc59bdb9d0ca1045b1, 27 May 2026Availability: 1 check, the latest on 28 September 2026: the link answers
- 28 September 2026: the link answers
22 files
- notebooks/
clustering_drifting.ipyn , Jupyter, 222 linesb - notebooks/
clustering_drifting.py , Python, 133 lines - notebooks/
configuration.py , Python, 34 lines - notebooks/
dataset.py , Python, 239 lines - notebooks/
detection_method.ipynb , Jupyter, 125 lines - notebooks/
detection_method.py , Python, 91 lines - notebooks/
figure_dataset.ipynb , Jupyter, 513 lines - notebooks/
matching_drift.ipynb , Jupyter, 193 lines - notebooks/
matching_drift.py , Python, 155 lines - notebooks/
matching_drift_aware.ipy , Jupyter, 304 linesnb - notebooks/
matching_drift_aware.py , Python, 267 lines - notebooks/
real_data_figure/ , Python, 73 lines, 2 matchesgenerate_curation_data.p y - notebooks/
real_data_figure/ , Python, 111 linesmake_drift_plots.py - notebooks/
real_data_figure/ , Python, 107 linessort_all_real_data.py - notebooks/
real_data_figure/ , Python, 149 linessort_one_piece_of_data.p y - notebooks/
slurm_tools.py , Python, 107 lines - notebooks/
sorters_simulation.ipynb , Jupyter, 199 lines - notebooks/
sorters_simulation.py , Python, 140 lines - notebooks/
sorters_simulation_other , Jupyter, 233 lines_probes.ipynb - notebooks/
sorters_simulation_other , Python, 136 lines_probes.py - LICENSE, License, 21 lines
- README.md, Text, 68 lines
SpikeInterface/spikeinterface
80aa6436dfc203305859aef8430fb0c63f5cbc22, 23 September 2026Availability: 1 check, the latest on 28 September 2026: the link answers
- 28 September 2026: the link answers
628 files
- .github/
run_tests.sh , Shell, 15 lines - .github/
scripts/ , Python, 67 linesbuild_job_summary.py - .github/
scripts/ , Python, 29 linescheck_kilosort4_releases .py - .github/
scripts/ , Python, 130 linesdetermine_testing_enviro nment.py - .github/
scripts/ , Python, 85 linesimport_test.py - .github/
scripts/ , Python, 287 linesserialization/ objects.py - .github/
scripts/ , Python, 46 linesserialization/ serialize_objects.py - .github/
scripts/ , Python, 30 linesserialization/ test_cross_version_compa tibility.py - .github/
scripts/ , Python, 756 linestest_kilosort4_ci.py - conftest.py, Python, 49 lines
- doc/
conf.py , Python, 150 lines - doc/
images/ , Python, 71 linesmake_comparison_figures. py - doc/
scripts/ , Shell, 47 linesauto-release-notes.sh - examples/
forhowto/ , Python, 333 linesplot_extract_lfps.py - examples/
forhowto/ , Python, 117 linesplot_working_with_tetrod es.py - examples/
get_started/ , Python, 441 linesquickstart.py - examples/
how_to/ , Python, 351 linesanalyze_neuropixels.py - examples/
how_to/ , Python, 165 linesauto_label_units.py - examples/
how_to/ , Python, 294 linesbenchmark_with_hybrid_re cordings.py - examples/
how_to/ , Python, 113 linesbuild_pipeline_with_dict s.py - examples/
how_to/ , Python, 100 linescustomize_a_plot.py - examples/
how_to/ , Python, 112 linesdrift_with_lfp.py - examples/
how_to/ , Python, 275 lineshandle_drift.py - examples/
how_to/ , Python, 88 linesread_various_formats.py - examples/
tutorials/ , Python, 102 linescomparison/ generate_erroneous_sorti ng.py - examples/
tutorials/ , Python, 95 linescomparison/ plot_5_comparison_sorter _weaknesses.py - examples/
tutorials/ , Python, 186 linescore/ plot_1_recording_extract or.py - examples/
tutorials/ , Python, 138 linescore/ plot_2_sorting_extractor .py - examples/
tutorials/ , Python, 71 linescore/ plot_3_handle_probe_info .py - examples/
tutorials/ , Python, 185 linescore/ plot_4_sorting_analyzer. py - examples/
tutorials/ , Python, 66 linescore/ plot_5_append_concatenat e_segments.py - examples/
tutorials/ , Python, 53 linescore/ plot_6_handle_times.py - examples/
tutorials/ , Python, 288 linescuration/ plot_1_automated_curatio n.py - examples/
tutorials/ , Python, 168 linescuration/ plot_2_train_a_model.py - examples/
tutorials/ , Python, 139 linescuration/ plot_3_upload_a_model.py - examples/
tutorials/ , Python, 68 linesextractors/ plot_2_working_with_unsc aled_traces.py - examples/
tutorials/ , Python, 87 linesmetrics/ plot_3_quality_metrics.p y - examples/
tutorials/ , Python, 74 linesmetrics/ plot_4_curation.py - examples/
tutorials/ , Python, 103 linessortingcomponents/ plot_1_estimate_motion.p y - examples/
tutorials/ , Python, 54 lineswidgets/ plot_1_rec_gallery.py - examples/
tutorials/ , Python, 53 lineswidgets/ plot_2_sort_gallery.py - examples/
tutorials/ , Python, 99 lineswidgets/ plot_3_waveforms_gallery .py - examples/
tutorials/ , Python, 62 lineswidgets/ plot_4_peaks_gallery.py - installation_tips/
check_your_install.py , Python, 127 lines - installation_tips/
cleanup_for_windows.py , Python, 21 lines - src/
spikeinterface/ , Python, 31 lines__init__.py - src/
spikeinterface/ , Python, 9 linesbenchmark/ __init__.py - src/
spikeinterface/ , Python, 785 linesbenchmark/ benchmark_base.py - src/
spikeinterface/ , Python, 400 linesbenchmark/ benchmark_clustering.py - src/
spikeinterface/ , Python, 153 linesbenchmark/ benchmark_matching.py - src/
spikeinterface/ , Python, 173 linesbenchmark/ benchmark_merging.py - src/
spikeinterface/ , Python, 975 linesbenchmark/ benchmark_motion_estimat ion.py - src/
spikeinterface/ , Python, 245 linesbenchmark/ benchmark_motion_interpo lation.py - src/
spikeinterface/ , Python, 326 linesbenchmark/ benchmark_peak_detection .py - src/
spikeinterface/ , Python, 551 linesbenchmark/ benchmark_peak_localizat ion.py - src/
spikeinterface/ , Python, 653 linesbenchmark/ benchmark_peak_selection .py - src/
spikeinterface/ , Python, 1,207 linesbenchmark/ benchmark_plot_tools.py - src/
spikeinterface/ , Python, 132 linesbenchmark/ benchmark_sorter.py - src/
spikeinterface/ , Python, 209 linesbenchmark/ benchmark_sorter_without _gt.py - src/
spikeinterface/ , Python, 17 linesbenchmark/ benchmark_tools.py - src/
spikeinterface/ , Python, 71 linesbenchmark/ residual_analysis.py - src/
spikeinterface/ , Python, 145 linesbenchmark/ tests/ common_benchmark_testing .py - src/
spikeinterface/ , Python, 82 linesbenchmark/ tests/ test_benchmark_clusterin g.py - src/
spikeinterface/ , Python, 76 linesbenchmark/ tests/ test_benchmark_matching. py - src/
spikeinterface/ , Python, 62 linesbenchmark/ tests/ test_benchmark_merging.p y - src/
spikeinterface/ , Python, 80 linesbenchmark/ tests/ test_benchmark_motion_es timation.py - src/
spikeinterface/ , Python, 142 linesbenchmark/ tests/ test_benchmark_motion_in terpolation.py - src/
spikeinterface/ , Python, 72 linesbenchmark/ tests/ test_benchmark_peak_dete ction.py - src/
spikeinterface/ , Python, 103 linesbenchmark/ tests/ test_benchmark_peak_loca lization.py - src/
spikeinterface/ , Python, 13 linesbenchmark/ tests/ test_benchmark_peak_sele ction.py - src/
spikeinterface/ , Python, 373 linesbenchmark/ tests/ test_benchmark_sorter.py - src/
spikeinterface/ , Python, 73 linesbenchmark/ tests/ test_benchmark_sorter_wi thout_gt.py - src/
spikeinterface/ , Python, 25 linesbenchmark/ tests/ test_residual_analysis.p y - src/
spikeinterface/ , Python, 34 linescomparison/ __init__.py - src/
spikeinterface/ , Python, 335 linescomparison/ basecomparison.py - src/
spikeinterface/ , Python, 240 linescomparison/ collision.py - src/
spikeinterface/ , Python, 1,435 linescomparison/ comparisontools.py - src/
spikeinterface/ , Python, 187 linescomparison/ correlogram.py - src/
spikeinterface/ , Python, 21 linescomparison/ groundtruthstudy.py - src/
spikeinterface/ , Python, 336 linescomparison/ multicomparisons.py - src/
spikeinterface/ , Python, 862 lines, 1 matchcomparison/ paircomparisons.py - src/
spikeinterface/ , Python, 503 linescomparison/ tests/ test_comparisontools.py - src/
spikeinterface/ , Python, 177 linescomparison/ tests/ test_groundtruthcomparis on.py - src/
spikeinterface/ , Python, 127 linescomparison/ tests/ test_multisortingcompari son.py - src/
spikeinterface/ , Python, 64 linescomparison/ tests/ test_symmetricsortingcom parison.py - src/
spikeinterface/ , Python, 60 linescomparison/ tests/ test_templatecomparison. py - src/
spikeinterface/ , Python, 219 linescore/ __init__.py - src/
spikeinterface/ , Python, 1,809 linescore/ analyzer_extension_core. py - src/
spikeinterface/ , Python, 1,065 linescore/ base.py - src/
spikeinterface/ , Python, 171 linescore/ baseevent.py - src/
spikeinterface/ , Python, 703 linescore/ baserecording.py - src/
spikeinterface/ , Python, 637 linescore/ baserecordingsnippets.py - src/
spikeinterface/ , Python, 294 linescore/ basesnippets.py - src/
spikeinterface/ , Python, 1,312 linescore/ basesorting.py - src/
spikeinterface/ , Python, 205 linescore/ binaryfolder.py - src/
spikeinterface/ , Python, 291 linescore/ binaryrecordingextractor .py - src/
spikeinterface/ , Python, 295 linescore/ channelsaggregationrecor ding.py - src/
spikeinterface/ , Python, 224 linescore/ channelslice.py - src/
spikeinterface/ , Python, 956 linescore/ core_tools.py - src/
spikeinterface/ , Python, 91 linescore/ datasets.py - src/
spikeinterface/ , Python, 145 linescore/ frameslicerecording.py - src/
spikeinterface/ , Python, 131 linescore/ frameslicesorting.py - src/
spikeinterface/ , Python, 2,522 lines, 1 matchcore/ generate.py - src/
spikeinterface/ , Python, 157 linescore/ globals.py - src/
spikeinterface/ , Python, 788 linescore/ job_tools.py - src/
spikeinterface/ , Python, 308 linescore/ loading.py - src/
spikeinterface/ , Python, 319 linescore/ motion.py - src/
spikeinterface/ , Python, 1,193 linescore/ node_pipeline.py - src/
spikeinterface/ , Python, 103 linescore/ npyfoldersnippets.py - src/
spikeinterface/ , Python, 166 linescore/ npysnippetsextractor.py - src/
spikeinterface/ , Python, 5 linescore/ npzfolder.py - src/
spikeinterface/ , Python, 84 linescore/ npzsortingextractor.py - src/
spikeinterface/ , Python, 758 linescore/ numpyextractors.py - src/
spikeinterface/ , Python, 373 linescore/ old_api_utils.py - src/
spikeinterface/ , Python, 82 linescore/ operatorrecordings.py - src/
spikeinterface/ , Python, 860 linescore/ recording_tools.py - src/
spikeinterface/ , Python, 627 linescore/ segmentutils.py - src/
spikeinterface/ , Python, 66 linescore/ snippets_tools.py - src/
spikeinterface/ , Python, 1,215 linescore/ sorting_tools.py - src/
spikeinterface/ , Python, 3,786 linescore/ sortinganalyzer.py - src/
spikeinterface/ , Python, 181 linescore/ sortingfolder.py - src/
spikeinterface/ , Python, 918 linescore/ sparsity.py - src/
spikeinterface/ , Python, 530 linescore/ template.py - src/
spikeinterface/ , Python, 530 linescore/ template_tools.py - src/
spikeinterface/ , Python, 155 linescore/ testing.py - src/
spikeinterface/ , Python, 9 linescore/ testing_tools.py - src/
spikeinterface/ , Python, 278 linescore/ tests/ test_analyzer_extension_ core.py - src/
spikeinterface/ , Python, 153 linescore/ tests/ test_base.py - src/
spikeinterface/ , Python, 545 linescore/ tests/ test_baserecording.py - src/
spikeinterface/ , Python, 198 linescore/ tests/ test_basesnippets.py - src/
spikeinterface/ , Python, 423 linescore/ tests/ test_basesorting.py - src/
spikeinterface/ , Python, 28 linescore/ tests/ test_binaryfolder.py - src/
spikeinterface/ , Python, 155 linescore/ tests/ test_binaryrecordingextr actor.py - src/
spikeinterface/ , Python, 442 linescore/ tests/ test_channelsaggregation recording.py - src/
spikeinterface/ , Python, 133 linescore/ tests/ test_channelslicerecordi ng.py - src/
spikeinterface/ , Python, 195 linescore/ tests/ test_core_tools.py - src/
spikeinterface/ , Python, 45 linescore/ tests/ test_frameslicerecording .py - src/
spikeinterface/ , Python, 115 linescore/ tests/ test_frameslicesorting.p y - src/
spikeinterface/ , Python, 682 linescore/ tests/ test_generate.py - src/
spikeinterface/ , Python, 88 linescore/ tests/ test_globals.py - src/
spikeinterface/ , Python, 366 linescore/ tests/ test_job_tools.py - src/
spikeinterface/ , Python, 216 linescore/ tests/ test_jsonification.py - src/
spikeinterface/ , Python, 234 linescore/ tests/ test_loading.py - src/
spikeinterface/ , Python, 55 linescore/ tests/ test_motion_core.py - src/
spikeinterface/ , Python, 434 linescore/ tests/ test_node_pipeline.py - src/
spikeinterface/ , Python, 45 linescore/ tests/ test_noise_levels_propag ation.py - src/
spikeinterface/ , Python, 33 linescore/ tests/ test_npyfoldersnippets.p y - src/
spikeinterface/ , Python, 25 linescore/ tests/ test_npysnippetsextracto r.py - src/
spikeinterface/ , Python, 27 linescore/ tests/ test_npzsortingextractor .py - src/
spikeinterface/ , Python, 166 linescore/ tests/ test_numpy_extractors.py - src/
spikeinterface/ , Python, 50 linescore/ tests/ test_operator_recordings .py - src/
spikeinterface/ , Python, 359 linescore/ tests/ test_recording_tools.py - src/
spikeinterface/ , Python, 291 linescore/ tests/ test_segmentutils.py - src/
spikeinterface/ , Python, 57 linescore/ tests/ test_sorting_folder.py - src/
spikeinterface/ , Python, 542 linescore/ tests/ test_sorting_tools.py - src/
spikeinterface/ , Python, 1,307 linescore/ tests/ test_sortinganalyzer.py - src/
spikeinterface/ , Python, 371 linescore/ tests/ test_sparsity.py - src/
spikeinterface/ , Python, 176 linescore/ tests/ test_template_class.py - src/
spikeinterface/ , Python, 103 linescore/ tests/ test_template_tools.py - src/
spikeinterface/ , Python, 657 linescore/ tests/ test_time_handling.py - src/
spikeinterface/ , Python, 173 linescore/ tests/ test_time_series_tools.p y - src/
spikeinterface/ , Python, 183 linescore/ tests/ test_unitsaggregationsor ting.py - src/
spikeinterface/ , Python, 56 linescore/ tests/ test_unitsselectionsorti ng.py - src/
spikeinterface/ , Python, 273 linescore/ tests/ test_waveform_tools.py - src/
spikeinterface/ , Python, 279 linescore/ tests/ test_waveforms_extractor _backwards_compatibility .py - src/
spikeinterface/ , Python, 84 linescore/ tests/ test_zarrextractors.py - src/
spikeinterface/ , Python, 544 linescore/ time_series.py - src/
spikeinterface/ , Python, 715 linescore/ time_series_tools.py - src/
spikeinterface/ , Python, 174 linescore/ unitsaggregationsorting. py - src/
spikeinterface/ , Python, 95 linescore/ unitsselectionsorting.py - src/
spikeinterface/ , Python, 1,052 linescore/ waveform_tools.py - src/
spikeinterface/ , Python, 841 linescore/ waveforms_extractor_back wards_compatibility.py - src/
spikeinterface/ , Python, 834 linescore/ zarrextractors.py - src/
spikeinterface/ , Python, 11 linescore/ zarrrecordingextractor.p y - src/
spikeinterface/ , Python, 36 linescuration/ __init__.py - src/
spikeinterface/ , Python, 1,605 linescuration/ auto_merge.py - src/
spikeinterface/ , Python, 507 linescuration/ bombcell_curation.py - src/
spikeinterface/ , Python, 314 linescuration/ curation_format.py - src/
spikeinterface/ , Python, 519 linescuration/ curation_model.py - src/
spikeinterface/ , Python, 202 linescuration/ curation_tools.py - src/
spikeinterface/ , Python, 294 linescuration/ curationsorting.py - src/
spikeinterface/ , Python, 189 linescuration/ mergeunitssorting.py - src/
spikeinterface/ , Python, 589 linescuration/ model_based_curation.py - src/
spikeinterface/ , Python, 96 linescuration/ remove_duplicated_spikes .py - src/
spikeinterface/ , Python, 109 linescuration/ remove_excess_spikes.py - src/
spikeinterface/ , Python, 175 linescuration/ remove_redundant.py - src/
spikeinterface/ , Python, 125 linescuration/ sortingview_curation.py - src/
spikeinterface/ , Python, 152 linescuration/ splitunitsorting.py - src/
spikeinterface/ , Python, 124 linescuration/ tests/ common.py - src/
spikeinterface/ , Python, 100 linescuration/ tests/ test_auto_merge.py - src/
spikeinterface/ , Python, 74 linescuration/ tests/ test_bombcell_curation.p y - src/
spikeinterface/ , Python, 464 linescuration/ tests/ test_curation_format.py - src/
spikeinterface/ , Python, 314 linescuration/ tests/ test_curation_model.py - src/
spikeinterface/ , Python, 147 linescuration/ tests/ test_curationsorting.py - src/
spikeinterface/ , Python, 223 linescuration/ tests/ test_model_based_curatio n.py - src/
spikeinterface/ , Python, 33 linescuration/ tests/ test_remove_duplicated_s pikes.py - src/
spikeinterface/ , Python, 62 linescuration/ tests/ test_remove_excess_spike s.py - src/
spikeinterface/ , Python, 29 linescuration/ tests/ test_remove_redundant.py - src/
spikeinterface/ , Python, 278 linescuration/ tests/ test_sortingview_curatio n.py - src/
spikeinterface/ , Python, 230 linescuration/ tests/ test_threshold_metrics_c uration.py - src/
spikeinterface/ , Python, 285 linescuration/ tests/ test_train_manual_curati on.py - src/
spikeinterface/ , Python, 91 linescuration/ tests/ test_unitrefine_curation .py - src/
spikeinterface/ , Python, 140 linescuration/ threshold_metrics_curati on.py - src/
spikeinterface/ , Python, 838 lines, 1 matchcuration/ train_manual_curation.py - src/
spikeinterface/ , Python, 126 linescuration/ unitrefine_curation.py - src/
spikeinterface/ , Python, 4 linesexporters/ __init__.py - src/
spikeinterface/ , Python, 147 linesexporters/ report.py - src/
spikeinterface/ , Python, 79 linesexporters/ tests/ common.py - src/
spikeinterface/ , Python, 114 linesexporters/ tests/ test_export_to_ibl.py - src/
spikeinterface/ , Python, 298 linesexporters/ tests/ test_export_to_phy.py - src/
spikeinterface/ , Python, 79 linesexporters/ tests/ test_export_to_pynapple. py - src/
spikeinterface/ , Python, 26 linesexporters/ tests/ test_report.py - src/
spikeinterface/ , Python, 307 linesexporters/ to_ibl.py - src/
spikeinterface/ , Python, 336 linesexporters/ to_phy.py - src/
spikeinterface/ , Python, 111 linesexporters/ to_pynapple.py - src/
spikeinterface/ , Python, 7 linesextractors/ __init__.py - src/
spikeinterface/ , Python, 68 linesextractors/ alfsortingextractor.py - src/
spikeinterface/ , Python, 107 linesextractors/ bids.py - src/
spikeinterface/ , Python, 318 linesextractors/ cbin_ibl.py - src/
spikeinterface/ , Python, 198 linesextractors/ cellexplorersortingextra ctor.py - src/
spikeinterface/ , Python, 103 linesextractors/ combinatoextractors.py - src/
spikeinterface/ , Python, 208 linesextractors/ extractor_classes.py - src/
spikeinterface/ , Python, 260 linesextractors/ hdsortextractors.py - src/
spikeinterface/ , Python, 78 linesextractors/ herdingspikesextractors. py - src/
spikeinterface/ , Python, 368 linesextractors/ iblextractors.py - src/
spikeinterface/ , Python, 153 linesextractors/ klustaextractors.py - src/
spikeinterface/ , Python, 86 linesextractors/ matlabhelpers.py - src/
spikeinterface/ , Python, 104 linesextractors/ mclustextractors.py - src/
spikeinterface/ , Python, 164 linesextractors/ mcsh5extractors.py - src/
spikeinterface/ , Python, 852 linesextractors/ mdaextractors.py - src/
spikeinterface/ , Python, 105 linesextractors/ neoextractors/ __init__.py - src/
spikeinterface/ , Python, 92 linesextractors/ neoextractors/ alphaomega.py - src/
spikeinterface/ , Python, 64 linesextractors/ neoextractors/ axon.py - src/
spikeinterface/ , Python, 48 linesextractors/ neoextractors/ axona.py - src/
spikeinterface/ , Python, 96 linesextractors/ neoextractors/ biocam.py - src/
spikeinterface/ , Python, 141 linesextractors/ neoextractors/ blackrock.py - src/
spikeinterface/ , Python, 59 linesextractors/ neoextractors/ ced.py - src/
spikeinterface/ , Python, 58 linesextractors/ neoextractors/ edf.py - src/
spikeinterface/ , Python, 210 linesextractors/ neoextractors/ intan.py - src/
spikeinterface/ , Python, 152 linesextractors/ neoextractors/ maxwell.py - src/
spikeinterface/ , Python, 63 linesextractors/ neoextractors/ mcsraw.py - src/
spikeinterface/ , Python, 136 linesextractors/ neoextractors/ mearec.py - src/
spikeinterface/ , Python, 63 linesextractors/ neoextractors/ neo_utils.py - src/
spikeinterface/ , Python, 725 linesextractors/ neoextractors/ neobaseextractor.py - src/
spikeinterface/ , Python, 138 linesextractors/ neoextractors/ neuralynx.py - src/
spikeinterface/ , Python, 74 linesextractors/ neoextractors/ neuroexplorer.py - src/
spikeinterface/ , Python, 64 linesextractors/ neoextractors/ neuronexus.py - src/
spikeinterface/ , Python, 405 linesextractors/ neoextractors/ neuroscope.py - src/
spikeinterface/ , Python, 61 linesextractors/ neoextractors/ nix.py - src/
spikeinterface/ , Python, 553 linesextractors/ neoextractors/ openephys.py - src/
spikeinterface/ , Python, 94 linesextractors/ neoextractors/ plexon.py - src/
spikeinterface/ , Python, 142 linesextractors/ neoextractors/ plexon2.py - src/
spikeinterface/ , Python, 53 linesextractors/ neoextractors/ spike2.py - src/
spikeinterface/ , Python, 97 linesextractors/ neoextractors/ spikegadgets.py - src/
spikeinterface/ , Python, 166 linesextractors/ neoextractors/ spikeglx.py - src/
spikeinterface/ , Python, 60 linesextractors/ neoextractors/ tdt.py - src/
spikeinterface/ , Python, 122 linesextractors/ neuropixels_utils.py - src/
spikeinterface/ , Python, 1,873 linesextractors/ nwbextractors.py - src/
spikeinterface/ , Python, 606 linesextractors/ phykilosortextractors.py - src/
spikeinterface/ , Python, 260 linesextractors/ shybridextractors.py - src/
spikeinterface/ , Python, 402 linesextractors/ sinapsrecordingextractor s.py - src/
spikeinterface/ , Python, 112 linesextractors/ spykingcircusextractors. py - src/
spikeinterface/ , Python, 190 linesextractors/ tests/ common_tests.py - src/
spikeinterface/ , Python, 34 linesextractors/ tests/ test_alfsortingextractor .py - src/
spikeinterface/ , Python, 49 linesextractors/ tests/ test_bidsextractors.py - src/
spikeinterface/ , Python, 238 linesextractors/ tests/ test_cbin_ibl_extractors .py - src/
spikeinterface/ , Python, 33 linesextractors/ tests/ test_cellexplorerextract or.py - src/
spikeinterface/ , Python, 16 linesextractors/ tests/ test_combinatoextractors .py - src/
spikeinterface/ , Python, 19 linesextractors/ tests/ test_datalad_downloading .py - src/
spikeinterface/ , Python, 18 linesextractors/ tests/ test_hdsortextractors.py - src/
spikeinterface/ , Python, 17 linesextractors/ tests/ test_herdingspikesextrac tors.py - src/
spikeinterface/ , Python, 251 linesextractors/ tests/ test_iblextractors.py - src/
spikeinterface/ , Python, 17 linesextractors/ tests/ test_klustaextractors.py - src/
spikeinterface/ , Python, 29 linesextractors/ tests/ test_mclustextractors.py - src/
spikeinterface/ , Python, 48 linesextractors/ tests/ test_mdaextractors.py - src/
spikeinterface/ , Python, 531 linesextractors/ tests/ test_neoextractors.py - src/
spikeinterface/ , Python, 1,278 linesextractors/ tests/ test_nwbextractors.py - src/
spikeinterface/ , Python, 246 linesextractors/ tests/ test_nwbextractors_strea ming.py - src/
spikeinterface/ , Python, 30 linesextractors/ tests/ test_shybridextractors.p y - src/
spikeinterface/ , Python, 17 linesextractors/ tests/ test_spykingcircusextrac tors.py - src/
spikeinterface/ , Python, 18 linesextractors/ tests/ test_toy_example.py - src/
spikeinterface/ , Python, 17 linesextractors/ tests/ test_tridesclousextracto rs.py - src/
spikeinterface/ , Python, 17 linesextractors/ tests/ test_waveclustextractors .py - src/
spikeinterface/ , Python, 79 linesextractors/ tests/ test_whitematterrecordin gextractor.py - src/
spikeinterface/ , Python, 40 linesextractors/ tests/ test_xclustextractors.py - src/
spikeinterface/ , Python, 17 linesextractors/ tests/ test_yassextractors.py - src/
spikeinterface/ , Python, 66 linesextractors/ tests/ test_zarr_array_extracto r.py - src/
spikeinterface/ , Python, 161 lines, 1 matchextractors/ toy_example.py - src/
spikeinterface/ , Python, 74 linesextractors/ tridesclousextractors.py - src/
spikeinterface/ , Python, 154 linesextractors/ waveclussnippetstextract ors.py - src/
spikeinterface/ , Python, 63 linesextractors/ waveclustextractors.py - src/
spikeinterface/ , Python, 94 linesextractors/ whitematterrecordingextr actor.py - src/
spikeinterface/ , Python, 168 linesextractors/ xclustextractors.py - src/
spikeinterface/ , Python, 69 linesextractors/ yassextractors.py - src/
spikeinterface/ , Python, 28 linesfull.py - src/
spikeinterface/ , Python, 49 linesgeneration/ __init__.py - src/
spikeinterface/ , Python, 642 linesgeneration/ drift_tools.py - src/
spikeinterface/ , Python, 611 linesgeneration/ drifting_generator.py - src/
spikeinterface/ , Python, 570 linesgeneration/ hybrid_tools.py - src/
spikeinterface/ , Python, 293 linesgeneration/ noise_tools.py - src/
spikeinterface/ , Python, 150 linesgeneration/ splitting_tools.py - src/
spikeinterface/ , Python, 135 linesgeneration/ template_database.py - src/
spikeinterface/ , Python, 126 linesgeneration/ tests/ test_drifing_generator.p y - src/
spikeinterface/ , Python, 228 linesgeneration/ tests/ test_drift_tools.py - src/
spikeinterface/ , Python, 95 linesgeneration/ tests/ test_hybrid_tools.py - src/
spikeinterface/ , Python, 44 linesgeneration/ tests/ test_noise_tools.py - src/
spikeinterface/ , Python, 28 linesgeneration/ tests/ test_splitting_tools.py - src/
spikeinterface/ , Python, 50 linesgeneration/ tests/ test_template_database.p y - src/
spikeinterface/ , Python, 3 linesmetrics/ __init__.py - src/
spikeinterface/ , Python, 76 linesmetrics/ conftest.py - src/
spikeinterface/ , Python, 23 linesmetrics/ quality/ __init__.py - src/
spikeinterface/ , Python, 1,999 linesmetrics/ quality/ misc_metrics.py - src/
spikeinterface/ , Python, 1,083 linesmetrics/ quality/ pca_metrics.py - src/
spikeinterface/ , Python, 250 linesmetrics/ quality/ quality_metrics.py - src/
spikeinterface/ , Python, 874 linesmetrics/ quality/ tests/ test_metrics_functions.p y - src/
spikeinterface/ , Python, 125 linesmetrics/ quality/ tests/ test_pca_metrics.py - src/
spikeinterface/ , Python, 270 linesmetrics/ quality/ tests/ test_quality_metric_calc ulator.py - src/
spikeinterface/ , Python, 8 linesmetrics/ spiketrain/ __init__.py - src/
spikeinterface/ , Python, 90 linesmetrics/ spiketrain/ metrics.py - src/
spikeinterface/ , Python, 60 linesmetrics/ spiketrain/ spiketrain_metrics.py - src/
spikeinterface/ , Python, 33 linesmetrics/ spiketrain/ tests/ test_metric_functions.py - src/
spikeinterface/ , Python, 9 linesmetrics/ template/ __init__.py - src/
spikeinterface/ , Python, 1,398 linesmetrics/ template/ metrics.py - src/
spikeinterface/ , Python, 355 linesmetrics/ template/ template_metrics.py - src/
spikeinterface/ , Python, 150 linesmetrics/ template/ tests/ test_template_metrics.py - src/
spikeinterface/ , Python, 210 linesmetrics/ utils.py - src/
spikeinterface/ , Python, 49 linespostprocessing/ __init__.py - src/
spikeinterface/ , Python, 54 linespostprocessing/ alignsorting.py - src/
spikeinterface/ , Python, 718 linespostprocessing/ amplitude_scalings.py - src/
spikeinterface/ , Python, 1,581 linespostprocessing/ correlograms.py - src/
spikeinterface/ , Python, 215 linespostprocessing/ isi.py - src/
spikeinterface/ , Python, 713 linespostprocessing/ localization_tools.py - src/
spikeinterface/ , Python, 3 linespostprocessing/ noise_level.py - src/
spikeinterface/ , Python, 741 linespostprocessing/ principal_component.py - src/
spikeinterface/ , Python, 112 linespostprocessing/ spike_amplitudes.py - src/
spikeinterface/ , Python, 91 linespostprocessing/ spike_locations.py - src/
spikeinterface/ , Python, 559 linespostprocessing/ template_similarity.py - src/
spikeinterface/ , Python, 250 linespostprocessing/ tests/ common_extension_tests.p y - src/
spikeinterface/ , Python, 33 linespostprocessing/ tests/ conftest.py - src/
spikeinterface/ , Python, 50 linespostprocessing/ tests/ test_align_sorting.py - src/
spikeinterface/ , Python, 127 linespostprocessing/ tests/ test_amplitude_scalings. py - src/
spikeinterface/ , Python, 698 linespostprocessing/ tests/ test_correlograms.py - src/
spikeinterface/ , Python, 106 linespostprocessing/ tests/ test_extension_merges.py - src/
spikeinterface/ , Python, 53 linespostprocessing/ tests/ test_isi.py - src/
spikeinterface/ , Python, 384 linespostprocessing/ tests/ test_multi_extensions.py - src/
spikeinterface/ , Python, 3 linespostprocessing/ tests/ test_noise_levels.py - src/
spikeinterface/ , Python, 248 linespostprocessing/ tests/ test_principal_component .py - src/
spikeinterface/ , Python, 8 linespostprocessing/ tests/ test_spike_amplitudes.py - src/
spikeinterface/ , Python, 19 linespostprocessing/ tests/ test_spike_locations.py - src/
spikeinterface/ , Python, 146 linespostprocessing/ tests/ test_template_similarity .py - src/
spikeinterface/ , Python, 69 linespostprocessing/ tests/ test_unit_locations.py - src/
spikeinterface/ , Python, 140 linespostprocessing/ tests/ test_valid_unit_periods. py - src/
spikeinterface/ , Python, 130 linespostprocessing/ unit_locations.py - src/
spikeinterface/ , Python, 805 linespostprocessing/ valid_unit_periods.py - src/
spikeinterface/ , Python, 26 linespreprocessing/ __init__.py - src/
spikeinterface/ , Python, 105 linespreprocessing/ _resampling_tools.py - src/
spikeinterface/ , Python, 113 linespreprocessing/ align_snippets.py - src/
spikeinterface/ , Python, 81 linespreprocessing/ astype.py - src/
spikeinterface/ , Python, 154 linespreprocessing/ average_across_direction .py - src/
spikeinterface/ , Python, 59 linespreprocessing/ basepreprocessor.py - src/
spikeinterface/ , Python, 173 linespreprocessing/ clip.py - src/
spikeinterface/ , Python, 348 linespreprocessing/ common_reference.py - src/
spikeinterface/ , Python, 108 linespreprocessing/ correct_lsb.py - src/
spikeinterface/ , Python, 200 linespreprocessing/ decimate.py - src/
spikeinterface/ , Python, 2 linespreprocessing/ deepinterpolation/ __init__.py - src/
spikeinterface/ , Python, 196 linespreprocessing/ deepinterpolation/ deepinterpolation.py - src/
spikeinterface/ , Python, 294 linespreprocessing/ deepinterpolation/ generators.py - src/
spikeinterface/ , Python, 187 linespreprocessing/ deepinterpolation/ tests/ test_deepinterpolation.p y - src/
spikeinterface/ , Python, 47 linespreprocessing/ deepinterpolation/ tf_utils.py - src/
spikeinterface/ , Python, 295 linespreprocessing/ deepinterpolation/ train.py - src/
spikeinterface/ , Python, 42 linespreprocessing/ depth_order.py - src/
spikeinterface/ , Python, 795 lines, 2 matchespreprocessing/ detect_artifacts.py - src/
spikeinterface/ , Python, 570 lines, 1 matchpreprocessing/ detect_bad_channels.py - src/
spikeinterface/ , Python, 139 linespreprocessing/ directional_derivative.p y - src/
spikeinterface/ , Python, 557 linespreprocessing/ filter.py - src/
spikeinterface/ , Python, 146 linespreprocessing/ filter_gaussian.py - src/
spikeinterface/ , Python, 290 linespreprocessing/ filter_opencl.py - src/
spikeinterface/ , Python, 366 linespreprocessing/ highpass_spatial_filter. py - src/
spikeinterface/ , Python, 175 linespreprocessing/ interpolate_bad_channels .py - src/
spikeinterface/ , Python, 713 linespreprocessing/ motion.py - src/
spikeinterface/ , Python, 331 linespreprocessing/ normalize_scale.py - src/
spikeinterface/ , Python, 213 linespreprocessing/ phase_shift.py - src/
spikeinterface/ , Python, 422 linespreprocessing/ pipeline.py - src/
spikeinterface/ , Python, 106 linespreprocessing/ preprocessing_classes.py - src/
spikeinterface/ , Python, 169 linespreprocessing/ preprocessing_tools.py - src/
spikeinterface/ , Python, 28 linespreprocessing/ rectify.py - src/
spikeinterface/ , Python, 454 linespreprocessing/ remove_artifacts.py - src/
spikeinterface/ , Python, 394 linespreprocessing/ resample.py - src/
spikeinterface/ , Python, 102 linespreprocessing/ scale.py - src/
spikeinterface/ , Python, 252 linespreprocessing/ silence_periods.py - src/
spikeinterface/ , Python, 39 linespreprocessing/ tests/ test_align_snippets.py - src/
spikeinterface/ , Python, 26 linespreprocessing/ tests/ test_astype.py - src/
spikeinterface/ , Python, 84 linespreprocessing/ tests/ test_average_across_dire ction.py - src/
spikeinterface/ , Python, 53 linespreprocessing/ tests/ test_clip.py - src/
spikeinterface/ , Python, 329 linespreprocessing/ tests/ test_common_reference.py - src/
spikeinterface/ , Python, 32 linespreprocessing/ tests/ test_correct_lsb.py - src/
spikeinterface/ , Python, 196 linespreprocessing/ tests/ test_decimate.py - src/
spikeinterface/ , Python, 66 linespreprocessing/ tests/ test_depth_order.py - src/
spikeinterface/ , Python, 357 linespreprocessing/ tests/ test_detect_artifacts.py - src/
spikeinterface/ , Python, 416 linespreprocessing/ tests/ test_detect_bad_channels .py - src/
spikeinterface/ , Python, 48 linespreprocessing/ tests/ test_directional_derivat ive.py - src/
spikeinterface/ , Python, 235 linespreprocessing/ tests/ test_filter.py - src/
spikeinterface/ , Python, 120 linespreprocessing/ tests/ test_filter_gaussian.py - src/
spikeinterface/ , Python, 64 linespreprocessing/ tests/ test_grouped_preprocessi ng.py - src/
spikeinterface/ , Python, 227 linespreprocessing/ tests/ test_highpass_spatial_fi lter.py - src/
spikeinterface/ , Python, 225 linespreprocessing/ tests/ test_interpolate_bad_cha nnels.py - src/
spikeinterface/ , Python, 89 linespreprocessing/ tests/ test_motion.py - src/
spikeinterface/ , Python, 104 linespreprocessing/ tests/ test_normalize_scale.py - src/
spikeinterface/ , Python, 97 linespreprocessing/ tests/ test_phase_shift.py - src/
spikeinterface/ , Python, 287 linespreprocessing/ tests/ test_pipeline.py - src/
spikeinterface/ , Python, 36 linespreprocessing/ tests/ test_preprocessing_tools .py - src/
spikeinterface/ , Python, 23 linespreprocessing/ tests/ test_rectify.py - src/
spikeinterface/ , Python, 131 linespreprocessing/ tests/ test_remove_artifacts.py - src/
spikeinterface/ , Python, 589 linespreprocessing/ tests/ test_resample.py - src/
spikeinterface/ , Python, 117 linespreprocessing/ tests/ test_scaling.py - src/
spikeinterface/ , Python, 96 linespreprocessing/ tests/ test_silence_periods.py - src/
spikeinterface/ , Python, 28 linespreprocessing/ tests/ test_unsigned_to_signed. py - src/
spikeinterface/ , Python, 443 linespreprocessing/ tests/ test_whiten.py - src/
spikeinterface/ , Python, 322 linespreprocessing/ tests/ test_zero_padding.py - src/
spikeinterface/ , Python, 8 linespreprocessing/ tests/ testing_tools.py - src/
spikeinterface/ , Python, 70 linespreprocessing/ unsigned_to_signed.py - src/
spikeinterface/ , Python, 291 linespreprocessing/ whiten.py - src/
spikeinterface/ , Python, 199 linespreprocessing/ zero_channel_pad.py - src/
spikeinterface/ , Python, 5 linessorters/ __init__.py - src/
spikeinterface/ , Python, 475 linessorters/ basesorter.py - src/
spikeinterface/ , Python, 278 linessorters/ container_tools.py - src/
spikeinterface/ , Python, 1 linesorters/ external/ __init__.py - src/
spikeinterface/ , Python, 202 linessorters/ external/ combinato.py - src/
spikeinterface/ , Python, 104 linessorters/ external/ dartsort.py - src/
spikeinterface/ , Python, 309 linessorters/ external/ hdsort.py - src/
spikeinterface/ , MATLAB, 63 linessorters/ external/ hdsort_master.m - src/
spikeinterface/ , Python, 161 linessorters/ external/ herdingspikes.py - src/
spikeinterface/ , Python, 275 linessorters/ external/ ironclust.py - src/
spikeinterface/ , Python, 288 linessorters/ external/ kilosort.py - src/
spikeinterface/ , Python, 222 linessorters/ external/ kilosort2.py - src/
spikeinterface/ , Python, 245 linessorters/ external/ kilosort2_5.py - src/
spikeinterface/ , MATLAB, 140 linessorters/ external/ kilosort2_5_master.m - src/
spikeinterface/ , MATLAB, 113 linessorters/ external/ kilosort2_master.m - src/
spikeinterface/ , Python, 238 linessorters/ external/ kilosort3.py - src/
spikeinterface/ , MATLAB, 126 linessorters/ external/ kilosort3_master.m - src/
spikeinterface/ , Python, 542 linessorters/ external/ kilosort4.py - src/
spikeinterface/ , MATLAB, 35 linessorters/ external/ kilosort_master.m - src/
spikeinterface/ , Python, 272 linessorters/ external/ kilosortbase.py - src/
spikeinterface/ , Python, 169 linessorters/ external/ klusta.py - src/
spikeinterface/ , Python, 146 linessorters/ external/ mountainsort4.py - src/
spikeinterface/ , Python, 214 linessorters/ external/ mountainsort5.py - src/
spikeinterface/ , Python, 220 linessorters/ external/ pykilosort.py - src/
spikeinterface/ , Python, 193 linessorters/ external/ rt_sort.py - src/
spikeinterface/ , Python, 180 linessorters/ external/ spyking_circus.py - src/
spikeinterface/ , Python, 24 linessorters/ external/ tests/ test_combinato.py - src/
spikeinterface/ , Python, 19 linessorters/ external/ tests/ test_dartsort.py - src/
spikeinterface/ , Python, 110 linessorters/ external/ tests/ test_docker_containers.p y - src/
spikeinterface/ , Python, 24 linessorters/ external/ tests/ test_hdsort.py - src/
spikeinterface/ , Python, 16 linessorters/ external/ tests/ test_herdingspikes.py - src/
spikeinterface/ , Python, 23 linessorters/ external/ tests/ test_ironclust.py - src/
spikeinterface/ , Python, 25 linessorters/ external/ tests/ test_kilosort.py - src/
spikeinterface/ , Python, 24 linessorters/ external/ tests/ test_kilosort2.py - src/
spikeinterface/ , Python, 24 linessorters/ external/ tests/ test_kilosort2_5.py - src/
spikeinterface/ , Python, 24 linessorters/ external/ tests/ test_kilosort3.py - src/
spikeinterface/ , Python, 131 linessorters/ external/ tests/ test_kilosort4.py - src/
spikeinterface/ , Python, 17 linessorters/ external/ tests/ test_klusta.py - src/
spikeinterface/ , Python, 18 linessorters/ external/ tests/ test_mountainsort4.py - src/
spikeinterface/ , Python, 17 linessorters/ external/ tests/ test_pykilosort.py - src/
spikeinterface/ , Python, 16 linessorters/ external/ tests/ test_rtsort.py - src/
spikeinterface/ , Python, 126 linessorters/ external/ tests/ test_singularity_contain ers.py - src/
spikeinterface/ , Python, 82 linessorters/ external/ tests/ test_singularity_contain ers_gpu.py - src/
spikeinterface/ , Python, 17 linessorters/ external/ tests/ test_spykingcircus.py - src/
spikeinterface/ , Python, 18 linessorters/ external/ tests/ test_tridesclous.py - src/
spikeinterface/ , Python, 23 linessorters/ external/ tests/ test_waveclus.py - src/
spikeinterface/ , Python, 24 linessorters/ external/ tests/ test_waveclus_snippets.p y - src/
spikeinterface/ , Python, 17 linessorters/ external/ tests/ test_yass.py - src/
spikeinterface/ , Python, 191 linessorters/ external/ tridesclous.py - src/
spikeinterface/ , Python, 308 linessorters/ external/ waveclus.py - src/
spikeinterface/ , MATLAB, 134 linessorters/ external/ waveclus_master.m - src/
spikeinterface/ , Python, 217 linessorters/ external/ waveclus_snippets.py - src/
spikeinterface/ , MATLAB, 78 linessorters/ external/ waveclus_snippets_master .m - src/
spikeinterface/ , Python, 311 linessorters/ external/ yass.py - src/
spikeinterface/ , Python, 1 linesorters/ internal/ __init__.py - src/
spikeinterface/ , Python, 442 lines, 2 matchessorters/ internal/ lupin.py - src/
spikeinterface/ , Python, 26 linessorters/ internal/ si_based.py - src/
spikeinterface/ , Python, 171 linessorters/ internal/ simplesorter.py - src/
spikeinterface/ , Python, 558 lines, 2 matchessorters/ internal/ spyking_circus2.py - src/
spikeinterface/ , Python, 18 linessorters/ internal/ tests/ test_lupin.py - src/
spikeinterface/ , Python, 19 linessorters/ internal/ tests/ test_simplesorter.py - src/
spikeinterface/ , Python, 42 linessorters/ internal/ tests/ test_spykingcircus2.py - src/
spikeinterface/ , Python, 40 linessorters/ internal/ tests/ test_tridesclous2.py - src/
spikeinterface/ , Python, 405 linessorters/ internal/ tridesclous2.py - src/
spikeinterface/ , Python, 322 linessorters/ launcher.py - src/
spikeinterface/ , Python, 733 linessorters/ runsorter.py - src/
spikeinterface/ , Python, 169 linessorters/ sorterlist.py - src/
spikeinterface/ , Python, 1 linesorters/ tests/ __init__.py - src/
spikeinterface/ , Python, 120 linessorters/ tests/ common_tests.py - src/
spikeinterface/ , Python, 134 linessorters/ tests/ test_container_tools.py - src/
spikeinterface/ , Python, 245 linessorters/ tests/ test_launcher.py - src/
spikeinterface/ , Python, 170 linessorters/ tests/ test_runsorter.py - src/
spikeinterface/ , Python, 165 linessorters/ tests/ test_runsorter_dependenc y_checks.py - src/
spikeinterface/ , Python, 25 linessorters/ tests/ test_sorterlist.py - src/
spikeinterface/ , Python, 14 linessorters/ utils/ __init__.py - src/
spikeinterface/ , MATLAB, 88 linessorters/ utils/ constructNPYheader.m - src/
spikeinterface/ , Python, 147 linessorters/ utils/ misc.py - src/
spikeinterface/ , Python, 216 linessorters/ utils/ shellscript.py - src/
spikeinterface/ , MATLAB, 23 linessorters/ utils/ writeNPY.m - src/
spikeinterface/ , Python, 2 linessortingcomponents/ __init__.py - src/
spikeinterface/ , Python, 5 linessortingcomponents/ clustering/ __init__.py - src/
spikeinterface/ , Python, 777 linessortingcomponents/ clustering/ cleaning_tools.py - src/
spikeinterface/ , Python, 20 linessortingcomponents/ clustering/ dummy.py - src/
spikeinterface/ , Python, 209 lines, 1 matchsortingcomponents/ clustering/ graph_clustering.py - src/
spikeinterface/ , Python, 230 linessortingcomponents/ clustering/ graph_tools.py - src/
spikeinterface/ , Python, 652 linessortingcomponents/ clustering/ isosplit_isocut.py - src/
spikeinterface/ , Python, 220 lines, 2 matchessortingcomponents/ clustering/ iterative_hdbscan.py - src/
spikeinterface/ , Python, 349 lines, 2 matchessortingcomponents/ clustering/ iterative_isosplit.py - src/
spikeinterface/ , Python, 406 linessortingcomponents/ clustering/ itersplit_tools.py - src/
spikeinterface/ , Python, 63 linessortingcomponents/ clustering/ main.py - src/
spikeinterface/ , Python, 651 linessortingcomponents/ clustering/ merging_tools.py - src/
spikeinterface/ , Python, 25 linessortingcomponents/ clustering/ method_list.py - src/
spikeinterface/ , Python, 57 linessortingcomponents/ clustering/ positions.py - src/
spikeinterface/ , Python, 168 linessortingcomponents/ clustering/ random_projections.py - src/
spikeinterface/ , Python, 138 linessortingcomponents/ clustering/ tests/ test_clustering.py - src/
spikeinterface/ , Python, 174 linessortingcomponents/ clustering/ tests/ test_isosplit_isocut.py - src/
spikeinterface/ , Python, 12 linessortingcomponents/ clustering/ tests/ test_itersplit_tool.py - src/
spikeinterface/ , Python, 15 linessortingcomponents/ clustering/ tests/ test_merging_tools.py - src/
spikeinterface/ , Python, 357 linessortingcomponents/ clustering/ tools.py - src/
spikeinterface/ , Python, 5 linessortingcomponents/ matching/ __init__.py - src/
spikeinterface/ , Python, 57 linessortingcomponents/ matching/ base.py - src/
spikeinterface/ , Python, 795 lines, 2 matchessortingcomponents/ matching/ circus.py - src/
spikeinterface/ , Python, 106 linessortingcomponents/ matching/ main.py - src/
spikeinterface/ , Python, 20 linessortingcomponents/ matching/ method_list.py - src/
spikeinterface/ , Python, 261 linessortingcomponents/ matching/ nearest.py - src/
spikeinterface/ , Python, 991 linessortingcomponents/ matching/ tdc_peeler.py - src/
spikeinterface/ , Python, 126 linessortingcomponents/ matching/ tests/ test_template_matching.p y - src/
spikeinterface/ , Python, 353 linessortingcomponents/ matching/ tests/ test_wobble.py - src/
spikeinterface/ , Python, 1,118 lines, 1 matchsortingcomponents/ matching/ wobble.py - src/
spikeinterface/ , Python, 9 linessortingcomponents/ motion/ __init__.py - src/
spikeinterface/ , Python, 813 linessortingcomponents/ motion/ decentralized.py - src/
spikeinterface/ , Python, 1,565 linessortingcomponents/ motion/ dredge.py - src/
spikeinterface/ , Python, 297 linessortingcomponents/ motion/ iterative_template.py - src/
spikeinterface/ , Python, 125 linessortingcomponents/ motion/ medicine.py - src/
spikeinterface/ , Python, 72 linessortingcomponents/ motion/ motion_cleaner.py - src/
spikeinterface/ , Python, 139 linessortingcomponents/ motion/ motion_estimation.py - src/
spikeinterface/ , Python, 528 linessortingcomponents/ motion/ motion_interpolation.py - src/
spikeinterface/ , Python, 349 linessortingcomponents/ motion/ motion_utils.py - src/
spikeinterface/ , Python, 9 linessortingcomponents/ motion/ tests/ test_drege.py - src/
spikeinterface/ , Python, 125 linessortingcomponents/ motion/ tests/ test_medicine.py - src/
spikeinterface/ , Python, 268 linessortingcomponents/ motion/ tests/ test_motion_estimation.p y - src/
spikeinterface/ , Python, 287 linessortingcomponents/ motion/ tests/ test_motion_interpolatio n.py - src/
spikeinterface/ , Python, 2 linessortingcomponents/ peak_detection/ __init__.py - src/
spikeinterface/ , Python, 312 lines, 1 matchsortingcomponents/ peak_detection/ by_channel.py - src/
spikeinterface/ , Python, 208 linessortingcomponents/ peak_detection/ iterative.py - src/
spikeinterface/ , Python, 505 linessortingcomponents/ peak_detection/ locally_exclusive.py - src/
spikeinterface/ , Python, 105 linessortingcomponents/ peak_detection/ main.py - src/
spikeinterface/ , Python, 232 linessortingcomponents/ peak_detection/ matched_filtering.py - src/
spikeinterface/ , Python, 16 linessortingcomponents/ peak_detection/ method_list.py - src/
spikeinterface/ , Python, 470 linessortingcomponents/ peak_detection/ tests/ test_peak_detection.py - src/
spikeinterface/ , Python, 6 linessortingcomponents/ peak_localization/ __init__.py - src/
spikeinterface/ , Python, 20 linessortingcomponents/ peak_localization/ base.py - src/
spikeinterface/ , Python, 67 linessortingcomponents/ peak_localization/ center_of_mass.py - src/
spikeinterface/ , Python, 169 linessortingcomponents/ peak_localization/ grid.py - src/
spikeinterface/ , Python, 170 linessortingcomponents/ peak_localization/ main.py - src/
spikeinterface/ , Python, 6 linessortingcomponents/ peak_localization/ method_list.py - src/
spikeinterface/ , Python, 106 linessortingcomponents/ peak_localization/ monopolar.py - src/
spikeinterface/ , Python, 126 linessortingcomponents/ peak_localization/ tests/ test_peak_localization.p y - src/
spikeinterface/ , Python, 294 linessortingcomponents/ peak_selection.py - src/
spikeinterface/ , Python, 23 linessortingcomponents/ tests/ common.py - src/
spikeinterface/ , Python, 89 linessortingcomponents/ tests/ test_peak_selection.py - src/
spikeinterface/ , Python, 705 linessortingcomponents/ tools.py - src/
spikeinterface/ , Python, 1 linesortingcomponents/ waveforms/ __init__.py - src/
spikeinterface/ , Python, 217 linessortingcomponents/ waveforms/ features_from_peaks.py - src/
spikeinterface/ , Python, 47 linessortingcomponents/ waveforms/ hanning_filter.py - src/
spikeinterface/ , Python, 261 linessortingcomponents/ waveforms/ neural_network_denoiser. py - src/
spikeinterface/ , Python, 189 linessortingcomponents/ waveforms/ peak_svd.py - src/
spikeinterface/ , Python, 58 linessortingcomponents/ waveforms/ savgol_denoiser.py - src/
spikeinterface/ , Python, 470 linessortingcomponents/ waveforms/ temporal_pca.py - src/
spikeinterface/ , Python, 41 linessortingcomponents/ waveforms/ tests/ conftest.py - src/
spikeinterface/ , Python, 78 linessortingcomponents/ waveforms/ tests/ test_features_from_peaks .py - src/
spikeinterface/ , Python, 33 linessortingcomponents/ waveforms/ tests/ test_hanning_filter.py - src/
spikeinterface/ , Python, 99 linessortingcomponents/ waveforms/ tests/ test_neural_network_deno iser.py - src/
spikeinterface/ , Python, 1 linesortingcomponents/ waveforms/ tests/ test_peak_svd.py - src/
spikeinterface/ , Python, 33 linessortingcomponents/ waveforms/ tests/ test_savgol_denoiser.py - src/
spikeinterface/ , Python, 232 linessortingcomponents/ waveforms/ tests/ test_temporal_pca.py - src/
spikeinterface/ , Python, 91 linessortingcomponents/ waveforms/ waveform_thresholder.py - src/
spikeinterface/ , Python, 21 linessortingcomponents/ waveforms/ waveform_utils.py - src/
spikeinterface/ , Python, 5 lineswidgets/ __init__.py - src/
spikeinterface/ , Python, 84 lineswidgets/ all_amplitudes_distribut ions.py - src/
spikeinterface/ , Python, 190 lineswidgets/ amplitudes.py - src/
spikeinterface/ , Python, 75 lineswidgets/ autocorrelograms.py - src/
spikeinterface/ , Python, 170 lineswidgets/ base.py - src/
spikeinterface/ , Python, 275 lineswidgets/ bombcell_curation.py - src/
spikeinterface/ , Python, 298 lines, 1 matchwidgets/ collision.py - src/
spikeinterface/ , Python, 159 lineswidgets/ comparison.py - src/
spikeinterface/ , Python, 162 lineswidgets/ crosscorrelograms.py - src/
spikeinterface/ , Python, 131 lineswidgets/ drift_templates.py - src/
spikeinterface/ , Python, 204 lineswidgets/ gtstudy.py - src/
spikeinterface/ , Python, 83 lineswidgets/ isi_distribution.py - src/
spikeinterface/ , Python, 458 lineswidgets/ metrics.py - src/
spikeinterface/ , Python, 474 lineswidgets/ motion.py - src/
spikeinterface/ , Python, 291 lineswidgets/ multicomparison.py - src/
spikeinterface/ , Python, 209 lineswidgets/ peak_activity.py - src/
spikeinterface/ , Python, 216 lineswidgets/ peaks_on_probe.py - src/
spikeinterface/ , Python, 246 lineswidgets/ potential_merges.py - src/
spikeinterface/ , Python, 83 lineswidgets/ probe_map.py - src/
spikeinterface/ , Python, 54 lineswidgets/ quality_metrics.py - src/
spikeinterface/ , Python, 492 lineswidgets/ rasters.py - src/
spikeinterface/ , Python, 244 lineswidgets/ sorting_summary.py - src/
spikeinterface/ , Python, 316 lineswidgets/ spike_locations.py - src/
spikeinterface/ , Python, 256 lineswidgets/ spike_locations_by_time. py - src/
spikeinterface/ , Python, 321 lineswidgets/ spikes_on_traces.py - src/
spikeinterface/ , Python, 54 lineswidgets/ template_metrics.py - src/
spikeinterface/ , Python, 117 lineswidgets/ template_similarity.py - src/
spikeinterface/ , Python, 782 lineswidgets/ tests/ test_widgets.py - src/
spikeinterface/ , Python, 97 lineswidgets/ tests/ test_widgets_utils.py - src/
spikeinterface/ , Python, 705 lineswidgets/ traces.py - src/
spikeinterface/ , Python, 71 lineswidgets/ unit_depths.py - src/
spikeinterface/ , Python, 124 lineswidgets/ unit_labels.py - src/
spikeinterface/ , Python, 295 lineswidgets/ unit_locations.py - src/
spikeinterface/ , Python, 116 lineswidgets/ unit_presence.py - src/
spikeinterface/ , Python, 131 lineswidgets/ unit_probe_map.py - src/
spikeinterface/ , Python, 215 lineswidgets/ unit_summary.py - src/
spikeinterface/ , Python, 86 lineswidgets/ unit_templates.py - src/
spikeinterface/ , Python, 233 lineswidgets/ unit_valid_periods.py - src/
spikeinterface/ , Python, 717 lineswidgets/ unit_waveforms.py - src/
spikeinterface/ , Python, 219 lineswidgets/ unit_waveforms_density_m ap.py - src/
spikeinterface/ , Python, 430 lineswidgets/ utils.py - src/
spikeinterface/ , Python, 155 lineswidgets/ utils_figpack.py - src/
spikeinterface/ , Python, 542 lineswidgets/ utils_ipywidgets.py - src/
spikeinterface/ , Python, 67 lineswidgets/ utils_matplotlib.py - src/
spikeinterface/ , Python, 178 lineswidgets/ widget_list.py - LICENSE, License, 21 lines
- README.md, Text, 142 lines
The paper's code and data availability statement is in the Data section.
Tracing map
Proposed by the machine: these links were found in the paper and verified at the source, without human review. The map will receive a Zenodo DOI once one of the paper's authors has validated it with their ORCID.
What the map holds:
- 3 repositories of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
- 666 scripts, each with its path and the digest of its content;
- 23 matches between paragraphs of the paper and lines of the code (method lexical-v1);
- neither the text of the paper nor the code itself.
Its JSON (tracing-map.json) is deposited on Zenodo with its DOI once the map is validated.
Data
Datasets cited
- dandi:000939, at DANDI; found in the references
- doi:10.48324/
dandi.000409/ , at DANDI; found in the references0.260309.1324 - figshare:14024495, at figshare; found in the references
Data availability
All the figures available in this article can be regenerated from Jupyter notebooks that are available at https://
The following dataset was generated:
GarciaS YgerP BuccinoA HalcrowC 2026Script and notebook for the paper "Opening the black box: a modular approach to spike sorting"Zenodo10.5281/
Reproduced under the paper's license (CC BY), from the paper cited above.
Versions
The history of this record: each version stored by the harvester or made by a correction of its authors or of the maintainers of its code, and what changed in its facts. The texts of the paper (its abstract, its availability statements) are not part of it; versions that changed only those are not listed.
Version 1, 28 September 2026: the first record
Recorded: type, language, journal, volume, pages, dates, 9 authors, 7 keywords, 5 MeSH terms, 6 funders, 64 references.
Cite
This paper
Garcia, S., Halcrow, C., Windolf, C., McKenzie, Z. M., Adkisson-Floro, P., Mayorquin, H. R., Dichter, B. K., Buccino, A. P., & Yger, P. (2026). Opening the black box toward a modular approach to spike sorting. eLife, 15, RP110588. https://
BibTeX
@article{garcia2026openi
author = {Garcia, Samuel and Halcrow, Chris and Windolf, Charlie and McKenzie, Zachary M and Adkisson-Floro, Paul and Mayorquin, Heberto Ramon and Dichter, Benjamin K and Buccino, Alessio Paolo and Yger, Pierre},
title = {{Opening the black box toward a modular approach to spike sorting}},
journal = {eLife},
year = {2026},
month = sep,
volume = {15},
pages = {RP110588},
publisher = {eLife Sciences Publications, Ltd},
issn = {2050-084X},
doi = {10.7554/
url = {https://
pmid = {42789325},
pmcid = {PMC13614784}
}
RIS
TY - JOUR
AU - Garcia, Samuel
AU - Halcrow, Chris
AU - Windolf, Charlie
AU - McKenzie, Zachary M
AU - Adkisson-Floro, Paul
AU - Mayorquin, Heberto Ramon
AU - Dichter, Benjamin K
AU - Buccino, Alessio Paolo
AU - Yger, Pierre
TI - Opening the black box toward a modular approach to spike sorting
T2 - eLife
J2 - eLife
PY - 2026
DA - 2026/
VL - 15
SP - RP110588
SN - 2050-084X
PB - eLife Sciences Publications, Ltd
DO - 10.7554/
UR - https://
LA - en
ER -
CSL-JSON
{
"id": "10.7554/
"type": "article-journal",
"title": "Opening the black box toward a modular approach to spike sorting",
"container-title": "eLife",
"author": [
{
"family": "Garcia",
"given": "Samuel"
},
{
"family": "Halcrow",
"given": "Chris"
},
{
"family": "Windolf",
"given": "Charlie"
},
{
"family": "McKenzie",
"given": "Zachary M"
},
{
"family": "Adkisson-Floro",
"given": "Paul"
},
{
"family": "Mayorquin",
"given": "Heberto Ramon"
},
{
"family": "Dichter",
"given": "Benjamin K"
},
{
"family": "Buccino",
"given": "Alessio Paolo"
},
{
"family": "Yger",
"given": "Pierre"
}
],
"container-title-short":
"volume": "15",
"page": "RP110588",
"DOI": "10.7554/
"PMID": "42789325",
"PMCID": "PMC13614784",
"ISSN": "2050-084X",
"publisher": "eLife Sciences Publications, Ltd",
"URL": "https://
"language": "en",
"issued": {
"date-parts": [
[
2026,
9,
25
]
]
}
}
The tracing map gets a citation of its own once an author has validated it and it has a DOI.
Similar papers
The papers with a page that share the most with this one: the tools found in their code, their categories, datasets, cited references and authors, the rarest counting most.
- [1] doi:10.7554/elife.110170 [code]
- Efficient and reproducible pipelines for spike sorting large-scale electrophysiology data.Journal: eLifeIn common: SpikeInterface, Neurodata Without Borders (PyNWB, MatNWB), pandas, 1 other tool, extracellular electrophysiology (units, LFP), methods / tools, mouse, 18 references, author Alessio Paolo Buccino
- [2] doi:10.1016/j.patter.2026.101590 [code]
- Density-based longitudinal neuron tracking in high-density electrophysiological recordings.Journal: Patterns (New York, N.Y.)In common: Kilosort, Neo, SpikeInterface, 10 other tools, extracellular electrophysiology (units, LFP), 11 references
- [3] doi:10.1038/s41593-026-02232-0 [code]
- Entorhinal cortex represents task-relevant remote locations independently of CA1.Journal: Nature neuroscienceIn common: Kilosort, SpikeInterface, Neurodata Without Borders (PyNWB, MatNWB), 12 other tools, mouse, 4 references
- [4] doi:10.1038/s42003-026-10957-8 [code]
- Brain defence by the extracellular matrix protein Cochlin.Journal: Communications biologyIn common: imbalanced-learn, XGBoost, UMAP, 13 other tools, mouse
- [5] doi:10.1038/s41592-026-03076-z [code]
- Neuropixels Opto: combining high-resolution electrophysiology and optogenetics.Journal: Nature methodsIn common: Kilosort, SpikeInterface, Neurodata Without Borders (PyNWB, MatNWB), 6 other tools, extracellular electrophysiology (units, LFP), mouse, 5 references
- [6] doi:10.1523/jneurosci.1594-25.2026 [code]
- KIASORT: Knowledge-Integrated Automated Spike Sorting for Geometry-Free Neuron Tracking.Journal: The Journal of neuroscience : the official journal of the Society for NeuroscienceIn common: extracellular electrophysiology (units, LFP), methods / tools, mouse, 13 references
- [7] doi:10.1038/s41467-026-76939-w [code]
- HIPPIE: a generative model for electrophysiological analysis across species, technologies, and modalities.Journal: Nature communicationsIn common: SpikeInterface, Neurodata Without Borders (PyNWB, MatNWB), imbalanced-learn, 10 other tools, methods / tools, mouse, 1 reference
- [8] doi:10.3389/fnsys.2026.1822122 [code]
- Convergence-divergence circuits for multimodal integration of innate and learned opponent valences.Journal: Frontiers in systems neuroscienceIn common: UMAP, igraph, Numba, 12 other tools, 1 reference
- [9] doi:10.1016/j.isci.2026.116825 [code]
- Social hierarchy shapes behavioral and transcriptional responses to chronic stress and ketamine in male mice.Journal: iScienceIn common: imbalanced-learn, XGBoost, UMAP, 12 other tools, mouse
- [10] doi:10.7554/elife.109717 [code]
- Retrosplenial cortex enables context-dependent goal-directed sensorimotor transformation.Journal: eLifeIn common: Kilosort, Neurodata Without Borders (PyNWB, MatNWB), XGBoost, 10 other tools, mouse, 1 reference
Contribute
The authors of this paper can claim it, correct its record and validate its tracing map, and the maintainers of its code (its owner, or a public member of its organization) correct what it says of their repository; anyone signed in can ask for its removal. Every request goes to OSCR's own machine, which answers it; your account page follows them.
Sign in with ORCID to claim this paper as one of its authors, correct its record or validate its tracing map: when the paper's metadata lists your ORCID iD, you are recognized at once. Maintainers of its code: sign in with GitHub, then claim the repository on your account page.
Claim this paper
Correct its record
Say what each link of this record is, remove the ones that are not the paper's, add the ones that are missing. The correction becomes a new version of the record, in its Versions section.
Validate its tracing map
You validate the map as this page shows it: 3 repositories of the authors' code, each at its verified commit and with its license, 666 scripts, and 23 matches between paragraphs and code (see the Code and Map sections). It then receives a DOI on Zenodo, with you (your ORCID iD) and OSCR as its creators; the code itself is not deposited.
The map's fingerprint: sha256:e35bca579ba2ab51…
Add the badge to its README
The badge links the code to this page. Copy one of these into the README of the paper's code: only you decide where it goes, and nothing is changed for you.
Markdown
[, paste the snippet at the top, then “Commit changes…” and, to review it first, “Create a new branch and start a pull request”. You open the pull request; OSCR asks for no permission.
Request its removal
To ask OSCR to remove this record, the copies of its authors' scripts or its tracing map, use the removal request page: signed in, you say who you are, what to remove and why, then review and confirm the request. Published rules decide every request (how).
Discussion, reproductions, activity
Discussion: questions and error reports about this paper and its code, from signed-in readers and its authors. It opens with sign-in.
Reproductions: reports from readers who ran the authors' code: what they reproduced, with which environment, commit and data. It opens with sign-in.
Activity: what happens around this paper: new versions of its record, its map's validation, discussions and reproductions. It opens with sign-in.
