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