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

Generic class for scanner objects. More...

#include <vScanner.hh>

Inheritance diagram for vScanner:
Inheritance graph
Collaboration diagram for vScanner:
Collaboration graph

Public Member Functions

 vScanner ()
 vScanner constructor. Initialize the member variables to their default values. More...
 
virtual ~vScanner ()
 vScanner destructor. More...
 
void Describe ()
 A function used to describe the generic parts of the datafile. More...
 
virtual void DescribeSpecific ()=0
 A pure virtual function used to describe the specific parts of the scanner. More...
 
virtual int Instantiate (bool a_scannerFileIsLUT)=0
 
virtual int BuildLUT (bool a_scannerFileIsLUT)=0
 
virtual int CheckParameters ()=0
 This function is implemented in child classes.
Check that all parameters have been correctly initialized. More...
 
virtual int Initialize ()=0
 This function is implemented in child classes.
Check initialization and set several parameters to their default value. More...
 
virtual int GetPositionsAndOrientations (int a_index1, int a_index2, FLTNB ap_Position1[3], FLTNB ap_Position2[3], FLTNB ap_Orientation1[3], FLTNB ap_Orientation2[3], FLTNB *ap_POI1=NULL, FLTNB *ap_POI2=NULL)=0
 
virtual int GetRdmPositionsAndOrientations (int a_index1, int a_index2, FLTNB ap_Position1[3], FLTNB ap_Position2[3], FLTNB ap_Orientation1[3], FLTNB ap_Orientation2[3])=0
 
virtual int GetPositionWithRandomDepth (int a_index1, int a_index2, FLTNB ap_Position1[3], FLTNB ap_Position2[3])=0
 
virtual int GetTwoCorners (int a_index1, int a_index2, FLTNB ap_CornerInf1[3], FLTNB ap_CornerSup1[3], FLTNB ap_CornerInf2[3], FLTNB ap_CornerSup2[3])=0
 
virtual int GetEdgesCenterPositions (int a_index1, int a_index2, FLTNB ap_pos_line_point1[3], FLTNB ap_pos_line_point2[3], FLTNB ap_pos_point1_x[4], FLTNB ap_pos_point1_y[4], FLTNB ap_pos_point1_z[4], FLTNB ap_pos_point2_x[4], FLTNB ap_pos_point2_y[4], FLTNB ap_pos_point2_z[4])=0
 
virtual int ComputeLUT ()
 Virtual function which should be implemented by the child classes.
It computes the LUT of the scanner from a generic (.geom) file.
The vScanner implementation throws error by default as it should be implemented by the child class. More...
 
virtual int LoadLUT ()
 Virtual function which should be implemented by the child classes.
Load a precomputed scanner LUT.
The vScanner implementation throws error by default as it should be implemented by the child class. More...
 
virtual int GetSystemNbElts ()=0
 This is a pure virtual method that must be implemented by children. More...
 
virtual int IsAvailableLOR (int a_elt1, int a_elt2)
 
virtual void ShowHelp ()=0
 This function is implemented in child classes
Display help specific to the scanner class. More...
 
virtual int GetGeometricInfoFromDataFile (string a_path)=0
 
int GetScannerType ()
 
string GetScannerTypeString ()
 
void SetVerbose (int a_verboseLevel)
 
void SetImageDimensionsAndQuantification (oImageDimensionsAndQuantification *ap_ID)
 
FLTNB GetDefaultBedDisplacementInMm ()
 
virtual FLTNB GetDetectionElementSizeTrans ()=0
 
virtual FLTNB GetDetectionElementSizeAxial ()=0
 
virtual int SetPETMaxAxialDiffmm (FLTNB a_maxAxialDiffmm)
 
virtual int SetRotDirection (string a_rotDirection)
 
virtual int PROJ_GetPETSpecificParameters (FLTNB *ap_maxRingDiff)
 
virtual int GetSPECTSpecificParameters (uint16_t *ap_nbOfProjections, uint16_t *ap_nbHeads, FLTNB *ap_acquisitionZoom, uint16_t *ap_nbOfBins, FLTNB *ap_pixSizeXY, FLTNB *&ap_angles, FLTNB *&ap_CORtoDetectorDistance, int *ap_headRotDirection)
 
