sinofilter
: Sinogram filtering.¶
Module for sinogram filtering on CPU/GPU.
-
class
SinoFilter
(sino_shape, filter_name=None, ctx=None, devicetype='all', platformid=None, deviceid=None, profile=False, extra_options=None)[source]¶ Bases:
silx.opencl.processing.OpenclProcessing
A class for performing sinogram filtering on GPU using OpenCL. This is a convolution in the Fourier space, along one dimension:
In 2D: (n_a, d_x): n_a filterings (1D FFT of size d_x)
In 3D: (n_z, n_a, d_x): n_z*n_a filterings (1D FFT of size d_x)
-
set_filter
(h_filt, normalize=True)[source]¶ Set a filter for sinogram filtering.
- Parameters
h_filt – 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 – Whether to normalize the filter with pi/num_angles.
-
copy2d
(dst, src, transfer_shape, dst_offset=(0, 0), src_offset=(0, 0))[source]¶ - Parameters
dst –
src –
transfer_shape –
dst_offset –
src_offset –
-
fourier_filter
(sino, filter_=None, fft_size=None)[source]¶ Simple np based implementation of fourier space filter. This function is deprecated, please use silx.opencl.sinofilter.SinoFilter.
- Parameters
sino – of shape shape = (num_projs, num_bins)
filter – filter function to apply in fourier space
- Fft_size
size on which perform the fft. May be larger than the sino array
- Returns
filtered sinogram