← What's New

Tier 2.1 — Clusterless point-process decoding bridge

2026-05-30 · nstat/extras/decoding/clusterless_bridge.py · branch feat/extras-clusterless-decoding

Why

nSTAT's DecodingAlgorithms implements the exact PPAF / PPHF point-process filters for sorted spikes. Two modern capabilities that the MATLAB toolbox doesn't provide:

What shipped

LICENSE verification

Per the parity/methods_roadmap.md independence rule, the upstream LICENSE was verified before adding the dependency: replay_trajectory_classification is MIT (compatible with our GPL-2.0; permissive deps can ship inside a GPL package). Last release: v1.4.1 (2024-09-06); actively maintained.

Recipe

from nstat.extras.decoding.clusterless_bridge import fit_clusterless_decoder

result = fit_clusterless_decoder(position, multiunits, place_bin_size=5.0)
result.posterior          # (T, *position_bins), each row sums to 1
result.map_position       # (T, n_position_dims), argmax of posterior

Validation

CheckResult
Bridge module imports without the optional depPASS (lazy)
Install-hint ImportError contractPASS (raises with pip install nstat-toolbox[clusterless])
Input shape validation runs before the import gatePASS (better DX without the lib)
tests/test_pyproject_consistency.py drift guardsPASS
tests/test_extras_docs.py doc/example mappingPASS
Functional smoke (decoder + classifier on synthetic 1-D data)gated on [clusterless] install (CI extras job to be added separately)

Out of scope

Files changed