31 #ifndef ODYNAMICDATAMANAGER_HH
32 #define ODYNAMICDATAMANAGER_HH 1
34 #define DYNAMIC_SWITCH_NOTHING 0
35 #define DYNAMIC_SWITCH_CONTINUE 1
36 #define DYNAMIC_SWITCH_DEFORMATION 2
83 int InitDynamicData(
int a_nbRespGates,
int a_nbCardGates,
const string& a_pathTo4DDataSplittingFile,
84 int a_rmMCorrFlag,
int a_cMmCorrFlag,
int a_dmCorrFlag,
int a_pMotionCorrFlag );
118 int DynamicSwitch(int64_t a_index, uint32_t a_time,
int a_bed,
int a_th);
136 {
mp_ID = ap_ImageDimensionsAndQuantification;};
int InitDynamicDataGating(const string &a_pathToGateFile)
Initialisation of arrays containing informations about the data splitting and respiratory/cardiac gat...
int GetCurrentRespGate(int a_th)
Return the index indicating the current respiratory gate for this thread.
int CheckParameters(int64_t a_nbEvents)
Check all mandatory parameters.
This class is designed to be a mother virtual class for DataFile.
This header file is mainly used to declare some macro definitions and all includes needed from the st...
void SetVerbose(int a_verboseLevel)
set verbosity
void SetRespMotionFlagOn()
set the respiratory motion flag to 'true'
void SetCardMotionFlagOn()
set the cardiac motion flag to 'true'
int * mp_currentRespGateIndex
int GetCurrentCardImage(int a_th)
return the number of the current cardiac gated image, to be used in the ImageSpace matrices for the r...
This class gathers the information about the dynamic splitting of the data.
void ResetCurrentDynamicIndices()
Reset to 0 the multithreaded dynamic arrays gathering the indices of current frame, gates and involuntary motion.
int GetCurrentCardGate(int a_th)
Return the index indicating the current cardiac gate for this thread.
int GetNb1stMotImgsForLMS(int a_fr)
return the number of first motion (either respiratory or involuntary patient motion) images to be use...
int GetNbIPatMotionSubsets()
return the number of involuntary patient motion transformations
uint16_t * mp_framePMotionFirstIndex
int GetCurrentRespImage(int a_th)
return the number of the current respiratory gated image, to be used in the ImageSpace matrices for t...
int DynamicSwitch(int64_t a_index, uint32_t a_time, int a_bed, int a_th)
This function is called in the reconstruction event loop. It is used to check if the current event be...
int GetNb2ndMotImgsForLMS()
return the number of secundary motion (typically cardiac) images to be used in the ImageSpace matrice...
bool IsCardMotionEnabled()
int * mp_currentFrameIndex
uint16_t * mp_frameNbPMotionTriggers
~oDynamicDataManager()
oDynamicDataManager destructor.
int GetCurrentTimeFrame(int a_th)
Return the index indicating the current time frame for this thread.
void SetImageDimensionsAndQuantification(oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification)
set the pointer to the oImageDimensionsAndQuantification object
oDynamicDataManager()
oDynamicDataManager constructor. Initialize the member variables to their default values...
int * mp_currentCardGateIndex
oImageDimensionsAndQuantification * mp_ID
int SetDynamicSpecificQuantificationFactors(FLTNB **a2p_quantificationFactors)
Compute gate-specific quantificative factors using the number of events within each gate...
int64_t ** m2p_indexLastEventCardGate
bool IsRespMotionEnabled()
int64_t ** m2p_nbEventsPerCardGate
int InitDynamicDataPatientMotion(const string &a_pathToFile)
Initialisation of involuntary patient motion correction information, if any.
int GetPMotionFirstIndexForLMS(int a_fr)
Declaration of class sOutputManager.
int * mp_currentPMotionIndex
int64_t ** m2p_indexLastEventRespGate
int GetCurrentPMotionIndex(int a_th)
return the number of the current involuntary patient motion image to be used in the ImageSpace matric...
int64_t ** m2p_nbEventsPerRespGate
This class is designed to manage all dimensions and quantification related stuff. ...
This file is used for all kind of different functions designed for options parsing and ASCII file rea...
uint32_t * mp_listPMotionTriggers
int InitDynamicData(int a_nbRespGates, int a_nbCardGates, const string &a_pathTo4DDataSplittingFile, int a_rmMCorrFlag, int a_cMmCorrFlag, int a_dmCorrFlag, int a_pMotionCorrFlag)
Main function for instanciation and initialization of the member variables and arrays. Call the specific initialization function depending of the type of dataset.
void SetPMotionFlagOn()
set the involuntary patient motion flag to 'true'