nabu.reconstruction.filtering_cuda module

class nabu.reconstruction.filtering_cuda.CudaSinoFilter(sino_shape, filter_name=None, padding_mode='zeros', extra_options=None, cuda_options=None)[source]

Bases: SinoFilter

default_extra_options = {'cutoff': 1.0, 'fft_backend': 'vkfft', 'fft_threads': 0}
set_filter(h_filt, normalize=True)[source]

Set a filter for sinogram filtering.

Parameters:
  • h_filt (numpy.ndarray) – Array containing the filter. Each line of the sinogram will be filtered with this filter. It has to be the Real-to-Complex Fourier Transform of some real filter, padded to 2*sinogram_width.

  • normalize (bool or float, optional) – Whether to normalize (multiply) the filter with pi/num_angles.

filter_sino(sino, output=None)[source]

Perform the sinogram siltering.

Parameters:
  • sino (numpy.ndarray or pycuda.gpuarray.GPUArray) – Input sinogram (2D or 3D)

  • output (pycuda.gpuarray.GPUArray, optional) – Output array.

  • no_output (bool, optional) – If set to True, no copy is be done. The resulting data lies in self.d_sino_padded.