FresnelPropagator

class hcipy.propagation.FresnelPropagator(input_grid, distance, num_oversampling=2, refractive_index=1)

Bases: hcipy.optics.optical_element.AgnosticOpticalElement

The monochromatic Fresnel propagator for scalar fields.

The Fresnel propagator is implemented as described in [R69ef9702d45b-Goodman2005].

R69ef9702d45b-Goodman2005

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

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

distance

num_oversampling

refractive_index

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.