CASToR  3.2
Tomographic Reconstruction (PET/SPECT/CT)
Public Member Functions | Protected Attributes | Private Member Functions | List of all members
iImageConvolverStationaryIsotropicGaussian Class Reference

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

#include <iImageConvolverStationaryIsotropicGaussian.hh>

Inheritance diagram for iImageConvolverStationaryIsotropicGaussian:
Inheritance graph
Collaboration diagram for iImageConvolverStationaryIsotropicGaussian:
Collaboration graph

Public Member Functions

 iImageConvolverStationaryIsotropicGaussian ()
 The constructor of iImageConvolverStationaryIsotropicGaussian. More...
 
 ~iImageConvolverStationaryIsotropicGaussian ()
 The destructor of iImageConvolverStationaryIsotropicGaussian. More...
 
int ReadConfigurationFile (const string &a_fileOptions)
 
int ReadOptionsList (const string &a_listOptions)
 
void ShowHelp ()
 A function used to show help about the child module. More...
 
 iImageConvolverStationaryIsotropicGaussian ()
 
 ~iImageConvolverStationaryIsotropicGaussian ()
 
int ReadConfigurationFile (const string &a_fileOptions)
 
int ReadOptionsList (const string &a_listOptions)
 
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)
 
int ApplyConvolutionTranspose (FLTNB *ap_image)
 
void SetVerbose (int a_verbose)
 
void SetImageDimensionsAndQuantification (oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification)
 
 vImageConvolver ()
 
virtual ~vImageConvolver ()
 
int CheckParameters ()
 
int Initialize ()
 
int ApplyConvolution (FLTNB *ap_image)
 
int ApplyConvolutionTranspose (FLTNB *ap_image)
 
void SetVerbose (int a_verbose)
 
void SetImageDimensionsAndQuantification (oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification)
 

Protected Attributes

FLTNB m_FWHM
 
FLTNB m_nbSigmas
 
- 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...
 
int Convolve (FLTNB *ap_outputImage)
 
int CheckSpecificParameters ()
 A private function used to check the parameters settings specific to the child convolver. More...
 
int BuildConvolutionKernel ()
 A private function used to build the convolution kernel specific to the child convolver. More...
 
int Convolve (FLTNB *ap_outputImage)
 

Additional Inherited Members

- Protected Member Functions inherited from vImageConvolver
void CopyToPaddedImage (FLTNB *ap_inputImage)
 
void CopyToPaddedImage (FLTNB *ap_inputImage)
 

Detailed Description

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

This class is a child of vImageConvolver. It implements a stationary isotropic gaussian 3D convolution filter as three separated 1D filters, parameterized by an FWHM, as well as the number of sigmas to be included in the convolution kernel.

Definition at line 28 of file code/include/image/iImageConvolverStationaryIsotropicGaussian.hh.

Constructor & Destructor Documentation

◆ iImageConvolverStationaryIsotropicGaussian() [1/2]

iImageConvolverStationaryIsotropicGaussian::iImageConvolverStationaryIsotropicGaussian ( )

The constructor of iImageConvolverStationaryIsotropicGaussian.

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 18 of file code/src/image/iImageConvolverStationaryIsotropicGaussian.cc.

◆ ~iImageConvolverStationaryIsotropicGaussian() [1/2]

iImageConvolverStationaryIsotropicGaussian::~iImageConvolverStationaryIsotropicGaussian ( )

The destructor of iImageConvolverStationaryIsotropicGaussian.

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 29 of file code/src/image/iImageConvolverStationaryIsotropicGaussian.cc.

◆ iImageConvolverStationaryIsotropicGaussian() [2/2]

iImageConvolverStationaryIsotropicGaussian::iImageConvolverStationaryIsotropicGaussian ( )

◆ ~iImageConvolverStationaryIsotropicGaussian() [2/2]

iImageConvolverStationaryIsotropicGaussian::~iImageConvolverStationaryIsotropicGaussian ( )

Member Function Documentation

◆ BuildConvolutionKernel() [1/2]

int iImageConvolverStationaryIsotropicGaussian::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 123 of file code/src/image/iImageConvolverStationaryIsotropicGaussian.cc.

Here is the call graph for this function:

◆ BuildConvolutionKernel() [2/2]

int iImageConvolverStationaryIsotropicGaussian::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 pure virtual so is implemented by children. To be the most generic possible, one can build has many convolution kernels as desired in order to implement spatially variant convolutions. The number of kernels should be specified, the kernels' dimensions allocated and specified, and same for the actual kernels' values.

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

Implements vImageConvolver.

◆ CheckSpecificParameters() [1/2]

int iImageConvolverStationaryIsotropicGaussian::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 100 of file code/src/image/iImageConvolverStationaryIsotropicGaussian.cc.

◆ CheckSpecificParameters() [2/2]

int iImageConvolverStationaryIsotropicGaussian::CheckSpecificParameters ( )
privatevirtual

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

This function is used to check that all parameters specific to the convolver are correctly set within allowed values. It is called by the CheckParameters() function. It is pure virtual so is implemented by children.

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

Implements vImageConvolver.

◆ Convolve() [1/2]

int iImageConvolverStationaryIsotropicGaussian::Convolve ( FLTNB ap_outputImage)
privatevirtual

Reimplemented from vImageConvolver.

Definition at line 217 of file code/src/image/iImageConvolverStationaryIsotropicGaussian.cc.

Here is the call graph for this function:

◆ Convolve() [2/2]

int iImageConvolverStationaryIsotropicGaussian::Convolve ( FLTNB ap_outputImage)
privatevirtual

Reimplemented from vImageConvolver.

◆ ReadConfigurationFile() [1/2]

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

Implements vImageConvolver.

Definition at line 52 of file code/src/image/iImageConvolverStationaryIsotropicGaussian.cc.

Here is the call graph for this function:

◆ ReadConfigurationFile() [2/2]

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

Implements vImageConvolver.

◆ ReadOptionsList() [1/2]

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

Implements vImageConvolver.

◆ ReadOptionsList() [2/2]

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

Implements vImageConvolver.

Definition at line 78 of file code/src/image/iImageConvolverStationaryIsotropicGaussian.cc.

Here is the call graph for this function:

◆ ShowHelp() [1/2]

void iImageConvolverStationaryIsotropicGaussian::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 pure virtual so is implemented by children.

Implements vImageConvolver.

◆ ShowHelp() [2/2]

void iImageConvolverStationaryIsotropicGaussian::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 38 of file code/src/image/iImageConvolverStationaryIsotropicGaussian.cc.

Member Data Documentation

◆ m_FWHM

FLTNB iImageConvolverStationaryIsotropicGaussian::m_FWHM
protected

The isotropic FWHM in mm

Definition at line 128 of file code/include/image/iImageConvolverStationaryIsotropicGaussian.hh.

◆ m_nbSigmas

FLTNB iImageConvolverStationaryIsotropicGaussian::m_nbSigmas
protected

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

Definition at line 129 of file code/include/image/iImageConvolverStationaryIsotropicGaussian.hh.


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