OpticalSystem

class hcipy.optics.OpticalSystem(optical_elements)

Bases: 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.