virtual int GetCTSpecificParameters (uint16_t *ap_nbOfProjections, FLTNB *&ap_angles, int *ap_detectorRotDirection)
 
virtual int PROJ_SetSPECTNbBins (uint16_t *ap_nbOfBins)
 
virtual int PROJ_SetSPECTNbProjections (uint32_t a_nbOfProjections)
 
virtual int PROJ_SetSPECTAngles (FLTNB *ap_projectionAngles)
 
virtual int PROJ_SetSPECTCORtoDetectorDistance (FLTNB a_CORtoDetectorDistance)
 
virtual uint16_t PROJ_GetSPECTNbProjections ()
 return the total number of projections for a SPECT acquisition More...
 
virtual uint16_t PROJ_GetSPECTNbPixels ()
 return the total number of pixels for a SPECT reconstruction More...
 
 vScanner ()
 vScanner constructor. Initialize the member variables to their default values. More...
 
virtual ~vScanner ()
 vScanner destructor. More...
 
void Describe ()
 
virtual void DescribeSpecific ()=0
 
virtual int Instantiate (bool a_scannerFileIsLUT)=0
 
virtual int BuildLUT (bool a_scannerFileIsLUT)=0
 
virtual int CheckParameters ()=0
 
virtual int Initialize ()=0
 
virtual int GetPositionsAndOrientations (int a_index1, int a_index2, FLTNB ap_Position1[3], FLTNB ap_Position2[3], FLTNB ap_Orientation1[3], FLTNB ap_Orientation2[3], FLTNB *ap_POI1=NULL, FLTNB *ap_POI2=NULL)=0
 
virtual int GetRdmPositionsAndOrientations (int a_index1, int a_index2, FLTNB ap_Position1[3], FLTNB ap_Position2[3], FLTNB ap_Orientation1[3], FLTNB ap_Orientation2[3])=0
 
virtual int GetPositionWithRandomDepth (int a_index1, int a_index2, FLTNB ap_Position1[3], FLTNB ap_Position2[3])=0
 
virtual int GetTwoCorners (int a_index1, int a_index2, FLTNB ap_CornerInf1[3], FLTNB ap_CornerSup1[3], FLTNB ap_CornerInf2[3], FLTNB ap_CornerSup2[3])=0
 
virtual int GetEdgesCenterPositions (int a_index1, int a_index2, FLTNB ap_pos_line_point1[3], FLTNB ap_pos_line_point2[3], FLTNB ap_pos_point1_x[4], FLTNB ap_pos_point1_y[4], FLTNB ap_pos_point1_z[4], FLTNB ap_pos_point2_x[4], FLTNB ap_pos_point2_y[4], FLTNB ap_pos_point2_z[4])=0
 
virtual int ComputeLUT ()
 
virtual int LoadLUT ()
 
virtual int GetSystemNbElts ()=0
 
virtual int IsAvailableLOR (int a_elt1, int a_elt2)
 
virtual void ShowHelp ()=0
 
virtual int GetGeometricInfoFromDataFile (string a_path)=0
 
int GetScannerType ()
 
string GetScannerTypeString ()
 
void SetVerbose (int a_verboseLevel)
 
void SetImageDimensionsAndQuantification (oImageDimensionsAndQuantification *ap_ID)
 
FLTNB GetDefaultBedDisplacementInMm ()
 
virtual FLTNB GetDetectionElementSizeTrans ()=0
 
virtual FLTNB GetDetectionElementSizeAxial ()=0
 
virtual int SetPETMaxAxialDiffmm (FLTNB a_maxAxialDiffmm)
 
virtual int SetRotDirection (string a_rotDirection)
 
virtual int PROJ_GetPETSpecificParameters (FLTNB *ap_maxRingDiff)
 
virtual int GetSPECTSpecificParameters (uint16_t *ap_nbOfProjections, uint16_t *ap_nbHeads, FLTNB *ap_acquisitionZoom, uint16_t *ap_nbOfBins, FLTNB *ap_pixSizeXY, FLTNB *&ap_angles, FLTNB *&ap_CORtoDetectorDistance, int *ap_headRotDirection)
 
