Extras — opt-in bridges to the Python neuro ecosystem

The nstat.extras namespace ships Python-only features that have no counterpart in upstream MATLAB nSTAT. Each subpackage depends on an optional library declared in pyproject.toml — install via pip install nstat-toolbox[<group>] (e.g. [neo], [pynapple], [nwb], [metrics], [nemos], [test-parity], or [all-extras] for the union).

For the design rationale and stability contract, see nstat.extras and the integration_opportunities audit.

Narrative usage guides

Per-bridge documentation with install commands, API tables, recipes, gotchas, and links to the runnable demos under examples/extras/.

Interop — data-model bridges

interop.neo

Neo ↔ nstat converters (Tier-B interop, scope: spike trains).

interop.pynapple

pynapple ↔ nstat converters (Tier-B interop).

interop.nwb

NWB (Neurodata Without Borders) → nstat reader (Tier-B interop).

Validation — cross-validation oracles

validation.nemos_bridge

Cross-validate nstat.fit_poisson_glm() against NeMoS.

validation.pykalman_bridge

Cross-validate nstat.DecodingAlgorithms.kalman_filter() against pykalman.

validation.statsmodels_bridge

Cross-validate nstat.fit_poisson_glm() against statsmodels.

Metrics — modern spike-train distance metrics

metrics.spike_distances

Spike-train distance metrics — ISI, SPIKE, SPIKE-synchronization.

EM — state-space models trained by expectation-maximization

em.dynamax_bridge

EM-trained linear-Gaussian state-space models via Dynamax.

Decoding — Bayesian point-process decoders

decoding.clusterless_bridge

Clusterless / trajectory-classification decoding via replay_trajectory_classification.