OpticalSystem

class hcipy.optics.OpticalSystem(optical_elements)

Bases: hcipy.optics.optical_element.OpticalElement

An linear path of optical elements.

Parameters
optical_elementslist of OpticalElement

The optical elements in the order that the wavefront propagates.

Attributes Summary

optical_elements

The list of optical elements contained in this optical system.

Methods Summary

backward(wavefront)

Propagate a wavefront backward through the optical system.

forward(wavefront)

Propagate a wavefront forward through the optical system.

get_transformation_matrix_backward([wavelength])

Calculate the forward linear transformation matrix.

get_transformation_matrix_forward([wavelength])

Calculate the forward linear transformation matrix.

Attributes Documentation

optical_elements

The list of optical elements contained in this optical system.

Methods Documentation

backward(wavefront)

Propagate a wavefront backward through the optical system.

This will be implemented by the derived class.

Parameters
wavefrontWavefront

The wavefront to propagate.

Returns
Wavefront

The propagated wavefront.

forward(wavefront)

Propagate a wavefront forward through the optical system.

Parameters
wavefrontWavefront

The wavefront to propagate.

Returns
Wavefront

The propagated wavefront.

get_transformation_matrix_backward(wavelength=1)

Calculate the forward linear transformation matrix.

Parameters
wavelengthscalar

The wavelength for which the transformation matrix will be calculated.

Returns
ndarray

The full propagation matrix.

get_transformation_matrix_forward(wavelength=1)

Calculate the forward linear transformation matrix.

Parameters
wavelengthscalar

The wavelength for which the transformation matrix will be calculated.

Returns
ndarray

The full propagation matrix.