virtual int GetCTSpecificParameters (uint16_t *ap_nbOfProjections, FLTNB *&ap_angles, int *ap_detectorRotDirection)
 
virtual int PROJ_SetSPECTNbBins (uint16_t *ap_nbOfBins)
 
virtual int PROJ_SetSPECTNbProjections (uint32_t a_nbOfProjections)
 
virtual int PROJ_SetSPECTAngles (FLTNB *ap_projectionAngles)
 
virtual int PROJ_SetSPECTCORtoDetectorDistance (FLTNB a_CORtoDetectorDistance)
 
virtual uint16_t PROJ_GetSPECTNbProjections ()
 
virtual uint16_t PROJ_GetSPECTNbPixels ()
 

Protected Attributes

int m_scannerType
 
int m_verbose
 
oImageDimensionsAndQuantificationmp_ID
 
bool m_allParametersChecked
 
oMatrixmp_rotationMatrix
 
oMatrixmp_positionMatrix_ref
 
oMatrixmp_positionMatrix_out
 
int m_rotDirection
 
FLTNB m_defaultBedDisplacementInMm
 

Detailed Description

Generic class for scanner objects.

This class is designed to be a mother virtual class that should not be used on its own; only its children are used.
It has a pure virtual function that is used to get the cartesian coordinates of any line described by two indices.
Although new scanner classes are not supposed to be added, it uses the same auto-declaration class system than other reconstruction classes for the initialization of its children.

Definition at line 39 of file code/include/scanner/vScanner.hh.

Constructor & Destructor Documentation

◆ vScanner() [1/2]

vScanner::vScanner ( )

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

Definition at line 16 of file code/src/scanner/vScanner.cc.

◆ ~vScanner() [1/2]

vScanner::~vScanner ( )
virtual

vScanner destructor.

Definition at line 35 of file code/src/scanner/vScanner.cc.

◆ vScanner() [2/2]

vScanner::vScanner ( )

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

◆ ~vScanner() [2/2]

virtual vScanner::~vScanner ( )
virtual

vScanner destructor.

Member Function Documentation

◆ BuildLUT() [1/2]

virtual int vScanner::BuildLUT ( bool  a_scannerFileIsLUT)
pure virtual

Implemented in iScannerCT, iScannerCT, iScannerSPECTConv, iScannerSPECTConv, iScannerPET, and iScannerPET.

Here is the caller graph for this function:

◆ BuildLUT() [2/2]

virtual int vScanner::BuildLUT ( bool  a_scannerFileIsLUT)
pure virtual

◆ CheckParameters() [1/2]

int vScanner::CheckParameters ( )
pure virtual

This function is implemented in child classes.
Check that all parameters have been correctly initialized.

Returns
0 if success, positive value otherwise

Implemented in iScannerCT, iScannerCT, iScannerSPECTConv, iScannerSPECTConv, iScannerPET, and iScannerPET.

Here is the caller graph for this function:

◆ CheckParameters() [2/2]

virtual int vScanner::CheckParameters ( )
pure virtual

◆ ComputeLUT() [1/2]

virtual int vScanner::ComputeLUT ( )
virtual

◆ ComputeLUT() [2/2]

int vScanner::ComputeLUT ( )
virtual

Virtual function which should be implemented by the child classes.
It computes the LUT of the scanner from a generic (.geom) file.
The vScanner implementation throws error by default as it should be implemented by the child class.

Returns
1 (error) if not surcharged by a daughter class
1 (error) if not surcharged by a daughter class

Reimplemented in iScannerSPECTConv, iScannerSPECTConv, iScannerPET, iScannerPET, iScannerCT, and iScannerCT.

Definition at line 113 of file code/src/scanner/vScanner.cc.

◆ Describe() [1/2]

void vScanner::Describe ( )

◆ Describe() [2/2]

void vScanner::Describe ( )

A function used to describe the generic parts of the datafile.

Definition at line 53 of file code/src/scanner/vScanner.cc.

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

◆ DescribeSpecific() [1/2]

virtual void vScanner::DescribeSpecific ( )
pure virtual

◆ DescribeSpecific() [2/2]

vScanner::DescribeSpecific ( )
pure virtual

A pure virtual function used to describe the specific parts of the scanner.

