Skip to content

Commit 8dfef70

Browse files
authored
Merge pull request #3860 from fededagos/feature/3d_acg
Add "3D Auto-correlograms" (3D ACGs) postprocessing extension
2 parents 1c474e1 + b15411c commit 8dfef70

File tree

6 files changed

+597
-17
lines changed

6 files changed

+597
-17
lines changed

doc/api.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,7 @@ spikeinterface.postprocessing
215215
.. autofunction:: compute_spike_locations
216216
.. autofunction:: compute_template_similarity
217217
.. autofunction:: compute_correlograms
218+
.. autofunction:: compute_acgs_3d
218219
.. autofunction:: compute_isi_histograms
219220
.. autofunction:: get_template_metric_names
220221
.. autofunction:: align_sorting

doc/modules/postprocessing.rst

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -358,6 +358,26 @@ with shape (num_units, num_units, num_bins) with all correlograms for each pair
358358
For more information, see :py:func:`~spikeinterface.postprocessing.compute_correlograms`
359359

360360

361+
acgs_3d
362+
^^^^^^^
363+
364+
This extension computes the 3D Autocorrelograms (3D-ACG) from units' spike times to analyze how a neuron's temporal
365+
firing pattern varies with its firing rate. The 3D-ACG, described in [Beau]_ et al., 2025, provides rich
366+
representations of a unit's spike train statistics while accounting for firing rate modulations.
367+
368+
.. code-block:: python
369+
370+
acg3d = sorting_analyzer.compute(
371+
input="acgs_3d",
372+
window_ms=50.0,
373+
bin_ms=1.0,
374+
num_firing_rate_quantiles=10,
375+
smoothing_factor=250,
376+
)
377+
378+
For more information, see :py:func:`~spikeinterface.postprocessing.compute_acgs_3d`
379+
380+
361381
isi_histograms
362382
^^^^^^^^^^^^^^
363383

doc/references.rst

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,11 @@ please include the appropriate citation for the :code:`sorter_name` parameter yo
4444
- :code:`wavclus` [Chaure]_
4545
- :code:`yass` [Lee]_
4646

47+
Postprocessing Module
48+
---------------------
49+
50+
If you use the :code:`acgs_3d` extensions, (i.e. :code:`postprocessing.compute_acgs_3d`, :code:`postprocessing.ComputeACG3D`) please cite [Beau]_
51+
4752
Qualitymetrics Module
4853
---------------------
4954
If you use the :code:`qualitymetrics` module, i.e. you use the :code:`analyzer.compute()`
@@ -76,6 +81,8 @@ If you use the :code:`get_potential_auto_merge` method from the curation module,
7681
References
7782
----------
7883

84+
.. [Beau] `A deep learning strategy to identify cell types across species from high-density extracellular recordings. 2025. <https://doi.org/10.1016/j.cell.2025.01.041>`_
85+
7986
.. [Buccino] `SpikeInterface, a unified framework for spike sorting. 2020. <https://pubmed.ncbi.nlm.nih.gov/33170122/>`_
8087
8188
.. [Buzsáki] `The Log-Dynamic Brain: How Skewed Distributions Affect Network Operations. 2014. <https://pubmed.ncbi.nlm.nih.gov/24569488/>`_
@@ -112,6 +119,8 @@ References
112119
113120
.. [Niediek] `Reliable Analysis of Single-Unit Recordings from the Human Brain under Noisy Conditions: Tracking Neurons over Hours. 2016. <https://pubmed.ncbi.nlm.nih.gov/27930664/>`_
114121
122+
.. [npyx] `NeuroPyxels: loading, processing and plotting Neuropixels data in python. 2021. <https://doi.org/10.5281/zenodo.5509776>_`
123+
115124
.. [Pachitariu] `Spike sorting with Kilosort4. 2024. <https://pubmed.ncbi.nlm.nih.gov/38589517/>`_
116125
117126
.. [Pouzat] `Using noise signature to optimize spike-sorting and to assess neuronal classification quality. 2002. <https://pubmed.ncbi.nlm.nih.gov/12535763/>`_

src/spikeinterface/postprocessing/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@
1919
from .spike_amplitudes import compute_spike_amplitudes, ComputeSpikeAmplitudes
2020

2121
from .correlograms import (
22+
ComputeACG3D,
2223
ComputeCorrelograms,
24+
compute_acgs_3d,
2325
compute_correlograms,
2426
correlogram_for_one_segment,
2527
)

0 commit comments

Comments
 (0)