Layers And Modules#

These classes define the main transform layers used to build optical systems. The implementations are split across layers.py, polarization.py, imaging.py, and propagation.py, but the public API is re-exported from fouriax.

OpticalLayer

Base interface for field-to-field optical transformations.

PhaseMask

Spatial-domain phase-only modulation layer.

AmplitudeMask

Spatial-domain amplitude modulation layer.

ComplexMask

Spatial-domain complex-valued modulation layer.

FourierTransform

Explicit spatial → k-space domain transform layer.

InverseFourierTransform

Explicit k-space → spatial domain transform layer.

KSpacePhaseMask

k-space phase-only modulation layer.

KSpaceAmplitudeMask

k-space amplitude modulation layer.

KSpaceComplexMask

k-space complex-valued modulation layer.

JonesMatrixLayer

Spatial-domain Jones matrix modulation layer.

KJonesMatrixLayer

k-space Jones matrix modulation layer.

ThinLens

Ideal thin lens applying a hyperbolic optical-path phase delay.