Implemented in iScannerCT, iScannerCT, iScannerSPECTConv, iScannerSPECTConv, iScannerPET, and iScannerPET.

Here is the caller graph for this function:

◆ GetCTSpecificParameters() [1/2]

virtual int vScanner::GetCTSpecificParameters ( uint16_t *  ap_nbOfProjections,
FLTNB *&  ap_angles,
int *  ap_detectorRotDirection 
)
virtual

Reimplemented in iScannerCT, and iScannerCT.

◆ GetCTSpecificParameters() [2/2]

int vScanner::GetCTSpecificParameters ( uint16_t *  ap_nbOfProjections,
FLTNB *&  ap_angles,
int *  ap_detectorRotDirection 
)
virtual

Reimplemented in iScannerCT, and iScannerCT.

Definition at line 245 of file code/src/scanner/vScanner.cc.

Here is the caller graph for this function:

◆ GetDefaultBedDisplacementInMm() [1/2]

FLTNB vScanner::GetDefaultBedDisplacementInMm ( )
inline
Returns
the default bed displacement between two successive bed positions

Definition at line 266 of file code/include/scanner/vScanner.hh.

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

◆ GetDefaultBedDisplacementInMm() [2/2]

FLTNB vScanner::GetDefaultBedDisplacementInMm ( )
inline

Definition at line 266 of file include/scanner/vScanner.hh.

Here is the call graph for this function:

◆ GetDetectionElementSizeAxial() [1/2]

FLTNB vScanner::GetDetectionElementSizeAxial ( )
inlinepure virtual
Returns
return the axial size of the detection element, function implemented by children

Implemented in iScannerPET, iScannerPET, iScannerSPECTConv, iScannerSPECTConv, iScannerCT, and iScannerCT.

Here is the caller graph for this function:

◆ GetDetectionElementSizeAxial() [2/2]

virtual FLTNB vScanner::GetDetectionElementSizeAxial ( )
inlinepure virtual

◆ GetDetectionElementSizeTrans() [1/2]

FLTNB vScanner::GetDetectionElementSizeTrans ( )
inlinepure virtual
Returns
return the transaxial size of the detection element, function implemented by children

Implemented in iScannerPET, iScannerPET, iScannerCT, iScannerSPECTConv, iScannerCT, and iScannerSPECTConv.

Here is the caller graph for this function:

◆ GetDetectionElementSizeTrans() [2/2]

virtual FLTNB vScanner::GetDetectionElementSizeTrans ( )
inlinepure virtual

◆ GetEdgesCenterPositions() [1/2]

virtual int vScanner::GetEdgesCenterPositions ( int  a_index1,
int  a_index2,
FLTNB  ap_pos_line_point1[3],
FLTNB  ap_pos_line_point2[3],
FLTNB  ap_pos_point1_x[4],
FLTNB  ap_pos_point1_y[4],
FLTNB  ap_pos_point1_z[4],
FLTNB  ap_pos_point2_x[4],
FLTNB  ap_pos_point2_y[4],
FLTNB  ap_pos_point2_z[4] 
)
pure virtual

Implemented in iScannerPET, iScannerPET, iScannerCT, iScannerCT, iScannerSPECTConv, and iScannerSPECTConv.

Here is the caller graph for this function:

◆ GetEdgesCenterPositions() [2/2]

virtual int vScanner::GetEdgesCenterPositions ( int  a_index1,
int  a_index2,
FLTNB  ap_pos_line_point1[3],
FLTNB  ap_pos_line_point2[3],
FLTNB  ap_pos_point1_x[4],
FLTNB  ap_pos_point1_y[4],
FLTNB  ap_pos_point1_z[4],
FLTNB  ap_pos_point2_x[4],
FLTNB  ap_pos_point2_y[4],
FLTNB  ap_pos_point2_z[4] 
)
pure virtual

◆ GetGeometricInfoFromDataFile() [1/2]

virtual int vScanner::GetGeometricInfoFromDataFile ( string  a_path)
pure virtual

Implemented in iScannerPET, iScannerPET, iScannerCT, iScannerCT, iScannerSPECTConv, and iScannerSPECTConv.

Here is the caller graph for this function:

