nabu.reconstruction.sinogram_cuda module

class nabu.reconstruction.sinogram_cuda.CudaSinoBuilder(sinos_shape=None, radios_shape=None, rot_center=None, halftomo=False, angles=None, cuda_options=None)[source]

Bases: SinoBuilder

Initialize a CudaSinoBuilder instance. Please see the documentation of nabu.reconstruction.sinogram.Builder and nabu.cuda.processing.CudaProcessing.

class nabu.reconstruction.sinogram_cuda.CudaSinoMult(sino_shape, rot_center, **cuda_options)[source]

Bases: SinoMult

prepare_sino(sino)[source]
class nabu.reconstruction.sinogram_cuda.CudaSinoNormalization(kind='chebyshev', sinos_shape=None, radios_shape=None, normalization_array=None, cuda_options=None)[source]

Bases: SinoNormalization

Initialize a SinoNormalization class.

Parameters:
  • kind (str, optional) –

    Normalization type. They can be the following:
    • chebyshev: Each sinogram line is estimated by a Chebyshev polynomial

    of degree 2. This estimation is then subtracted from the sinogram. - subtraction: Each sinogram is subtracted with a user-provided array.

    The array can be 1D (angle-independent) and 2D (angle-dependent)

    • division: same as previously, but with a division operation.

    Default is “chebyshev”

  • sinos_shape (tuple, optional) – Shape of the sinogram or sinogram stack. Either this parameter or ‘radios_shape’ has to be provided.

  • radios_shape (tuple, optional) – Shape of the projections or projections stack. Either this parameter or ‘sinos_shape’ has to be provided.

  • normalization_array (numpy.ndarray, optional) – Normalization array when kind=’subtraction’ or kind=’division’.