wofryimpl.propagator.propagators2D.fresnel_convolution

FresnelConvolution2D — 2-D near-field Fresnel propagator using direct spatial-domain convolution (scipy.signal.fftconvolve).

Prefer Fresnel2D (FFT transfer-function method) for better accuracy.

Classes

FresnelConvolution2D()

class wofryimpl.propagator.propagators2D.fresnel_convolution.FresnelConvolution2D[source]
HANDLER_NAME = 'FRESNEL_CONVOLUTION_2D'
do_specific_progation(wavefront, propagation_distance, parameters, element_index=None)[source]

Propagate a 2-D wavefront using direct spatial-domain convolution with the Fresnel kernel.

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]