CASToR  3.2
Tomographic Reconstruction (PET/SPECT/CT)
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)
 
int ReadOptionsList (const string &a_listOptions)
 
void ShowHelp ()
 A function used to show help about the child module. More...
 
 iImageConvolverStationaryGaussian ()
 
 ~iImageConvolverStationaryGaussian ()
 
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_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...
 
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...
 

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 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 24 of file code/include/image/iImageConvolverStationaryGaussian.hh.

Constructor & Destructor Documentation

◆ iImageConvolverStationaryGaussian() [1/2]

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

◆ ~iImageConvolverStationaryGaussian() [1/2]

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

◆ iImageConvolverStationaryGaussian() [2/2]

iImageConvolverStationaryGaussian::iImageConvolverStationaryGaussian ( )

◆ ~iImageConvolverStationaryGaussian() [2/2]

iImageConvolverStationaryGaussian::~iImageConvolverStationaryGaussian ( )

Member Function Documentation

◆ BuildConvolutionKernel() [1/2]

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

Here is the call graph for this function:

◆ BuildConvolutionKernel() [2/2]

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 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 iImageConvolverStationaryGaussian::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.

◆ CheckSpecificParameters() [2/2]

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

◆ ReadConfigurationFile() [1/2]

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

Implements vImageConvolver.

Definition at line 57 of file code/src/image/iImageConvolverStationaryGaussian.cc.

Here is the call graph for this function:

◆ ReadConfigurationFile() [2/2]

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

Implements vImageConvolver.

◆ ReadOptionsList() [1/2]

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

Implements vImageConvolver.

Definition at line 90 of file code/src/image/iImageConvolverStationaryGaussian.cc.

Here is the call graph for this function:

◆ ReadOptionsList() [2/2]

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

Implements vImageConvolver.

◆ ShowHelp() [1/2]

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

◆ ShowHelp() [2/2]

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

Implements vImageConvolver.

Member Data Documentation

◆ m_axialFWHM

FLTNB iImageConvolverStationaryGaussian::m_axialFWHM
protected

The axial FWHM in mm

Definition at line 114 of file code/include/image/iImageConvolverStationaryGaussian.hh.

◆ m_dimKernelXY

INTNB iImageConvolverStationaryGaussian::m_dimKernelXY
protected

The number of voxels in a slice of the kernel

Definition at line 116 of file code/include/image/iImageConvolverStationaryGaussian.hh.

◆ m_dimKernelXYZ

INTNB iImageConvolverStationaryGaussian::m_dimKernelXYZ
protected

The total number of voxels of the kernel

Definition at line 117 of file code/include/image/iImageConvolverStationaryGaussian.hh.

◆ m_nbSigmas

FLTNB iImageConvolverStationaryGaussian::m_nbSigmas
protected

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

Definition at line 115 of file code/include/image/iImageConvolverStationaryGaussian.hh.

◆ m_transFWHM

FLTNB iImageConvolverStationaryGaussian::m_transFWHM
protected

The transaxial FWHM in mm

Definition at line 113 of file code/include/image/iImageConvolverStationaryGaussian.hh.


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