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

This is the mother class of image-based transformation class. More...

#include <vDeformation.hh>

Inheritance diagram for vDeformation:
Inheritance graph
Collaboration diagram for vDeformation:
Collaboration graph

Public Member Functions

 vDeformation ()
 Constructor of vDeformation. Simply set all data members to default values. More...
 
virtual ~vDeformation ()
 Destructor of vDeformation. More...
 
void SetImageDimensionsAndQuantification (oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification)
 
void SetVerbose (int a_verbose)
 
void SetNbTransformations (int a_nbTransformations)
 
virtual int CheckParameters ()
 This function is used to check parameters after the latter have been all set using Set functions. More...
 
virtual int CheckSpecificParameters ()=0
 This function is used to check the parameters of the child functions before initialization if required. More...
 
virtual int ReadAndCheckConfigurationFile (const string &a_fileOptions)=0
 
virtual int ReadAndCheckOptionsList (const string &a_listOptions)=0
 
virtual int Initialize ()=0
 This function is used to initialize specific data related to the child deformation model.
It is pure virtual so must be implemented by children. More...
 
virtual void ShowHelp ()=0
 This function is used to print out specific help about the deformation and its options.
It is pure virtual so must be implemented by children. More...
 
virtual int PerformDeformation (oImageSpace *ap_Image, int a_defIdx, int a_fr, int a_rimg, int a_cimg)
 
virtual int PerformHistoSensitivityDeformation (oImageSpace *ap_Image, int a_defIdx, int fr, int rimg, int cimg)
 
virtual int ApplyDeformationsToBackwardImage (oImageSpace *ap_Image, int a_fr, int a_defIdx)
 
virtual int ApplyDeformationsToHistoSensitivityImage (oImageSpace *ap_Image, int a_fr, int a_defIdx)
 
virtual int PerformSensitivityDeformation (oImageSpace *ap_Image, int a_defDirection, int a_defIdx, int fr, int rg, int cg)
 
virtual int ApplyDeformations (FLTNB *ap_inputImage, FLTNB *ap_outputImage, int a_direction, int a_defIdx)=0
 
int Tlerp (HPFLTNB *ap_inputImage, HPFLTNB *ap_outputImage, uint32_t iov, uint32_t iiv, FLTNB dX, FLTNB dY, FLTNB dZ)
 
 vDeformation ()
 
virtual ~vDeformation ()
 
void SetImageDimensionsAndQuantification (oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification)
 
void SetVerbose (int a_verbose)
 
void SetNbTransformations (int a_nbTransformations)
 
virtual int CheckParameters ()
 
virtual int CheckSpecificParameters ()=0
 
virtual int ReadAndCheckConfigurationFile (const string &a_fileOptions)=0
 
virtual int ReadAndCheckOptionsList (const string &a_listOptions)=0
 
virtual int Initialize ()=0
 
virtual void ShowHelp ()=0
 
virtual int PerformDeformation (oImageSpace *ap_Image, int a_defIdx, int a_fr, int a_rimg, int a_cimg)
 
virtual int PerformHistoSensitivityDeformation (oImageSpace *ap_Image, int a_defIdx, int fr, int rimg, int cimg)
 
virtual int ApplyDeformationsToBackwardImage (oImageSpace *ap_Image, int a_fr, int a_defIdx)
 
virtual int ApplyDeformationsToHistoSensitivityImage (oImageSpace *ap_Image, int a_fr, int a_defIdx)
 
virtual int PerformSensitivityDeformation (oImageSpace *ap_Image, int a_defDirection, int a_defIdx, int fr, int rg, int cg)
 
virtual int ApplyDeformations (FLTNB *ap_inputImage, FLTNB *ap_outputImage, int a_direction, int a_defIdx)=0
 
int Tlerp (HPFLTNB *ap_inputImage, HPFLTNB *ap_outputImage, uint32_t iov, uint32_t iiv, FLTNB dX, FLTNB dY, FLTNB dZ)
 

Protected Attributes

oImageDimensionsAndQuantificationmp_ID
 
int m_verbose
 
int m_nbTransformations
 
int m_checked
 
int m_initialized
 

Detailed Description

This is the mother class of image-based transformation class.

This class is a virtual one, in the sense that it cannot be used on its own because several pure virtual functions belong to it. Its children are implementations of actual deformation models.
Everywhere in the code, this parent class should be used instead of any of its children.
It can be used during the projection/reconstruction process by the oDeformationManager through the use of the Deformation functions that cannot be overloaded:

Definition at line 42 of file code/include/image/vDeformation.hh.

Constructor & Destructor Documentation

◆ vDeformation() [1/2]

vDeformation::vDeformation ( )

Constructor of vDeformation. Simply set all data members to default values.

