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

This class manages the analytic projection of an image and the computation of the associated datafile.
. More...

#include <oAnalyticProjection.hh>

Collaboration diagram for oAnalyticProjection:
Collaboration graph

Public Member Functions

 oAnalyticProjection ()
 oAnalyticProjection constructor. Initialize the member variables to their default values. More...
 
 ~oAnalyticProjection ()
 oAnalyticProjection destructor. More...
 
int Launch ()
 Just call either the LaunchCPU or the LaunchGPU function as asked for. More...
 
int LaunchCPU ()
 
void InitOptimizer (oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification)
 
int InitNoiseModel (string aNoiseModel)
 
void SetImageDimensionsAndQuantification (oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification)
 
void SetImageSpace (oImageSpace *ap_ImageSpace)
 
void SetProjectorManager (oProjectorManager *ap_ProjectorManager)
 
void SetImageConvolverManager (oImageConvolverManager *ap_ImageConvolverManager)
 
void SetDataFile (vDataFile **a2p_DataFile)
 
void SetGPUflag (bool a_flagGPU)
 
void SetVerbose (int a_verboseLevel)
 
void SetNbBeds (int a_nbBeds)
 
void SetPathInitImage (string a_pathToInitialImage)
 
void SetPathAtnImage (string a_pathToAtnImg)
 
void SetScanner (vScanner *ap_Scanner)
 
void SetNoZeroEvent (bool a_flag)
 
 oAnalyticProjection ()
 oAnalyticProjection constructor. Initialize the member variables to their default values. More...
 
 ~oAnalyticProjection ()
 oAnalyticProjection destructor. More...
 
int Launch ()
 
int LaunchCPU ()
 
void InitOptimizer (oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification)
 
int InitNoiseModel (string aNoiseModel)
 
void SetImageDimensionsAndQuantification (oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification)
 
void SetImageSpace (oImageSpace *ap_ImageSpace)
 
void SetProjectorManager (oProjectorManager *ap_ProjectorManager)
 
void SetImageConvolverManager (oImageConvolverManager *ap_ImageConvolverManager)
 
void SetDataFile (vDataFile **a2p_DataFile)
 
void SetGPUflag (bool a_flagGPU)
 
void SetVerbose (int a_verboseLevel)
 
void SetNbBeds (int a_nbBeds)
 
void SetPathInitImage (string a_pathToInitialImage)
 
void SetPathAtnImage (string a_pathToAtnImg)
 
void SetScanner (vScanner *ap_Scanner)
 
void SetNoZeroEvent (bool a_flag)
 

Private Attributes

int m_verbose
 
bool m_flagGPU
 
bool m_discardZeroEvent
 
oImageDimensionsAndQuantificationmp_ID
 
vDataFile ** m2p_DataFile
 
oProjectorManagermp_ProjectorManager
 
oImageConvolverManagermp_ImageConvolverManager
 
oImageSpacemp_ImageSpace
 
oComputeProjectionmp_ComputeProjection
 
int m_nbBeds
 
string m_pathToInitialImg
 
string m_pathToAtnImg
 
vScannermp_Scanner
 

Detailed Description

This class manages the analytic projection of an image and the computation of the associated datafile.
.

It uses the following components :

Definition at line 28 of file code/include/analytic_simulator/oAnalyticProjection.hh.

Constructor & Destructor Documentation

◆ oAnalyticProjection() [1/2]

oAnalyticProjection::oAnalyticProjection ( )

oAnalyticProjection constructor. Initialize the member variables to their default values.

Definition at line 16 of file code/src/analytic_simulator/oAnalyticProjection.cc.

◆ ~oAnalyticProjection() [1/2]

oAnalyticProjection::~oAnalyticProjection ( )

◆ oAnalyticProjection() [2/2]

oAnalyticProjection::oAnalyticProjection ( )

oAnalyticProjection constructor. Initialize the member variables to their default values.

◆ ~oAnalyticProjection() [2/2]

oAnalyticProjection::~oAnalyticProjection ( )

oAnalyticProjection destructor.

Member Function Documentation

◆ InitNoiseModel() [1/2]

int oAnalyticProjection::InitNoiseModel ( string  aNoiseModel)
inline

Definition at line 63 of file code/include/analytic_simulator/oAnalyticProjection.hh.

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

◆ InitNoiseModel() [2/2]

int oAnalyticProjection::InitNoiseModel ( string  aNoiseModel)
inline

Definition at line 63 of file include/analytic_simulator/oAnalyticProjection.hh.

Here is the call graph for this function:

◆ InitOptimizer() [1/2]

void oAnalyticProjection::InitOptimizer ( oImageDimensionsAndQuantification ap_ImageDimensionsAndQuantification)
inline

◆ InitOptimizer() [2/2]

void oAnalyticProjection::InitOptimizer ( oImageDimensionsAndQuantification ap_ImageDimensionsAndQuantification)
inline

Definition at line 60 of file code/include/analytic_simulator/oAnalyticProjection.hh.

Here is the caller graph for this function:

◆ Launch() [1/2]

int oAnalyticProjection::Launch ( )

◆ Launch() [2/2]

int oAnalyticProjection::Launch ( )

Just call either the LaunchCPU or the LaunchGPU function as asked for.

Returns
0 if success, positive value otherwise

Definition at line 48 of file code/src/analytic_simulator/oAnalyticProjection.cc.

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

◆ LaunchCPU() [1/2]

int oAnalyticProjection::LaunchCPU ( )

Definition at line 96 of file code/src/analytic_simulator/oAnalyticProjection.cc.

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

◆ LaunchCPU() [2/2]

int oAnalyticProjection::LaunchCPU ( )

◆ SetDataFile() [1/2]

void oAnalyticProjection::SetDataFile ( vDataFile **  a2p_DataFile)
inline

Definition at line 99 of file code/include/analytic_simulator/oAnalyticProjection.hh.

Here is the caller graph for this function:

◆ SetDataFile() [2/2]

void oAnalyticProjection::SetDataFile ( vDataFile **  a2p_DataFile)
inline

◆ SetGPUflag() [1/2]

void oAnalyticProjection::SetGPUflag ( bool  a_flagGPU)
inline

Definition at line 106 of file code/include/analytic_simulator/oAnalyticProjection.hh.

Here is the caller graph for this function:

◆ SetGPUflag() [2/2]

void oAnalyticProjection::SetGPUflag ( bool  a_flagGPU)
inline

◆ SetImageConvolverManager() [1/2]

void oAnalyticProjection::SetImageConvolverManager ( oImageConvolverManager ap_ImageConvolverManager)
inline

Definition at line 92 of file code/include/analytic_simulator/oAnalyticProjection.hh.

Here is the caller graph for this function:

◆ SetImageConvolverManager() [2/2]

void oAnalyticProjection::SetImageConvolverManager ( oImageConvolverManager ap_ImageConvolverManager)
inline

◆ SetImageDimensionsAndQuantification() [1/2]

void oAnalyticProjection::SetImageDimensionsAndQuantification ( oImageDimensionsAndQuantification ap_ImageDimensionsAndQuantification)
inline

Definition at line 71 of file code/include/analytic_simulator/oAnalyticProjection.hh.

Here is the caller graph for this function:

◆ SetImageDimensionsAndQuantification() [2/2]

void oAnalyticProjection::SetImageDimensionsAndQuantification ( oImageDimensionsAndQuantification ap_ImageDimensionsAndQuantification)
inline

◆ SetImageSpace() [1/2]

void oAnalyticProjection::SetImageSpace ( oImageSpace ap_ImageSpace)
inline

Definition at line 78 of file code/include/analytic_simulator/oAnalyticProjection.hh.

Here is the caller graph for this function:

◆ SetImageSpace() [2/2]

void oAnalyticProjection::SetImageSpace ( oImageSpace ap_ImageSpace)
inline

◆ SetNbBeds() [1/2]

void oAnalyticProjection::SetNbBeds ( int  a_nbBeds)
inline

Definition at line 120 of file code/include/analytic_simulator/oAnalyticProjection.hh.

Here is the caller graph for this function:

◆ SetNbBeds() [2/2]

void oAnalyticProjection::SetNbBeds ( int  a_nbBeds)
inline

◆ SetNoZeroEvent() [1/2]

void oAnalyticProjection::SetNoZeroEvent ( bool  a_flag)
inline

Definition at line 148 of file code/include/analytic_simulator/oAnalyticProjection.hh.

Here is the caller graph for this function:

◆ SetNoZeroEvent() [2/2]

void oAnalyticProjection::SetNoZeroEvent ( bool  a_flag)
inline

◆ SetPathAtnImage() [1/2]

void oAnalyticProjection::SetPathAtnImage ( string  a_pathToAtnImg)
inline

Definition at line 134 of file code/include/analytic_simulator/oAnalyticProjection.hh.

Here is the caller graph for this function:

◆ SetPathAtnImage() [2/2]

void oAnalyticProjection::SetPathAtnImage ( string  a_pathToAtnImg)
inline

◆ SetPathInitImage() [1/2]

void oAnalyticProjection::SetPathInitImage ( string  a_pathToInitialImage)
inline

◆ SetPathInitImage() [2/2]

void oAnalyticProjection::SetPathInitImage ( string  a_pathToInitialImage)
inline

Definition at line 127 of file code/include/analytic_simulator/oAnalyticProjection.hh.

Here is the caller graph for this function:

◆ SetProjectorManager() [1/2]

void oAnalyticProjection::SetProjectorManager ( oProjectorManager ap_ProjectorManager)
inline

Definition at line 85 of file code/include/analytic_simulator/oAnalyticProjection.hh.

Here is the caller graph for this function:

◆ SetProjectorManager() [2/2]

void oAnalyticProjection::SetProjectorManager ( oProjectorManager ap_ProjectorManager)
inline

◆ SetScanner() [1/2]

void oAnalyticProjection::SetScanner ( vScanner ap_Scanner)
inline

Definition at line 141 of file code/include/analytic_simulator/oAnalyticProjection.hh.

Here is the caller graph for this function:

◆ SetScanner() [2/2]

void oAnalyticProjection::SetScanner ( vScanner ap_Scanner)
inline

◆ SetVerbose() [1/2]

void oAnalyticProjection::SetVerbose ( int  a_verboseLevel)
inline

Definition at line 113 of file code/include/analytic_simulator/oAnalyticProjection.hh.

Here is the caller graph for this function:

◆ SetVerbose() [2/2]

void oAnalyticProjection::SetVerbose ( int  a_verboseLevel)
inline

Member Data Documentation

◆ m2p_DataFile

vDataFile ** oAnalyticProjection::m2p_DataFile
private

Pointer to the array of vDataFile object

Definition at line 161 of file code/include/analytic_simulator/oAnalyticProjection.hh.

◆ m_discardZeroEvent

bool oAnalyticProjection::m_discardZeroEvent
private

Do not save zero event (default=false)

Definition at line 159 of file code/include/analytic_simulator/oAnalyticProjection.hh.

◆ m_flagGPU

bool oAnalyticProjection::m_flagGPU
private

Do we use GPU or not (default=false)

Definition at line 158 of file code/include/analytic_simulator/oAnalyticProjection.hh.

◆ m_nbBeds

int oAnalyticProjection::m_nbBeds
private

number of bed FOVs (1 datafile by bed)

Definition at line 166 of file code/include/analytic_simulator/oAnalyticProjection.hh.

◆ m_pathToAtnImg

string oAnalyticProjection::m_pathToAtnImg
private

String containing the path to an attenuation image

Definition at line 168 of file code/include/analytic_simulator/oAnalyticProjection.hh.

◆ m_pathToInitialImg

string oAnalyticProjection::m_pathToInitialImg
private

String containing the path to an initialization image

Definition at line 167 of file code/include/analytic_simulator/oAnalyticProjection.hh.

◆ m_verbose

int oAnalyticProjection::m_verbose
private

Verbosity

Definition at line 157 of file code/include/analytic_simulator/oAnalyticProjection.hh.

◆ mp_ComputeProjection

oComputeProjection * oAnalyticProjection::mp_ComputeProjection
private

Pointer to the object which manages the data update step for analytic projection

Definition at line 165 of file code/include/analytic_simulator/oAnalyticProjection.hh.

◆ mp_ID

oImageDimensionsAndQuantification * oAnalyticProjection::mp_ID
private

◆ mp_ImageConvolverManager

oImageConvolverManager * oAnalyticProjection::mp_ImageConvolverManager
private

Pointer to the Image Convolver object

Definition at line 163 of file code/include/analytic_simulator/oAnalyticProjection.hh.

◆ mp_ImageSpace

oImageSpace * oAnalyticProjection::mp_ImageSpace
private

Pointer to the Image Space object

Definition at line 164 of file code/include/analytic_simulator/oAnalyticProjection.hh.

◆ mp_ProjectorManager

oProjectorManager * oAnalyticProjection::mp_ProjectorManager
private

Pointer to the Projector Manager object

Definition at line 162 of file code/include/analytic_simulator/oAnalyticProjection.hh.

◆ mp_Scanner

vScanner * oAnalyticProjection::mp_Scanner
private

Pointer to the Scanner object

Definition at line 169 of file code/include/analytic_simulator/oAnalyticProjection.hh.


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