srxraylib.waveoptics.propagator

1D wave-optics propagators.

Functions

propagate_1D_fraunhofer(wavefront[, ...])

1D Fraunhofer propagator using convolution via Fourier transform :param shift_half_pixel: :param shift_half_pixel: :param wavefront: :param propagation_distance: propagation distance. If set to zero, the abscissas of the returned wavefront are in angle (rad) :return: a new 1D wavefront object with propagated wavefront.

propagate_1D_fresnel(wavefront, ...)

1D Fresnel propagator using convolution via Fourier transform :param wavefront: :param propagation_distance: propagation distance :return: a new 1D wavefront object with propagated wavefront

propagate_1D_fresnel_convolution(wavefront, ...)

1D Fresnel propagator using direct convolution :param wavefront: :param propagation_distance: :return:

propagate_1D_fresnel_radius(wavefront, ...)

1D Fresnel propagator using convolution via Fourier transform :param wavefront: :param propagation_distance: propagation distance :return: a new 1D wavefront object with propagated wavefront

propagate_1D_integral(wavefront, ...[, ...])

1D Fresnel-Kirchhoff propagator via integral implemented as sum :param wavefront: :param propagation_distance: propagation distance :param detector_abscissas: a numpy array with the abscissas at the image position. If undefined ([None]) it uses the same abscissas present in input wavefront. :param method: 0 (default_ makes a loop over detector coordinates, 1: makes matrices (outer products) so it is more memory hungry. :param magnification: if detector_abscissas is [None], the detector abscissas range is the input wavefront range times this magnification factor. Default =1 :param npoints_exit: if detector_abscissas is [None], the number of points of detector abscissas. Default=None meaning that the same number of points than wavefront are used. :return: a new 1D wavefront object with propagated wavefront.

propagator1d_fourier_rescaling(wavefront, ...)