STIR 6.4.0
stir::ColsherFilter Class Reference

This class contains the Colsher filter used for 3D-PET reconstruction. More...

#include "stir/analytic/FBP3DRP/ColsherFilter.h"

Inheritance diagram for stir::ColsherFilter:

Public Member Functions

 ColsherFilter ()
 Default constructor.
 
 ColsherFilter (float theta_max, float alpha_colsher_axial=1.F, float fc_colsher_axial=0.5F, float alpha_colsher_radial=1.F, float fc_colsher_radial=0.5F, const int stretch_factor_axial=2, const int stretch_factor_planar=2)
 constructor for the ColsherFilter.
 
Succeeded set_up (int height, int width, float theta, float d_a, float d_b)
 Initialise filter values.
 
virtual std::string parameter_info () const
 
- Public Member Functions inherited from stir::ArrayFilterUsingRealDFTWithPadding< 2, float >
 ArrayFilterUsingRealDFTWithPadding ()
 Default constructor (trivial kernel)
 
 ArrayFilterUsingRealDFTWithPadding (const Array< num_dimensions, float > &real_filter_kernel)
 Construct the filter given the real kernel coefficients.
 
 ArrayFilterUsingRealDFTWithPadding (const Array< num_dimensions, std::complex< float > > &kernel_in_frequency_space)
 Construct the filter given the complex kernel coefficients.
 
Succeeded set_kernel (const Array< num_dimensions, float > &real_filter_kernel)
 set the real kernel coefficients
 
Succeeded set_kernel_in_frequency_space (const Array< num_dimensions, std::complex< float > > &kernel_in_frequency_space)
 set the complex kernel coefficients
 
bool is_trivial () const override
 checks if the kernel corresponds to a trivial filter operation
 
- Public Member Functions inherited from stir::ArrayFunctionObject_2ArgumentImplementation< num_dimensions, float >
void operator() (Array< num_dimensions, float > &array) const override
 in-place modification of array, implemented inline
 
void operator() (Array< num_dimensions, float > &out_array, const Array< num_dimensions, float > &in_array) const override
 result stored in another array
 
- Public Member Functions inherited from stir::ArrayFunctionObject< num_dimensions, float >
virtual Succeeded get_influencing_indices (IndexRange< num_dimensions > &influencing_indices, const IndexRange< num_dimensions > &output_indices) const
 sets the range of indices that influences the result in a set of coordinates output_indices
 
virtual Succeeded get_influenced_indices (IndexRange< num_dimensions > &influenced_indices, const IndexRange< num_dimensions > &input_indices) const
 sets the range of indices that gets influenced by a set of coordinate input_indices
 
- Public Member Functions inherited from stir::TimedObject
void reset_timers ()
 reset all timers kept by this object
 
void stop_timers () const
 stop all timers kept by this object
 
void start_timers (bool do_reset=false) const
 start all timers kept by this object
 
double get_CPU_timer_value () const
 get current value of the CPU timer (since first use or last reset)
 
double get_wall_clock_timer_value () const
 get current value of the wall-clock timer (since first use or last reset)
 

Additional Inherited Members

- Protected Member Functions inherited from stir::ArrayFilterUsingRealDFTWithPadding< 2, float >
void do_it (Array< num_dimensions, float > &out_array, const Array< num_dimensions, float > &in_array) const override
 Performs the convolution.
 
- Protected Member Functions inherited from stir::ArrayFunctionObject_2ArgumentImplementation< num_dimensions, float >
virtual void do_it (Array< num_dimensions, float > &out_array, const Array< num_dimensions, float > &in_array) const=0
 
- Protected Attributes inherited from stir::ArrayFilterUsingRealDFTWithPadding< 2, float >
Array< num_dimensions, std::complex< float > > kernel_in_frequency_space
 

Detailed Description

This class contains the Colsher filter used for 3D-PET reconstruction.

The Colsher filter is combined with a 2-dimensional apodising Hamming filter.

Constructor & Destructor Documentation

◆ ColsherFilter() [1/2]

stir::ColsherFilter::ColsherFilter ( )
inline

Default constructor.

Warning
Leaves object in ill-defined state

Referenced by ColsherFilter().

◆ ColsherFilter() [2/2]

stir::ColsherFilter::ColsherFilter ( float theta_max,
float alpha_colsher_axial = 1.F,
float fc_colsher_axial = 0.5F,
float alpha_colsher_radial = 1.F,
float fc_colsher_radial = 0.5F,
const int stretch_factor_axial = 2,
const int stretch_factor_planar = 2 )
explicit

constructor for the ColsherFilter.

Parameters
theta_maxthe polar angle corresponding to the maximum oblique angle included in the reconstruction.

The alpha and fc parameters are designed to minimize the amplification of noise.

The stretch_factor parameters can be used to define the Colsher filter via a finer grid to avoid the problems with sampling a continuous filter in frequency space. For the ramp-filter, this can be done using analytic integration, but here we have to do it numerically.

References ColsherFilter().

Member Function Documentation

◆ set_up()


The documentation for this class was generated from the following files: