wofryimpl.propagator.propagators2D.fresnel

Fresnel2D — 2-D near-field Fresnel propagator using FFT-based transfer-function convolution.

Recommendations: use an even number of bins and shift_half_pixel=1 (the default) for best agreement with SRW results.

Classes

Fresnel2D()

class wofryimpl.propagator.propagators2D.fresnel.Fresnel2D[source]
HANDLER_NAME = 'FRESNEL_2D'
do_specific_progation(wavefront, propagation_distance, parameters, element_index=None)[source]

Propagate a 2-D wavefront using the Fresnel (near-field) FFT transfer-function method.

Parameters:
  • wavefront (GenericWavefront2D) – Input wavefront.

  • propagation_distance (float) – Propagation distance [m].

  • 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 same spatial 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]