Definition at line 20 of file code/src/image/vDeformation.cc.

◆ ~vDeformation() [1/2]

vDeformation::~vDeformation ( )
virtual

Destructor of vDeformation.

Definition at line 40 of file code/src/image/vDeformation.cc.

◆ vDeformation() [2/2]

vDeformation::vDeformation ( )

◆ ~vDeformation() [2/2]

virtual vDeformation::~vDeformation ( )
virtual

Member Function Documentation

◆ ApplyDeformations() [1/2]

virtual int vDeformation::ApplyDeformations ( FLTNB ap_inputImage,
FLTNB ap_outputImage,
int  a_direction,
int  a_defIdx 
)
pure virtual

Implemented in iDeformationRigid, iDeformationRigid, iDeformationTemplate, and iDeformationTemplate.

Here is the caller graph for this function:

◆ ApplyDeformations() [2/2]

virtual int vDeformation::ApplyDeformations ( FLTNB ap_inputImage,
FLTNB ap_outputImage,
int  a_direction,
int  a_defIdx 
)
pure virtual

◆ ApplyDeformationsToBackwardImage() [1/2]

int vDeformation::ApplyDeformationsToBackwardImage ( oImageSpace ap_Image,
int  a_fr,
int  a_defIdx 
)
virtual

Definition at line 112 of file code/src/image/vDeformation.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ApplyDeformationsToBackwardImage() [2/2]

virtual int vDeformation::ApplyDeformationsToBackwardImage ( oImageSpace ap_Image,
int  a_fr,
int  a_defIdx 
)
virtual

◆ ApplyDeformationsToHistoSensitivityImage() [1/2]

int vDeformation::ApplyDeformationsToHistoSensitivityImage ( oImageSpace ap_Image,
int  a_fr,
int  a_defIdx 
)
virtual

Definition at line 164 of file code/src/image/vDeformation.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ApplyDeformationsToHistoSensitivityImage() [2/2]

virtual int vDeformation::ApplyDeformationsToHistoSensitivityImage ( oImageSpace ap_Image,
int  a_fr,
int  a_defIdx 
)
virtual

◆ CheckParameters() [1/2]

virtual int vDeformation::CheckParameters ( )
virtual

◆ CheckParameters() [2/2]

int vDeformation::CheckParameters ( )
virtual

This function is used to check parameters after the latter have been all set using Set functions.

Returns
0 if success, positive value otherwise.

Definition at line 55 of file code/src/image/vDeformation.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CheckSpecificParameters() [1/2]

int vDeformation::CheckSpecificParameters ( )
pure virtual

This function is used to check the parameters of the child functions before initialization if required.

It could be overloaded by the child if needed. Default implementation is empty and return 0.

Returns
0 if success, other value otherwise.

Implemented in iDeformationRigid, iDeformationTemplate, iDeformationRigid, and iDeformationTemplate.

Here is the caller graph for this function:

◆ CheckSpecificParameters() [2/2]

virtual int vDeformation::CheckSpecificParameters ( )
pure virtual

◆ Initialize() [1/2]

int vDeformation::Initialize ( )
pure virtual

This function is used to initialize specific data related to the child deformation model.
It is pure virtual so must be implemented by children.

Returns
0 if success, other value otherwise.

Implemented in iDeformationRigid, iDeformationTemplate, iDeformationRigid, and iDeformationTemplate.

Here is the caller graph for this function:

◆ Initialize() [2/2]

virtual int vDeformation::Initialize ( )
pure virtual

◆ PerformDeformation() [1/2]

int vDeformation::PerformDeformation ( oImageSpace ap_Image,
int  a_defIdx,
int  a_fr,
int  a_rimg,
int  a_cimg 
)
virtual

Definition at line 219 of file code/src/image/vDeformation.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PerformDeformation() [2/2]

virtual int vDeformation::PerformDeformation ( oImageSpace ap_Image,
int  a_defIdx,
int  a_fr,
int  a_rimg,
int  a_cimg 
)
virtual

◆ PerformHistoSensitivityDeformation() [1/2]

virtual int vDeformation::PerformHistoSensitivityDeformation ( oImageSpace ap_Image,
int  a_defIdx,
int  fr,
int  rimg,
int  cimg 
)
virtual

◆ PerformHistoSensitivityDeformation() [2/2]

int vDeformation::PerformHistoSensitivityDeformation ( oImageSpace ap_Image,
int  a_defIdx,
int  fr,
int  rimg,
int  cimg 
)
virtual

Definition at line 299 of file code/src/image/vDeformation.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PerformSensitivityDeformation() [1/2]

int vDeformation::PerformSensitivityDeformation ( oImageSpace ap_Image,
int  a_defDirection,
int  a_defIdx,
int  fr,
int  rg,
int  cg 
)
virtual

