Skip to main content

pyjae: Joint Autoencoders (JAE) for Neural Signal Denoising

Python 3.10+ PyTorch License: MIT

pyjae (pronounced "pie-jay") is the official implementation of joint autoencoder models for denoising high-dimensional neural population recordings and recovering the low-dimensional manifold underneath, based on Altan et al. (2021).

Installation

pip install pyjae

Or with uv:

uv add pyjae

For development from source:

git clone https://github.com/egealtan/pyjae.git
cd pyjae
uv sync            # installs the package with the dev extras

Quick start

from pyjae import JAE, simulate_neural_data

# Simulate a 6D nonlinear manifold observed on 64 noisy channels
clean, noisy, info = simulate_neural_data(
    n_samples=400, n_channels=64, n_timepoints=96,
    latent_dim=6, snr_db=10.0, nonlinear=True, alpha=3.0, seed=0,
)

# Train the channel-split model and denoise
model = JAE(latent_dim=6)          # backend="jae1" by default
model.fit(noisy, epochs=200)
denoised = model.denoise(noisy)
print("VAF:", model.score(clean, denoised))

Use the JEPA backend for representation learning plus a denoising readout:

model = JAE(latent_dim=32, backend="jepa", patch_len=8, d_model=64)
model.fit(noisy, epochs=150)
denoised = model.denoise(noisy)

Package layout

Module Purpose
pyjae.api JAE facade (fit / denoise / score / save / load) over both backends
pyjae.models JAE1, JAE2, and shared encoder building blocks
pyjae.views Modular channel-split and JEPA-mask strategies
pyjae.data Simulator (Altan et al. generative model) and evaluation controls
pyjae.metrics Per-channel VAF plus a collapse-resistant latent-quality panel
pyjae.baselines PCA, Factor Analysis, denoising autoencoder, Wiener oracle
pyjae.eval Benchmark and evaluation harness

Requirements

  • Python >= 3.10
  • PyTorch >= 2.0, NumPy, scikit-learn, SciPy

Citation

@article{altan2021jae,
  title={Estimating the dimensionality of the manifold underlying multi-electrode neural recordings},
  author={Altan, Ege and Solla, Sara A. and Miller, Lee E. and Perreault, Eric J.},
  journal={PLOS Computational Biology},
  year={2021},
  volume={17},
  number={11},
  pages={e1008591},
  doi={10.1371/journal.pcbi.1008591}
}

License

MIT License. See LICENSE.

Release files for pyjae 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyjae 0.2.2
File Size Uploaded
pyjae-0.2.2.tar.gz 66.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyjae 0.2.2
File Interpreter ABI Platform
pyjae-0.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 118.4 kB

Release files / pyjae-0.2.2.tar.gz

Download URL pyjae-0.2.2.tar.gz
Size 66.4 kB
Tags Source
SHA-256 checksum
How to use checksums
1739bf8d089272e96a491347d1bd8a4a39b313adcd08417f3ae74b15e23f6ba3
BLAKE2b-256 checksum
How to use checksums
6f271cd515cd094bfe55ddbe8eedc19020810b4941bc3f3ec92297a8741e674a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 18, 2026.

Transparency log

Release files / pyjae-0.2.2-py3-none-any.whl

Download URL pyjae-0.2.2-py3-none-any.whl
Size 52.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
092eed65ee4b4ae20b9d0fb1c8dad998afc0ad6fb9ae5c7491a489e2d7652988
BLAKE2b-256 checksum
How to use checksums
10c8bbd144dbce4665ecf91f04fb7efaff170dc1fb7cc114aee4dbc75e5e1b28
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 18, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.2 This release

2 release files

0.2.1

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page