8 #ifndef SSCANNERMANAGER_HH 9 #define SSCANNERMANAGER_HH 1 11 #include "gVariables.hh" 12 #include "gOptions.hh" 13 #include "sOutputManager.hh" 15 #include "oDirentWin32.hh" 29 #define SCANNER_UNKNOWN -1 33 #define SCANNER_SPECT_PINHOLE 1 35 #define SCANNER_SPECT_CONVERGENT 2 39 #define SCANNER_SINOGRAM 4 291 uint16_t* ap_nbHeads,
292 FLTNB* ap_acquisitionZoom,
293 uint16_t* ap_nbOfBins,
296 FLTNB*& ap_CORtoDetectorDistance,
297 int* ap_headRotDirection);
308 int* ap_headRotDirection);
340 uint32_t a_nbOfProjections,
343 FLTNB* ap_projectionAngles,
344 FLTNB a_CORtoDetectorDistance,
345 string a_rotDirection);
vScanner * GetScannerObject()
sScannerManager(sScannerManager const &)
static sScannerManager * GetInstance()
int GetAvailableScanners(vector< string > *ap_scannerNames)
int64_t PROJ_GetModalityStartValueInnerLoop(int64_t a_elt1)
int FindScannerSystem(string a_scannerName)
Declaration of class vScanner.
int BuildScannerObject()
Instantiate the specific scanner object related to the modality, and set verbosity of scanner object...
int64_t PROJ_GetProgressionFinalValue()
Get numerator value according to the modality to compute percent progression during the projection pr...
int GetModalityFromString(string a_systemStr)
static sScannerManager * mp_Instance
bool m_hasUserScannerFile
string GetPathToScannerFile()
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)
bool m_allParametersChecked
void SetSaveLUTFlag(bool a_flag)
int CheckParameters()
Check if all parameters have been correctly initialized, and call the CheckParameters function of the...
int InstantiateScanner()
Instantiate scanner using the related function in the scanner classes.
sScannerManager()
sScannerManager constructor.
string m_pathToScannerFile
bool m_hasGenericScannerFile
int BuildLUT()
Call the eponym function of the scanner class.
bool HasUserScannerFile()
Singleton class that Instantiate and initialize the scanner object.
int PROJ_SetPETSpecificParameters(FLTNB a_maxAxialDiffmm)
int64_t PROJ_GetCurrentProgression(int64_t a_elt1, int64_t a_elt2, int64_t *ap_nbEltsArray, uint16_t a_nbDynImgProcessed)
int ShowScannersDescription()
Get the description associated to the different scanners and print all on screen. Walk through the ...
~sScannerManager()
sScannerManager destructor.
int PROJ_SetSPECTSpecificParameters(uint16_t *ap_nbOfBins, uint32_t a_nbOfProjections, FLTNB a_firstAngle, FLTNB a_stepAngle, FLTNB *ap_projectionAngles, FLTNB a_CORtoDetectorDistance, string a_rotDirection)
void operator=(sScannerManager const &)
oImageDimensionsAndQuantification * mp_ID
int Initialize()
Initialization : .
virtual int GetSystemNbElts()=0
This is a pure virtual method that must be implemented by children.
void SetImageDimensionsAndQuantification(oImageDimensionsAndQuantification *ap_ID)
This class is designed to manage all dimensions and quantification related stuff. ...
void Describe()
Call the eponym function from the Scanner object (if initialized)
void SetVerbose(int a_verboseLevel)
int64_t PROJ_GetModalityStopValueMainLoop()
Get the stop value for the main loop of analytic projection depending on the modality.
int GetCTSpecificParameters(uint16_t *ap_nbOfProjections, FLTNB *&ap_angles, int *ap_headRotDirection)
int GetGeometricInfoFromDataFile(string a_pathToDataFilename)
int PROJ_GetPETSpecificParameters(FLTNB *ap_maxAxialDiffmm)
Generic class for scanner objects.
int InitScannerWithFile(string a_pathScanFile, string a_scannerName, int a_fileTypeFlag)