8 #ifndef ODYNAMICDATAMANAGER_HH 9 #define ODYNAMICDATAMANAGER_HH 1 11 #define DYNAMIC_SWITCH_NOTHING 0 12 #define DYNAMIC_SWITCH_CONTINUE 1 13 #define DYNAMIC_SWITCH_DEFORMATION 2 14 #define DYNAMIC_SWITCH_END_LOOP 3 16 #include "gVariables.hh" 17 #include "gOptions.hh" 18 #include "sOutputManager.hh" 61 int InitDynamicData(
int a_nbRespGates,
int a_nbCardGates,
const string& a_pathTo4DDataSplittingFile,
62 int a_rmMCorrFlag,
int a_cMmCorrFlag,
int a_pMotionCorrFlag );
96 int DynamicSwitch(int64_t a_index, uint32_t a_time,
int a_bed,
int a_th);
114 {
mp_ID = ap_ImageDimensionsAndQuantification;};
int GetNbIPatMotionSubsets()
int InitDynamicDataGating(const string &a_pathToGateFile)
int CheckParameters(int64_t a_nbEvents)
This class is designed to be a mother virtual class for DataFile.
FLTNB GetListPMotionWeightInFrameForLMS(int a_fr, int a_pmsset)
int GetCurrentRespGate(int a_th)
int * mp_currentCardGateIndex
This class gathers the information about the dynamic splitting of the data.
int GetCurrentTimeFrame(int a_th)
int GetCurrentCardGate(int a_th)
void ResetCurrentDynamicIndices()
Reset to 0 the multithreaded dynamic arrays gathering the indices of current frame, gates and involuntary motion.
HPFLTNB ** m2p_listPMotionWeightInFrame
bool IsRespMotionEnabled()
int GetCurrentCardImage(int a_th)
void SetVerbose(int a_verboseLevel)
int * mp_currentPMotionIndex
int GetPMotionLastIndexForFrame(int a_fr)
int GetNbPMotionTriggers(int a_fr)
oImageDimensionsAndQuantification * mp_ID
int InitDynamicData(int a_nbRespGates, int a_nbCardGates, const string &a_pathTo4DDataSplittingFile, int a_rmMCorrFlag, int a_cMmCorrFlag, int a_pMotionCorrFlag)
int DynamicSwitch(int64_t a_index, uint32_t a_time, int a_bed, int a_th)
void SetCardMotionFlagOn()
uint16_t * mp_framePMotionLastIndex
int * mp_currentFrameIndex
int64_t ** m2p_nbEventsPerRespGate
~oDynamicDataManager()
oDynamicDataManager destructor.
bool m_gateDurationProvidedFlag
oDynamicDataManager()
oDynamicDataManager constructor. Initialize the member variables to their default values...
int64_t ** m2p_indexLastEventCardGate
int64_t ** m2p_nbEventsPerCardGate
uint16_t * mp_frameNbPMotionIndexes
int SetDynamicSpecificQuantificationFactors(FLTNB **a2p_quantificationFactors)
uint16_t * mp_framePMotionFirstIndex
int GetCurrentRespImage(int a_th)
int InitDynamicDataPatientMotion(const string &a_pathToFile)
bool IsCardMotionEnabled()
int64_t ** m2p_indexLastEventRespGate
HPFLTNB ** m2p_durationPerGate
This class is designed to manage all dimensions and quantification related stuff. ...
void SetImageDimensionsAndQuantification(oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification)
bool GateDurationProvided()
HPFLTNB GetDurationPerGate(int a_fr, int a_respGate)
uint32_t * mp_listPMotionTriggers
int GetNb2ndMotImgsForLMS()
void SetRespMotionFlagOn()
int GetPMotionFirstIndexForFrame(int a_fr)
int * mp_currentRespGateIndex
int GetNb1stMotImgsForLMS(int a_fr)
int ** mp_MotionTriggersIndexInFrame
int GetCurrentPMotionIndex(int a_th)