fouriax.KJonesMatrixLayer#
- class KJonesMatrixLayer(jones_matrix, aperture_diameter_um=None)#
Bases:
OpticalLayerk-space Jones matrix modulation layer.
- Parameters:
jones_matrix (Array)
aperture_diameter_um (float | None)
- __init__(jones_matrix, aperture_diameter_um=None)#
- Parameters:
jones_matrix (Array)
aperture_diameter_um (float | None)
- Return type:
None
Methods
__init__(jones_matrix[, aperture_diameter_um])forward(field)Apply this layer's optical transformation to
field.Return trainable or configurable layer parameters.
validate_for(field)Check that field is compatible with this layer.
Attributes
- jones_matrix: Array#
- aperture_diameter_um: float | None = None#
- forward(field)#
Apply this layer’s optical transformation to
field.
- validate_for(field)#
Check that field is compatible with this layer.
The default implementation validates the field itself. Subclasses should call
super().validate_for(field)and add any layer-specific checks such as domain, polarization, or shape requirements.- Parameters:
field (Field)
- Return type:
None
- 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]