vamtoolbox.projector.gauss2D#

Module Contents#

Classes#

gauss2D

Attributes#

font

class vamtoolbox.projector.gauss2D.gauss2D(target, proj_params, optical_params)#
createGaussKernel()#

Builds Gaussian kernel and Fourier-transformed kernel according to the optical parameters specified in optical_params

Returns:

  • kernel (ndarray) – single pixel Gaussian beam approximation with same size as target

  • FFT_kernel (ndarray) – kernel Fourier-transformed along dimensions orthogonal to propagation

setupInterpCoords(dimension, angle=None)#
convolveWithGaussKernelFP(target)#
convolveWithGaussKernelBP(projection)#

Convolves a 1D or 2D projection with a 1D or 2D Gauss kernel defined at each propagation distance to generate the backprojection for the angle of the projection.

1D f*_theta(x,y) = fft(P_theta(t)) * fft(G(t,prop))

2D f*_theta(x,y,z) = fft(P_theta(t,z)) * fft(G(t,prop,z))

Parameters:

projection (ndarray) – 1D projection in t (lateral) or 2D projection in t (lateral) and z (height) axes at a single projection angle

Returns:

convolved_backproj – convolved backprojection in spatial domain for the same angle of the input projection

Return type:

ndarray

gaussFP(target)#
gaussBP(projections)#
forwardProject(target)#
backProject(projections)#
vamtoolbox.projector.gauss2D.font#