AngularSpectrumPropagator¶
-
class
hcipy.propagation.
AngularSpectrumPropagator
(input_grid, distance, num_oversampling=2, refractive_index=1)¶ Bases:
hcipy.optics.optical_element.AgnosticOpticalElement
The monochromatic angular spectrum propagator for scalar fields.
The scalar Angular Spectrum propagator is implemented as described by [R92da0546a7e0-McLeod2014]. The propagation of an electric field can be described as a transfer function in frequency space. The transfer function is taken from equation 9 of [R92da0546a7e0-McLeod2014], and the related impulse response is taken from equation 6 of [R92da0546a7e0-McLeod2014].
- R92da0546a7e0-McLeod2014(1,2,3)
Robert R. McLeod and Kelvin H. Wagner 2014, “Vector Fourier optics of anisotropic materials,” Adv. Opt. Photon. 6, 368-412 (2014)
- Parameters
- input_gridanything
This argument is ignored. The input grid is taken from the incoming wavefront.
- distancescalar
The distance to propagate
- num_oversamplingint
The number of times the transfer function is oversampled. Default is 2.
- wavelengthscalar
The wavelength of the wavefront.
- refractive_indexscalar
The refractive index of the medium that the wavefront is propagating in.
- Raises
- ValueError
If the input_grid is not regular and Cartesian.
Attributes Summary
Methods Summary
backward
(self, wavefront, \*args, \*\*kwargs)forward
(self, wavefront, \*args, \*\*kwargs)get_input_grid
(self, output_grid, wavelength)Calculate a best guess for the input grid given an output grid and wavelength.
get_output_grid
(self, input_grid, wavelength)Calculate a best guess for the output grid given an input grid and wavelength.
make_instance
(self, instance_data, …)Make an instance for this specific input_grid, output_grid, wavelength.
Attributes Documentation
-
distance
¶
-
num_oversampling
¶
-
refractive_index
¶
Methods Documentation
-
backward
(self, wavefront, *args, **kwargs)¶
-
forward
(self, wavefront, *args, **kwargs)¶
-
get_input_grid
(self, output_grid, wavelength)¶ Calculate a best guess for the input grid given an output grid and wavelength.
This function is intended to be implemented by a derived class.
- Parameters
- output_gridGrid
The output grid.
- wavelengthscalar
The wavelength.
- Returns
- Grid
The best-guess input grid based on the given output grid and wavelength.
-
get_output_grid
(self, input_grid, wavelength)¶ Calculate a best guess for the output grid given an input grid and wavelength.
This function is intended to be implemented by a derived class.
- Parameters
- input_gridGrid
The input grid.
- wavelengthscalar
The wavelength.
- Returns
- Grid
The best-guess output grid based on the given input grid and wavelength.
-
make_instance
(self, instance_data, input_grid, output_grid, wavelength)¶ Make an instance for this specific input_grid, output_grid, wavelength.
This function is intended to be implemented by a derived class. Any properties evaluated for the instance can be stored into the instance_data object which is stored in the internal cache.
- Parameters
- instance_dataInstanceData
An object storing all data for this instance. This object can be modified this function.
- input_gridGrid or None
The input grid.
- output_gridGrid or None
The output grid.
- wavelengthscalar or None
The wavelength.