API Reference¶
Ptychography through differentiable programming in JAX.
Extended Summary¶
A comprehensive toolkit for ptychography simulations and reconstructions using JAX for automatic differentiation and acceleration. Supports both optical and electron microscopy applications with fully differentiable and JIT-compilable functions.
Routine Listings¶
coherePartial coherence support for spatial and temporal coherence effects.
invertInversion algorithms for phase retrieval and ptychography.
lensesLens implementations and optical calculations.
modelsModels for generating datasets for testing and validation.
opticsVariety of different optical elements.
plotsPlotting utilities for optical data visualization.
propPropagation methods for optical wavefronts.
scopesMicroscope implementations and forward models.
typesType definitions and factory functions for PyTree dataclasses.
utilsUtility functions for distributed computing and math operations.
Examples
>>> import janssen as js
>>> wavefront = js.models.collimated_gaussian(
... wavelength=632.8e-9, waist=1e-3, grid_size=(256, 256), dx=10e-6
... )
>>> propagated = js.prop.angular_spectrum_prop(wavefront, distance=0.1)
>>> js.plots.plot_intensity(propagated)
Notes
All computations are JAX-compatible and support automatic differentiation for gradient-based optimization of optical systems and phase retrieval.