CASToR  2.0
Tomographic Reconstruction (PET/SPECT/CT)
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Public Member Functions | Protected Attributes | Private Member Functions | List of all members
iImageConvolverStationaryGaussian Class Reference

This class is an image convolver module implementing stationary gaussian filtering. More...

#include <iImageConvolverStationaryGaussian.hh>

Inheritance diagram for iImageConvolverStationaryGaussian:
Inheritance graph
Collaboration diagram for iImageConvolverStationaryGaussian:
Collaboration graph

Public Member Functions

 iImageConvolverStationaryGaussian ()
 The constructor of iImageConvolverStationaryGaussian. More...
 
 ~iImageConvolverStationaryGaussian ()
 The destructor of iImageConvolverStationaryGaussian. More...
 
int ReadConfigurationFile (const string &a_fileOptions)
 A function used to read options from a configuration file. More...
 
int ReadOptionsList (const string &a_listOptions)
 A function used to read options from a list of options. More...
 
void ShowHelp ()
 A function used to show help about the child module. More...
 
- Public Member Functions inherited from vImageConvolver
 vImageConvolver ()
 The constructor of vImageConvolver. More...
 
virtual ~vImageConvolver ()
 The destructor of vImageConvolver. More...
 
int CheckParameters ()
 A public function used to check the parameters settings. More...
 
int Initialize ()
 A public function used to initialize the module. More...
 
int ApplyConvolution (FLTNB *ap_image)
 A public function used to apply the convolution module on the provided image. More...
 
int ApplyConvolutionTranspose (FLTNB *ap_image)
 A public function used to apply the transpose convolution module on the provided image. More...
 
void SetVerbose (int a_verbose)
 Set the member m_verboseLevel to the provided value. More...
 
void SetImageDimensionsAndQuantification (oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification)
 Set the member mp_ImageDimensionsAndQuantification to the provided value. More...
 

Protected Attributes

FLTNB m_transFWHM
 
FLTNB m_axialFWHM
 
FLTNB m_nbSigmas
 
INTNB m_dimKernelXY
 
INTNB m_dimKernelXYZ
 
- Protected Attributes inherited from vImageConvolver
oImageDimensionsAndQuantificationmp_ImageDimensionsAndQuantification
 
int m_verbose
 
bool m_checked
 
bool m_initialized
 
bool m_stationary
 
FLTNBmp_paddedImage
 
INTNB m_offsetX
 
INTNB m_offsetY
 
INTNB m_offsetZ
 
INTNB m_dimPadX
 
INTNB m_dimPadY
 
INTNB m_dimPadZ
 
INTNB m_dimPadXY
 
INTNB m_dimPadXYZ
 
INTNB m_nbKernels
 
INTNBmp_dimKernelX
 
INTNBmp_dimKernelY
 
INTNBmp_dimKernelZ
 
FLTNB ** m2p_kernel
 

Private Member Functions

int CheckSpecificParameters ()
 A private function used to check the parameters settings specific to the child module. More...
 
int BuildConvolutionKernel ()
 A private function used to build the convolution kernel specific to the child convolver. More...
 

Detailed Description

This class is an image convolver module implementing stationary gaussian filtering.

This class is a child of vImageConvolver. It implements a stationary gaussian convolution filter, parameterized by a transaxial and an axial FWHM, as well as the number of sigmas to be included in the convolution kernel.

Definition at line 47 of file iImageConvolverStationaryGaussian.hh.

Constructor & Destructor Documentation

iImageConvolverStationaryGaussian::iImageConvolverStationaryGaussian ( )

The constructor of iImageConvolverStationaryGaussian.

This is the default and unique constructor. It does not take any parameter and its role is to affect default values to parameters specific to this module.

Definition at line 41 of file iImageConvolverStationaryGaussian.cc.

iImageConvolverStationaryGaussian::~iImageConvolverStationaryGaussian ( )

The destructor of iImageConvolverStationaryGaussian.

This is the default and unique destructor. It does not take any parameter and its role is only to free or delete all structures that were built specifically by this module. Here it does nothing.

