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

This class is a template of an image convolver module to serve as an example. More...

#include <iImageConvolverTemplate.hh>

Inheritance diagram for iImageConvolverTemplate:
Inheritance graph
Collaboration diagram for iImageConvolverTemplate:
Collaboration graph

Public Member Functions

 iImageConvolverTemplate ()
 The constructor of iImageConvolverTemplate. More...
 
 ~iImageConvolverTemplate ()
 The destructor of iImageConvolverTemplate. 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...
 
 iImageConvolverTemplate ()
 
 ~iImageConvolverTemplate ()
 
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)
 

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)
 
- 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
 

Detailed Description

This class is a template of an image convolver module to serve as an example.

This class is a child of vImageConvolver. It is a template of an image convolver module that implements all mandatory parts to be compilable but does not do nothing. It can be used as a starting point to implement ones own image convolver module. Many explanations are provided within the corpus of all functions to guide through the implementation of ones own module. In a few words, one simply has to implement few pure virtual functions inherited from the vImageConvolver abstract class, while observing a few rules.

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

Constructor & Destructor Documentation

◆ iImageConvolverTemplate() [1/2]

iImageConvolverTemplate::iImageConvolverTemplate ( )

The constructor of iImageConvolverTemplate.

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/iImageConvolverTemplate.cc.

◆ ~iImageConvolverTemplate() [1/2]

iImageConvolverTemplate::~iImageConvolverTemplate ( )

The destructor of iImageConvolverTemplate.

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.

Definition at line 28 of file code/src/image/iImageConvolverTemplate.cc.

◆ iImageConvolverTemplate() [2/2]

iImageConvolverTemplate::iImageConvolverTemplate ( )

◆ ~iImageConvolverTemplate() [2/2]

iImageConvolverTemplate::~iImageConvolverTemplate ( )

Member Function Documentation

◆ BuildConvolutionKernel() [1/2]

int iImageConvolverTemplate::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.

Definition at line 89 of file code/src/image/iImageConvolverTemplate.cc.

◆ BuildConvolutionKernel() [2/2]

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

◆ ReadConfigurationFile() [1/2]

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

Implements vImageConvolver.

Definition at line 38 of file code/src/image/iImageConvolverTemplate.cc.

◆ ReadConfigurationFile() [2/2]

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

Implements vImageConvolver.

◆ ReadOptionsList() [1/2]

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

Implements vImageConvolver.

Definition at line 51 of file code/src/image/iImageConvolverTemplate.cc.

◆ ReadOptionsList() [2/2]

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

Implements vImageConvolver.

◆ ShowHelp() [1/2]

void iImageConvolverTemplate::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 code/src/image/iImageConvolverTemplate.cc.

◆ ShowHelp() [2/2]

void iImageConvolverTemplate::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.


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