Module for simulation of x-rays.


propagate_tie(mu, delta, pixel_size, dist)

Propagate emitting x-ray wave based on Transport of Intensity.

tomopy.sim.propagate.calc_intensity(probe, proj, shift_x=None, shift_y=None, mode='near')[source]

Calculate far field intensity.

  • probe (ndarray) – Rectangular x-ray source kernel.

  • proj (ndarray) – Object plane intensity image.

  • shift_x, shift_y (int, optional) – Shift amount of probe along x and y axes.

  • mode (str, optional) – Specify the regime. ‘near’ or ‘far’


ndarray – Individual raster scanned far field images as 3D array.

tomopy.sim.propagate.probe_gauss(nx, ny, fwhm=None, center=None, max_int=1)[source]

Simulate incident x-ray beam (probe) as a square Gaussian kernel.

  • nx, ny (int) – Grid size along x and y axes.

  • fwhm (float, optional) – Effective radius of the source.

  • center (array_like, optional) – x and y coordinates of the center of the gaussian function.

  • max_int (int) – Maximum x-ray intensity.


ndarray – 2D source intensity distribution.

tomopy.sim.propagate.propagate_tie(mu, delta, pixel_size, dist)[source]

Propagate emitting x-ray wave based on Transport of Intensity.

  • mu (ndarray, optional) – 3D tomographic data for attenuation.

  • delta (ndarray) – 3D tomographic data for refractive index.

  • pixel_size (float) – Detector pixel size in cm.

  • dist (float) – Propagation distance of the wavefront in cm.


ndarray – 3D propagated tomographic intensity.