FraunhoferPropagator

class hcipy.propagation.FraunhoferPropagator(input_grid, output_grid, focal_length=1)

Bases: hcipy.optics.optical_element.AgnosticOpticalElement

A monochromatic perfect lens propagator.

This implements the propagation of a wavefront through a perfect lens. The wavefront is assumed to be exactly in the front focal plane of the lens and is propagated to the back focal plane. The implementation follows [R33a9dcc705a2-Goodman2005].

R33a9dcc705a2-Goodman2005

Goodman, J.W., 2005 Introduction to Fourier optics. Roberts and Company Publishers.

Parameters
input_gridGrid

The grid on which the incoming wavefront is defined.

output_gridGrid

The grid on which the outgoing wavefront is to be evaluated.

wavelengthscalar

The wavelength of the wavefront.

focal_lengthscalar

The focal length of the lens system.

Attributes Summary

focal_length

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

focal_length

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.