fouriax.OpticalModule#
- class OpticalModule(layers, sensor=None)#
Bases:
OpticalLayerSequential container for optical layers and monitor checkpoints.
- Parameters:
layers (tuple[OpticalLayer | Monitor, ...])
sensor (Sensor | None)
- __init__(layers, sensor=None)#
- Parameters:
layers (tuple[OpticalLayer | Monitor, ...])
sensor (Sensor | None)
- Return type:
None
Methods
__init__(layers[, sensor])forward(field)Apply this layer's optical transformation to
field.measure(field, *[, key])observe(field)Return trainable or configurable layer parameters.
trace(field[, include_input])validate_for(field)Check that field is compatible with this layer.
Attributes
- layers: tuple[OpticalLayer | Monitor, ...]#
- forward(field)#
Apply this layer’s optical transformation to
field.
- trace(field, include_input=True)#
- parameters()#
Return trainable or configurable layer parameters.
Returns an empty dict by default. Subclasses override this to expose arrays that should be updated during optimisation.
- Return type:
dict[str, Array]