fouriax.MetaAtomInterpolationLayer#
- class MetaAtomInterpolationLayer(library, raw_geometry_params, min_geometry_params, max_geometry_params, polarization_mode='scalar')#
Bases:
OpticalLayerOptical layer applying a geometry-parameterised meta-atom transmission.
Raw (unconstrained) geometry parameters are mapped into physical bounds via a sigmoid transform, then looked up in the attached
MetaAtomLibraryto obtain per-pixel complex transmission.Supports two polarisation modes:
"scalar": a single set of geometry parameters modulates both polarisation channels identically."jones_diagonal": independent geometry parameters for theExandEychannels, producing a diagonal Jones transmission.
- Parameters:
library (MetaAtomLibrary) – Pre-built meta-atom transmission library.
raw_geometry_params (Array) – Unconstrained optimisation variables. Shape depends on mode and whether parameters are global or spatially varying.
min_geometry_params (Array) – 1-D lower bounds for each geometry axis.
max_geometry_params (Array) – 1-D upper bounds for each geometry axis.
polarization_mode (Literal['scalar', 'jones_diagonal']) –
"scalar"or"jones_diagonal".
- __init__(library, raw_geometry_params, min_geometry_params, max_geometry_params, polarization_mode='scalar')#
- Parameters:
library (MetaAtomLibrary)
raw_geometry_params (Array)
min_geometry_params (Array)
max_geometry_params (Array)
polarization_mode (Literal['scalar', 'jones_diagonal'])
- Return type:
None
Methods
__init__(library, raw_geometry_params, ...)Map unconstrained raw parameters into physical bounds via sigmoid.
forward(field)Apply interpolated meta-atom transmission to the input field.
Return raw and bounded geometry parameters plus optimization bounds.
validate_for(field)Validate field compatibility and library wavelength coverage.
Attributes
- library: MetaAtomLibrary#
- raw_geometry_params: Array#
- min_geometry_params: Array#
- max_geometry_params: Array#
- polarization_mode: Literal['scalar', 'jones_diagonal'] = 'scalar'#
- bounded_geometry_params()#
Map unconstrained raw parameters into physical bounds via sigmoid.
- Returns:
Bounded geometry parameters in the same layout as
raw_geometry_params.- Return type:
Array
- forward(field)#
Apply interpolated meta-atom transmission to the input field.
- validate_for(field)#
Validate field compatibility and library wavelength coverage.
- Parameters:
field (Field)
- Return type:
None
- parameters()#
Return raw and bounded geometry parameters plus optimization bounds.
- Return type:
dict[str, Array]