◆ GetGeometricInfoFromDataFile() [2/2]

virtual int vScanner::GetGeometricInfoFromDataFile ( string  a_path)
pure virtual

◆ GetPositionsAndOrientations() [1/2]

virtual int vScanner::GetPositionsAndOrientations ( int  a_index1,
int  a_index2,
FLTNB  ap_Position1[3],
FLTNB  ap_Position2[3],
FLTNB  ap_Orientation1[3],
FLTNB  ap_Orientation2[3],
FLTNB ap_POI1 = NULL,
FLTNB ap_POI2 = NULL 
)
pure virtual

◆ GetPositionsAndOrientations() [2/2]

virtual int vScanner::GetPositionsAndOrientations ( int  a_index1,
int  a_index2,
FLTNB  ap_Position1[3],
FLTNB  ap_Position2[3],
FLTNB  ap_Orientation1[3],
FLTNB  ap_Orientation2[3],
FLTNB ap_POI1 = NULL,
FLTNB ap_POI2 = NULL 
)
pure virtual

Implemented in iScannerCT, iScannerPET, iScannerCT, iScannerPET, iScannerSPECTConv, and iScannerSPECTConv.

Here is the caller graph for this function:

◆ GetPositionWithRandomDepth() [1/2]

virtual int vScanner::GetPositionWithRandomDepth ( int  a_index1,
int  a_index2,
FLTNB  ap_Position1[3],
FLTNB  ap_Position2[3] 
)
pure virtual

◆ GetPositionWithRandomDepth() [2/2]

virtual int vScanner::GetPositionWithRandomDepth ( int  a_index1,
int  a_index2,
FLTNB  ap_Position1[3],
FLTNB  ap_Position2[3] 
)
pure virtual

◆ GetRdmPositionsAndOrientations() [1/2]

virtual int vScanner::GetRdmPositionsAndOrientations ( int  a_index1,
int  a_index2,
FLTNB  ap_Position1[3],
FLTNB  ap_Position2[3],
FLTNB  ap_Orientation1[3],
FLTNB  ap_Orientation2[3] 
)
pure virtual

Implemented in iScannerPET, iScannerPET, iScannerCT, iScannerCT, iScannerSPECTConv, and iScannerSPECTConv.

Here is the caller graph for this function:

◆ GetRdmPositionsAndOrientations() [2/2]

virtual int vScanner::GetRdmPositionsAndOrientations ( int  a_index1,
int  a_index2,
FLTNB  ap_Position1[3],
FLTNB  ap_Position2[3],
FLTNB  ap_Orientation1[3],
FLTNB  ap_Orientation2[3] 
)
pure virtual

◆ GetScannerType() [1/2]

int vScanner::GetScannerType ( )
inline
Returns
the type (modality) of the system as defined by macro SCANNER_TYPE in sScannerManager.hh

Definition at line 240 of file code/include/scanner/vScanner.hh.

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

◆ GetScannerType() [2/2]

int vScanner::GetScannerType ( )
inline

Definition at line 240 of file include/scanner/vScanner.hh.

Here is the call graph for this function:

◆ GetScannerTypeString() [1/2]

string vScanner::GetScannerTypeString ( )
inline
Returns
the string corresponding to the scanner type (modality) as defined by macro SCANNER_TYPE in sScannerManager.hh

Definition at line 78 of file code/src/scanner/vScanner.cc.

Here is the caller graph for this function:

◆ GetScannerTypeString() [2/2]

string vScanner::GetScannerTypeString ( )

◆ GetSPECTSpecificParameters() [1/2]

int vScanner::GetSPECTSpecificParameters ( uint16_t *  ap_nbOfProjections,
uint16_t *  ap_nbHeads,
FLTNB ap_acquisitionZoom,
uint16_t *  ap_nbOfBins,
FLTNB ap_pixSizeXY,
FLTNB *&  ap_angles,
FLTNB *&  ap_CORtoDetectorDistance,
int *  ap_headRotDirection 
)
virtual

Reimplemented in iScannerSPECTConv, and iScannerSPECTConv.

Definition at line 215 of file code/src/scanner/vScanner.cc.

Here is the caller graph for this function:

