Skip to main content

Modular Optical Microscopy with JAX

Project description

PyPI Downloads License PyPI version Python Versions Documentation Status DOI Code style: black codecov jax_badge Lines of Code

Janssen: Optical Microscopy with JAX

Janssen is a JAX-based library for optical microscopy simulations and ptychographic reconstructions. It provides differentiable implementations of optical propagation, lens simulations, and phase retrieval algorithms, all optimized for GPU acceleration through JAX.

Architecture

Janssen Architecture

Janssen follows a layered architecture built on JAX's functional paradigm:

  • Foundation Layer: Core data structures (types) as JAX PyTrees for automatic differentiation, plus math utilities (utils) including Bessel functions and Wirtinger gradients
  • Physics Core: Optical propagation (prop), lens models (lenses), beam profiles (models), and wavefront manipulation (optics)
  • Coherence Layer: Partial coherence simulation (cohere) with spatial/temporal modes and source models
  • Application Layer: Forward microscope models (scopes), phase retrieval algorithms (invert), and visualization (plots)

Every optical element is a pure function Wavefront → Wavefront, enabling JAX to trace computation graphs and compute gradients automatically for inverse problems like ptychography.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

janssen-2025.11.1.tar.gz (164.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

janssen-2025.11.1-py3-none-any.whl (190.2 kB view details)

Uploaded Python 3

File details

Details for the file janssen-2025.11.1.tar.gz.

File metadata

  • Download URL: janssen-2025.11.1.tar.gz
  • Upload date:
  • Size: 164.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for janssen-2025.11.1.tar.gz
Algorithm Hash digest
SHA256 eef3317eb1525f1388528f94280a90df0edc9a18d80da9932320eaf81c12a018
MD5 6d2c273df5e4b06a5ecae9778aecb690
BLAKE2b-256 7e6a0497c960a171fdcb1ff30ce7333e467f5a0444aba4a61df5028f8613f3ed

See more details on using hashes here.

File details

Details for the file janssen-2025.11.1-py3-none-any.whl.

File metadata

  • Download URL: janssen-2025.11.1-py3-none-any.whl
  • Upload date:
  • Size: 190.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for janssen-2025.11.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cfbcaa8a85c9c63ad868e8cfd66cd7b8be0a8ec38d1842bd0c736edea6ad6463
MD5 3b8e0b619e69dd09bd9357b413a155f6
BLAKE2b-256 cfe9ea572954deb695c258e7c50950d2a4dac1ba7815cbb4b040c878847c5d81

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page