wofryimpl.propagator.propagators1D.fraunhofer

Fraunhofer1D — 1-D far-field (Fraunhofer) propagator implemented via a single FFT.

Classes

Fraunhofer1D()

class wofryimpl.propagator.propagators1D.fraunhofer.Fraunhofer1D[source]
HANDLER_NAME = 'FRAUNHOFER_1D'
do_specific_progation(wavefront, propagation_distance, parameters, element_index=None)[source]

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

Parameters:
  • wavefront (GenericWavefront1D) – 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:

GenericWavefront1D

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]
classmethod propagate_wavefront_new(wavefront, propagation_distance, fraunhofer_kernel=True, shift_half_pixel=None)[source]