◆ GetSPECTSpecificParameters() [2/2]

virtual int vScanner::GetSPECTSpecificParameters ( uint16_t *  ap_nbOfProjections,
uint16_t *  ap_nbHeads,
FLTNB ap_acquisitionZoom,
uint16_t *  ap_nbOfBins,
FLTNB ap_pixSizeXY,
FLTNB *&  ap_angles,
FLTNB *&  ap_CORtoDetectorDistance,
int *  ap_headRotDirection 
)
virtual

Reimplemented in iScannerSPECTConv, and iScannerSPECTConv.

◆ GetSystemNbElts() [1/2]

virtual int vScanner::GetSystemNbElts ( )
pure virtual

◆ GetSystemNbElts() [2/2]

int vScanner::GetSystemNbElts ( )
pure virtual

This is a pure virtual method that must be implemented by children.

Returns
the number of elements in the system

Implemented in iScannerCT, iScannerCT, iScannerSPECTConv, iScannerSPECTConv, iScannerPET, and iScannerPET.

Here is the caller graph for this function:

◆ GetTwoCorners() [1/2]

virtual int vScanner::GetTwoCorners ( int  a_index1,
int  a_index2,
FLTNB  ap_CornerInf1[3],
FLTNB  ap_CornerSup1[3],
FLTNB  ap_CornerInf2[3],
FLTNB  ap_CornerSup2[3] 
)
pure virtual

◆ GetTwoCorners() [2/2]

virtual int vScanner::GetTwoCorners ( int  a_index1,
int  a_index2,
FLTNB  ap_CornerInf1[3],
FLTNB  ap_CornerSup1[3],
FLTNB  ap_CornerInf2[3],
FLTNB  ap_CornerSup2[3] 
)
pure virtual

◆ Initialize() [1/2]

virtual int vScanner::Initialize ( )
pure virtual

◆ Initialize() [2/2]

int vScanner::Initialize ( )
pure virtual

This function is implemented in child classes.
Check initialization and set several parameters to their default value.

Returns
0 if success, positive value otherwise

Implemented in iScannerCT, iScannerCT, iScannerSPECTConv, iScannerSPECTConv, iScannerPET, and iScannerPET.

Here is the caller graph for this function:

◆ Instantiate() [1/2]

virtual int vScanner::Instantiate ( bool  a_scannerFileIsLUT)
pure virtual

◆ Instantiate() [2/2]

virtual int vScanner::Instantiate ( bool  a_scannerFileIsLUT)
pure virtual

Implemented in iScannerCT, iScannerCT, iScannerSPECTConv, iScannerSPECTConv, iScannerPET, and iScannerPET.

Here is the caller graph for this function:

◆ IsAvailableLOR() [1/2]

virtual int vScanner::IsAvailableLOR ( int  a_elt1,
int  a_elt2 
)
virtual

◆ IsAvailableLOR() [2/2]

int vScanner::IsAvailableLOR ( int  a_elt1,
int  a_elt2 
)
virtual

Reimplemented in iScannerSPECTConv, iScannerSPECTConv, iScannerPET, and iScannerPET.

Definition at line 158 of file code/src/scanner/vScanner.cc.

Here is the caller graph for this function:

◆ LoadLUT() [1/2]

virtual int vScanner::LoadLUT ( )
virtual

◆ LoadLUT() [2/2]

int vScanner::LoadLUT ( )
virtual

Virtual function which should be implemented by the child classes.
Load a precomputed scanner LUT.
The vScanner implementation throws error by default as it should be implemented by the child class.

Returns
1 (error) if not surcharged by a daughter class
1 (error) if not surcharged by a daughter class

Reimplemented in iScannerSPECTConv, iScannerSPECTConv, iScannerPET, iScannerPET, iScannerCT, and iScannerCT.

Definition at line 136 of file code/src/scanner/vScanner.cc.

◆ PROJ_GetPETSpecificParameters() [1/2]

int vScanner::PROJ_GetPETSpecificParameters ( FLTNB ap_maxRingDiff)
virtual

Reimplemented in iScannerPET, and iScannerPET.

Definition at line 201 of file code/src/scanner/vScanner.cc.

Here is the caller graph for this function:

◆ PROJ_GetPETSpecificParameters() [2/2]

virtual int vScanner::PROJ_GetPETSpecificParameters ( FLTNB ap_maxRingDiff)
virtual

Reimplemented in iScannerPET, and iScannerPET.

◆ PROJ_GetSPECTNbPixels() [1/2]

uint16_t vScanner::PROJ_GetSPECTNbPixels ( )
virtual

return the total number of pixels for a SPECT reconstruction

This function is surcharged by the SPECT scanner daughter classes
Returns an error by default.

Returns
1 (error) if not surcharged by a daughter class

Reimplemented in iScannerSPECTConv, and iScannerSPECTConv.

Definition at line 409 of file code/src/scanner/vScanner.cc.

Here is the caller graph for this function:

◆ PROJ_GetSPECTNbPixels() [2/2]

virtual uint16_t vScanner::PROJ_GetSPECTNbPixels ( )
virtual

Reimplemented in iScannerSPECTConv, and iScannerSPECTConv.

◆ PROJ_GetSPECTNbProjections() [1/2]

uint16_t vScanner::PROJ_GetSPECTNbProjections ( )
virtual

return the total number of projections for a SPECT acquisition

This function is surcharged by the SPECT scanner daughter classes
Returns an error by default.

Returns
1 (error) if not surcharged by a daughter class

Reimplemented in iScannerSPECTConv, and iScannerSPECTConv.

Definition at line 389 of file code/src/scanner/vScanner.cc.

Here is the caller graph for this function:

◆ PROJ_GetSPECTNbProjections() [2/2]

virtual uint16_t vScanner::PROJ_GetSPECTNbProjections ( )
virtual

Reimplemented in iScannerSPECTConv, and iScannerSPECTConv.

◆ PROJ_SetSPECTAngles() [1/2]

virtual int vScanner::PROJ_SetSPECTAngles ( FLTNB ap_projectionAngles)
virtual

Reimplemented in iScannerSPECTConv, and iScannerSPECTConv.

◆ PROJ_SetSPECTAngles() [2/2]

int vScanner::PROJ_SetSPECTAngles ( FLTNB ap_projectionAngles)
virtual

Reimplemented in iScannerSPECTConv, and iScannerSPECTConv.

Definition at line 348 of file code/src/scanner/vScanner.cc.

Here is the caller graph for this function:

◆ PROJ_SetSPECTCORtoDetectorDistance() [1/2]

int vScanner::PROJ_SetSPECTCORtoDetectorDistance ( FLTNB  a_CORtoDetectorDistance)
virtual

Reimplemented in iScannerSPECTConv, and iScannerSPECTConv.

Definition at line 369 of file code/src/scanner/vScanner.cc.

Here is the caller graph for this function:

◆ PROJ_SetSPECTCORtoDetectorDistance() [2/2]

virtual int vScanner::PROJ_SetSPECTCORtoDetectorDistance ( FLTNB  a_CORtoDetectorDistance)
virtual

Reimplemented in iScannerSPECTConv, and iScannerSPECTConv.

◆ PROJ_SetSPECTNbBins() [1/2]

virtual int vScanner::PROJ_SetSPECTNbBins ( uint16_t *  ap_nbOfBins)
virtual

Reimplemented in iScannerSPECTConv, and iScannerSPECTConv.

◆ PROJ_SetSPECTNbBins() [2/2]

int vScanner::PROJ_SetSPECTNbBins ( uint16_t *  ap_nbOfBins)
virtual

Reimplemented in iScannerSPECTConv, and iScannerSPECTConv.

Definition at line 303 of file code/src/scanner/vScanner.cc.

Here is the caller graph for this function:

◆ PROJ_SetSPECTNbProjections() [1/2]

virtual int vScanner::PROJ_SetSPECTNbProjections ( uint32_t  a_nbOfProjections)
virtual

Reimplemented in iScannerSPECTConv, and iScannerSPECTConv.

◆ PROJ_SetSPECTNbProjections() [2/2]

int vScanner::PROJ_SetSPECTNbProjections ( uint32_t  a_nbOfProjections)
virtual

Reimplemented in iScannerSPECTConv, and iScannerSPECTConv.

Definition at line 324 of file code/src/scanner/vScanner.cc.