Definition at line 364 of file code/src/image/vDeformation.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PerformSensitivityDeformation() [2/2]

virtual int vDeformation::PerformSensitivityDeformation ( oImageSpace ap_Image,
int  a_defDirection,
int  a_defIdx,
int  fr,
int  rg,
int  cg 
)
virtual

◆ ReadAndCheckConfigurationFile() [1/2]

virtual int vDeformation::ReadAndCheckConfigurationFile ( const string &  a_fileOptions)
pure virtual

◆ ReadAndCheckConfigurationFile() [2/2]

virtual int vDeformation::ReadAndCheckConfigurationFile ( const string &  a_fileOptions)
pure virtual

Implemented in iDeformationTemplate, iDeformationTemplate, iDeformationRigid, and iDeformationRigid.

Here is the caller graph for this function:

◆ ReadAndCheckOptionsList() [1/2]

virtual int vDeformation::ReadAndCheckOptionsList ( const string &  a_listOptions)
pure virtual

◆ ReadAndCheckOptionsList() [2/2]

virtual int vDeformation::ReadAndCheckOptionsList ( const string &  a_listOptions)
pure virtual

Implemented in iDeformationRigid, iDeformationTemplate, iDeformationRigid, and iDeformationTemplate.

Here is the caller graph for this function:

◆ SetImageDimensionsAndQuantification() [1/2]

void vDeformation::SetImageDimensionsAndQuantification ( oImageDimensionsAndQuantification ap_ImageDimensionsAndQuantification)
inline

Definition at line 67 of file include/image/vDeformation.hh.

◆ SetImageDimensionsAndQuantification() [2/2]

void vDeformation::SetImageDimensionsAndQuantification ( oImageDimensionsAndQuantification ap_ImageDimensionsAndQuantification)
inline

Definition at line 67 of file code/include/image/vDeformation.hh.

Here is the caller graph for this function:

◆ SetNbTransformations() [1/2]

void vDeformation::SetNbTransformations ( int  a_nbTransformations)
inline

Definition at line 82 of file include/image/vDeformation.hh.

Here is the call graph for this function:

◆ SetNbTransformations() [2/2]

void vDeformation::SetNbTransformations ( int  a_nbTransformations)
inline

Definition at line 82 of file code/include/image/vDeformation.hh.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetVerbose() [1/2]

void vDeformation::SetVerbose ( int  a_verbose)
inline

Definition at line 74 of file code/include/image/vDeformation.hh.

Here is the caller graph for this function:

◆ SetVerbose() [2/2]

void vDeformation::SetVerbose ( int  a_verbose)
inline

Definition at line 74 of file include/image/vDeformation.hh.

◆ ShowHelp() [1/2]

virtual void vDeformation::ShowHelp ( )
pure virtual

◆ ShowHelp() [2/2]

void vDeformation::ShowHelp ( )
pure virtual

This function is used to print out specific help about the deformation and its options.
It is pure virtual so must be implemented by children.

Implemented in iDeformationRigid, iDeformationTemplate, iDeformationRigid, and iDeformationTemplate.

Here is the caller graph for this function:

◆ Tlerp() [1/2]

int vDeformation::Tlerp ( HPFLTNB ap_inputImage,
HPFLTNB ap_outputImage,
uint32_t  iov,
uint32_t  iiv,
FLTNB  dX,
FLTNB  dY,
FLTNB  dZ 
)

Definition at line 425 of file code/src/image/vDeformation.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Tlerp() [2/2]

int vDeformation::Tlerp ( HPFLTNB ap_inputImage,
HPFLTNB ap_outputImage,
uint32_t  iov,
uint32_t  iiv,
FLTNB  dX,
FLTNB  dY,
FLTNB  dZ 
)

Member Data Documentation

◆ m_checked

int vDeformation::m_checked
protected

Boolean indicating whether the parameters were checked or not

Definition at line 239 of file code/include/image/vDeformation.hh.

◆ m_initialized

int vDeformation::m_initialized
protected

Boolean indicating whether the manager was initialized or not

Definition at line 240 of file code/include/image/vDeformation.hh.

◆ m_nbTransformations

int vDeformation::m_nbTransformations
protected

Number of transformations to be performed on the dataset (corresponding to the number of gates subsets of the data)

Definition at line 238 of file code/include/image/vDeformation.hh.

◆ m_verbose

int vDeformation::m_verbose
protected

The verbose level

Definition at line 237 of file code/include/image/vDeformation.hh.

◆ mp_ID

oImageDimensionsAndQuantification * vDeformation::mp_ID
protected

Pointer to the oImageDimensionsAndQuantification object in use

Definition at line 236 of file code/include/image/vDeformation.hh.


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