Definition at line 55 of file iImageConvolverStationaryGaussian.cc.

Member Function Documentation

int iImageConvolverStationaryGaussian::BuildConvolutionKernel ( )
privatevirtual

A private function used to build the convolution kernel specific to the child convolver.

This function is used to build the convolution kernels associated to the child convolver. It is called by the Initialize() function. It is the implementation of the pure virtual function inherited from the abstract mother class vImageConvolver. In this case, the kernel is stationary so m_nbKernels = 1. We keep the implementation of the convolution from the mother class which already implements stationary convolutions.

Returns
An integer reflecting the building status; 0 if no problem, another value otherwise.

Implements vImageConvolver.

Definition at line 165 of file iImageConvolverStationaryGaussian.cc.

Here is the call graph for this function:

int iImageConvolverStationaryGaussian::CheckSpecificParameters ( )
privatevirtual

A private function used to check the parameters settings specific to the child module.

This function is used to check that all parameters specific to the module are correctly set within allowed values. It is called by the CheckParameters() function of the mother class. It is the implementation of the pure virtual function inherited from the abstract mother class vImageConvolver.

Returns
An integer reflecting the check status; 0 if no problem, another value otherwise.

Implements vImageConvolver.

Definition at line 136 of file iImageConvolverStationaryGaussian.cc.

int iImageConvolverStationaryGaussian::ReadConfigurationFile ( const string &  a_fileOptions)
virtual

A function used to read options from a configuration file.

Parameters
conststring& a_configurationFile

This function implements the reading of all options associated to a child module, from a configuration file. It is the implementation of the pure virtual function inherited from the abstract class vImageConvolver. It checks the reading status but not the options values that will be checked by the CheckSpecificParameters() function.

Returns
An integer reflecting the reading success; 0 if success, another value otherwise.

Implements vImageConvolver.

Definition at line 80 of file iImageConvolverStationaryGaussian.cc.

Here is the call graph for this function:

int iImageConvolverStationaryGaussian::ReadOptionsList ( const string &  a_listOptions)
virtual

A function used to read options from a list of options.

Parameters
conststring& a_configurationFile

This function implements the reading of all options associated to a child module, from a list of options. It is the implementation of the pure virtual function inherited from the abstract class vImageConvolver. It checks the reading status but not the options values that will be checked by the CheckSpecificParameters() function.

Returns
An integer reflecting the reading success; 0 if success, another value otherwise.

Implements vImageConvolver.

Definition at line 113 of file iImageConvolverStationaryGaussian.cc.

Here is the call graph for this function:

void iImageConvolverStationaryGaussian::ShowHelp ( )
virtual

A function used to show help about the child module.

This function must describe what the module does and how to use it. It describes in details the different parameters of the module, and how to set them through the use of a configuration file or a list of options. It is the implementation of the pure virtual function inherited from the abstract class vImageConvolverModule.

Implements vImageConvolver.

Definition at line 64 of file iImageConvolverStationaryGaussian.cc.

Member Data Documentation

FLTNB iImageConvolverStationaryGaussian::m_axialFWHM
protected

The axial FWHM in mm

Definition at line 137 of file iImageConvolverStationaryGaussian.hh.

INTNB iImageConvolverStationaryGaussian::m_dimKernelXY
protected

The number of voxels in a slice of the kernel

Definition at line 139 of file iImageConvolverStationaryGaussian.hh.

INTNB iImageConvolverStationaryGaussian::m_dimKernelXYZ
protected

The total number of voxels of the kernel

Definition at line 140 of file iImageConvolverStationaryGaussian.hh.

FLTNB iImageConvolverStationaryGaussian::m_nbSigmas
protected

The number of sigmas of the Gaussian distribution included in the kernel

Definition at line 138 of file iImageConvolverStationaryGaussian.hh.

FLTNB iImageConvolverStationaryGaussian::m_transFWHM
protected

The transaxial FWHM in mm

Definition at line 136 of file iImageConvolverStationaryGaussian.hh.


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