Here is the caller graph for this function:

◆ SetImageDimensionsAndQuantification() [1/2]

void vScanner::SetImageDimensionsAndQuantification ( oImageDimensionsAndQuantification ap_ID)
inline

Definition at line 260 of file code/include/scanner/vScanner.hh.

Here is the caller graph for this function:

◆ SetImageDimensionsAndQuantification() [2/2]

void vScanner::SetImageDimensionsAndQuantification ( oImageDimensionsAndQuantification ap_ID)
inline

Definition at line 260 of file include/scanner/vScanner.hh.

◆ SetPETMaxAxialDiffmm() [1/2]

virtual int vScanner::SetPETMaxAxialDiffmm ( FLTNB  a_maxAxialDiffmm)
virtual

Reimplemented in iScannerPET, and iScannerPET.

◆ SetPETMaxAxialDiffmm() [2/2]

int vScanner::SetPETMaxAxialDiffmm ( FLTNB  a_maxAxialDiffmm)
virtual

Reimplemented in iScannerPET, and iScannerPET.

Definition at line 180 of file code/src/scanner/vScanner.cc.

Here is the caller graph for this function:

◆ SetRotDirection() [1/2]

int vScanner::SetRotDirection ( string  a_rotDirection)
virtual

Definition at line 267 of file code/src/scanner/vScanner.cc.

Here is the caller graph for this function:

◆ SetRotDirection() [2/2]

virtual int vScanner::SetRotDirection ( string  a_rotDirection)
virtual

◆ SetVerbose() [1/2]

void vScanner::SetVerbose ( int  a_verboseLevel)
inline

Definition at line 253 of file include/scanner/vScanner.hh.

◆ SetVerbose() [2/2]

void vScanner::SetVerbose ( int  a_verboseLevel)
inline

Definition at line 253 of file code/include/scanner/vScanner.hh.

Here is the caller graph for this function:

◆ ShowHelp() [1/2]

void vScanner::ShowHelp ( )
pure virtual

This function is implemented in child classes
Display help specific to the scanner class.

Implemented in iScannerPET, iScannerPET, iScannerCT, iScannerCT, iScannerSPECTConv, and iScannerSPECTConv.

Here is the caller graph for this function:

◆ ShowHelp() [2/2]

virtual void vScanner::ShowHelp ( )
pure virtual

Member Data Documentation

◆ m_allParametersChecked

bool vScanner::m_allParametersChecked
protected

Boolean indicating if all variables of the class have been checked. Default =false

Definition at line 417 of file code/include/scanner/vScanner.hh.

◆ m_defaultBedDisplacementInMm

FLTNB vScanner::m_defaultBedDisplacementInMm
protected

The default displacement of the scanner between two successive bed positions. Default = 0.

Definition at line 422 of file code/include/scanner/vScanner.hh.

◆ m_rotDirection

int vScanner::m_rotDirection
protected

Rotation Direction for the generation of the geometry (clockwise by default)

Definition at line 421 of file code/include/scanner/vScanner.hh.

◆ m_scannerType

int vScanner::m_scannerType
protected

System type. Default =-1 (unknown)

Definition at line 414 of file code/include/scanner/vScanner.hh.

◆ m_verbose

int vScanner::m_verbose
protected

Verbosity. Default =-1

Definition at line 415 of file code/include/scanner/vScanner.hh.

◆ mp_ID

oImageDimensionsAndQuantification * vScanner::mp_ID
protected

Image dimensions and quantification object

Definition at line 416 of file code/include/scanner/vScanner.hh.

◆ mp_positionMatrix_out

oMatrix * vScanner::mp_positionMatrix_out
protected

Matrix strucure for rotation computations

Definition at line 420 of file code/include/scanner/vScanner.hh.

◆ mp_positionMatrix_ref

oMatrix * vScanner::mp_positionMatrix_ref
protected

Matrix strucure for rotation computations

Definition at line 419 of file code/include/scanner/vScanner.hh.

◆ mp_rotationMatrix

oMatrix * vScanner::mp_rotationMatrix
protected

Matrix strucure for rotation computations

Definition at line 418 of file code/include/scanner/vScanner.hh.


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