32 #define ISCANNERCT_HH 1
100 int BuildLUT(
bool a_scannerFileIsLUT );
118 FLTNB ap_Orientation1[3],
FLTNB ap_Orientation2[3],
119 FLTNB* ap_POI1 = NULL,
FLTNB* ap_POI2 = NULL );
138 FLTNB ap_Orientation1[3],
FLTNB ap_Orientation2[3] );
163 FLTNB ap_CornerInf1[3],
FLTNB ap_CornerSup1[3],
164 FLTNB ap_CornerInf2[3],
FLTNB ap_CornerSup2[3] );
183 FLTNB ap_pos_line_point1[3],
FLTNB ap_pos_line_point2[3],
184 FLTNB ap_pos_point1_x[4],
FLTNB ap_pos_point1_y[4],
FLTNB ap_pos_point1_z[4],
185 FLTNB ap_pos_point2_x[4],
FLTNB ap_pos_point2_y[4],
FLTNB ap_pos_point2_z[4] );
235 int* ap_detectorRotDirection );
iScannerCT()
iScannerCT constructor. Initialize the member variables to their default values.
This header file is mainly used to declare some macro definitions and all includes needed from the st...
int LoadLUT()
Load a precomputed scanner LUT.
FLTNB * mp_crystalOrientationZ
int GetPositionWithRandomDepth(int a_index1, int a_index2, FLTNB ap_Position1[3], FLTNB ap_Position2[3])
Get the positions and orientations of scanner elements from their indices, with a random depth...
FLTNB m_CORtoDetectorDistance
FLTNB * mp_projectionAngles
FLTNB * mp_sourcePositionX
#define CLASS_SCANNER(NAME, CLASS)
int ComputeLUT()
Computes the LUT of the scanner from a generic (.geom) file.
int GetRdmPositionsAndOrientations(int a_index1, int a_index2, FLTNB ap_Position1[3], FLTNB ap_Position2[3], FLTNB ap_Orientation1[3], FLTNB ap_Orientation2[3])
Get the focal point and random positions on the crystal surface and its orientations from the event i...
FLTNB * mp_crystalOrientationX
int Initialize()
Check general initialization and set several parameters to their default value.
FLTNB GetDetectionElementSizeTrans()
This class is used to represent any CT camera with either a CBCT ascii description or a LUT file for ...
int GetGeometricInfoFromDataFile(string a_pathToDF)
Recover geometric informations specific to the scanner class from the datafile header.
uint16_t m_nbOfProjections
int BuildLUT(bool a_scannerFileIsLUT)
Call the functions to generate the LUT or read the user-made LUT depending on the user choice...
FLTNB m_CORtoSourceDistance
int CheckParameters()
Check that all parameters have been correctly initialized.
FLTNB * mp_sourcePositionY
Declaration of class vScanner.
FLTNB * mp_crystalOrientationY
FLTNB * mp_crystalCentralPositionX
void DescribeSpecific()
Implementation of the pure virtual eponym function that simply prints info about the scanner...
#define FUNCTION_SCANNER(CLASS)
int GetTwoCorners(int a_index1, int a_index2, FLTNB ap_CornerInf1[3], FLTNB ap_CornerSup1[3], FLTNB ap_CornerInf2[3], FLTNB ap_CornerSup2[3])
Get the cartesian coordinaters of the two opposite corners of a scanner element.
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])
Implementation of the pure virtual function from vScanner. Get the cartesian coordinaters of the ce...
~iScannerCT()
iScannerCT destructor.
FLTNB GetDetectionElementSizeAxial()
FLTNB * mp_crystalCentralPositionY
int GetSystemNbElts()
Get the number of elements in the system. For a CT system, returns the number of pixels in the detect...
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)
This is a pure virtual method that must be implemented by children. Get the central positions and o...
int GetCTSpecificParameters(uint16_t *ap_nbOfProjections, FLTNB *&ap_angles, int *ap_detectorRotDirection)
Set pointers passed in argument with the related CT specific variables This function is used to rec...
int Instantiate(bool a_scannerFileIsLUT)
Get mandatory informations from the scanner file and allocate memory for the member variables...
FLTNB * mp_crystalCentralPositionZ
Declaration of class sAddonManager.
Generic class for scanner objects.
void ShowHelp()
Display help.
FLTNB * mp_sourcePositionZ