srxraylib.waveoptics.propagator2D

2D wave-optics propagators: Fraunhofer, Fresnel, etc.

Functions

propagate_2D_fraunhofer(wavefront[, ...])

2D Fraunhofer propagator using convolution via Fourier transform :param wavefront: :param propagation_distance: propagation distance. If set to zero, the abscissas of the returned wavefront are in angle (rad) :param shift_half_pixel: set to 1 to shift half pixel (recommended using an even number of pixels) Set as default. :return: a new 2D wavefront object with propagated wavefront.

propagate_2D_fresnel(wavefront, ...[, ...])

2D Fresnel propagator using convolution via Fourier transform :param wavefront: :param propagation_distance: propagation distance :param shift_half_pixel: set to 1 to shift half pixel (recommended using an even number of pixels) Set as default.

propagate_2D_fresnel_convolution(wavefront, ...)

2D Fresnel propagator using convolution via Fourier transform :param wavefront: :param propagation_distance: propagation distance :param shift_half_pixel: set to 1 to shift half pixel (recommended using an even number of pixels) Set as default.

propagate_2D_fresnel_srw(wavefront, ...[, ...])

2D Fresnel propagator using convolution via Fourier transform :param wavefront: :param propagation_distance: :param srw_autosetting:set to 1 for automatic SRW redimensionate wavefront :return:

propagate_2D_integral(wavefront, ...[, ...])

2D Fresnel-Kirchhoff propagator via simplified integral

propagator2d_fourier_rescaling(wf, ...[, ...])

propagator2d_fourier_rescaling_xy(wf, ...[, ...])