wofryimpl.propagator.propagators2D.fraunhofer

Fraunhofer2D — 2-D far-field (Fraunhofer) propagator via 2-D FFT.

Note: phases are approximate; not suitable for compound beamlines or in combination with lenses.

Classes

Fraunhofer2D()

class wofryimpl.propagator.propagators2D.fraunhofer.Fraunhofer2D[source]
HANDLER_NAME = 'FRAUNHOFER_2D'
do_specific_progation(wavefront, propagation_distance, parameters, element_index=None)[source]

Propagate a 2-D wavefront using the Fraunhofer (far-field) approximation.

Parameters:
  • wavefront (GenericWavefront2D) – Input wavefront.

  • propagation_distance (float) – Propagation distance [m]. If zero, the output abscissas are in angle [rad].

  • parameters (PropagationParameters) – Propagation parameter container (may include shift_half_pixel).

  • element_index (int, optional) – Index of the beamline element being propagated through.

Returns:

Propagated wavefront on the far-field grid.

Return type:

GenericWavefront2D

do_specific_progation_after(wavefront, propagation_distance, parameters, element_index=None)[source]
do_specific_progation_before(wavefront, propagation_distance, parameters, element_index=None)[source]
get_handler_name()[source]
classmethod propagate_wavefront(wavefront, propagation_distance, shift_half_pixel=False)[source]