![]() |
CASToR
3.2
Tomographic Reconstruction (PET/SPECT/CT)
|
This class gathers the information about the dynamic splitting of the data. More...
#include <oDynamicDataManager.hh>
Public Member Functions | |
oDynamicDataManager () | |
oDynamicDataManager constructor. Initialize the member variables to their default values. More... | |
~oDynamicDataManager () | |
oDynamicDataManager destructor. More... | |
int | InitDynamicData (int a_nbRespGates, int a_nbCardGates, const string &a_pathTo4DDataSplittingFile, int a_rmMCorrFlag, int a_cMmCorrFlag, int a_pMotionCorrFlag) |
int | SetDynamicSpecificQuantificationFactors (FLTNB **a2p_quantificationFactors) |
int | CheckParameters (int64_t a_nbEvents) |
void | ResetCurrentDynamicIndices () |
Reset to 0 the multithreaded dynamic arrays gathering the indices of current frame, gates and involuntary motion. More... | |
int | DynamicSwitch (int64_t a_index, uint32_t a_time, int a_bed, int a_th) |
void | SetVerbose (int a_verboseLevel) |
void | SetImageDimensionsAndQuantification (oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification) |
void | SetRespMotionFlagOn () |
set the respiratory motion flag to 'true' More... | |
void | SetCardMotionFlagOn () |
set the cardiac motion flag to 'true' More... | |
void | SetPMotionFlagOn () |
set the involuntary patient motion flag to 'true' More... | |
bool | IsRespMotionEnabled () |
bool | IsCardMotionEnabled () |
bool | IsPMotionEnabled () |
int | GetCurrentPMotionIndex (int a_th) |
int | GetCurrentTimeFrame (int a_th) |
Return the index indicating the current time frame for this thread. More... | |
int | GetCurrentRespGate (int a_th) |
Return the index indicating the current respiratory gate for this thread. More... | |
int | GetCurrentRespImage (int a_th) |
int | GetCurrentCardGate (int a_th) |
int | GetCurrentCardImage (int a_th) |
int | GetNb2ndMotImgsForLMS () |
return the number of secundary motion (typically cardiac) images to be used in the ImageSpace matrices for the list-mode sensitivity image generation More... | |
int | GetPMotionFirstIndexForFrame (int a_fr) |
int | GetPMotionLastIndexForFrame (int a_fr) |
int | GetNb1stMotImgsForLMS (int a_fr) |
int | GetNbPMotionTriggers (int a_fr) |
FLTNB | GetListPMotionWeightInFrameForLMS (int a_fr, int a_pmsset) |
HPFLTNB | GetDurationPerGate (int a_fr, int a_respGate) |
int | GetNbIPatMotionSubsets () |
return the number of involuntary patient motion transformations More... | |
bool | GateDurationProvided () |
oDynamicDataManager () | |
oDynamicDataManager constructor. Initialize the member variables to their default values. More... | |
~oDynamicDataManager () | |
oDynamicDataManager destructor. More... | |
int | InitDynamicData (int a_nbRespGates, int a_nbCardGates, const string &a_pathTo4DDataSplittingFile, int a_rmMCorrFlag, int a_cMmCorrFlag, int a_pMotionCorrFlag) |
int | SetDynamicSpecificQuantificationFactors (FLTNB **a2p_quantificationFactors) |
int | CheckParameters (int64_t a_nbEvents) |
void | ResetCurrentDynamicIndices () |
int | DynamicSwitch (int64_t a_index, uint32_t a_time, int a_bed, int a_th) |
void | SetVerbose (int a_verboseLevel) |
void | SetImageDimensionsAndQuantification (oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification) |
void | SetRespMotionFlagOn () |
void | SetCardMotionFlagOn () |
void | SetPMotionFlagOn () |
bool | IsRespMotionEnabled () |
bool | IsCardMotionEnabled () |
bool | IsPMotionEnabled () |
int | GetCurrentPMotionIndex (int a_th) |
int | GetCurrentTimeFrame (int a_th) |
int | GetCurrentRespGate (int a_th) |
int | GetCurrentRespImage (int a_th) |
int | GetCurrentCardGate (int a_th) |
int | GetCurrentCardImage (int a_th) |
int | GetNb2ndMotImgsForLMS () |
int | GetPMotionFirstIndexForFrame (int a_fr) |
int | GetPMotionLastIndexForFrame (int a_fr) |
int | GetNb1stMotImgsForLMS (int a_fr) |
int | GetNbPMotionTriggers (int a_fr) |
FLTNB | GetListPMotionWeightInFrameForLMS (int a_fr, int a_pmsset) |
HPFLTNB | GetDurationPerGate (int a_fr, int a_respGate) |
int | GetNbIPatMotionSubsets () |
bool | GateDurationProvided () |
Private Member Functions | |
int | InitDynamicDataGating (const string &a_pathToGateFile) |
int | InitDynamicDataPatientMotion (const string &a_pathToFile) |
int | InitDynamicDataGating (const string &a_pathToGateFile) |
int | InitDynamicDataPatientMotion (const string &a_pathToFile) |
Private Attributes | |
oImageDimensionsAndQuantification * | mp_ID |
int | m_verbose |
int * | mp_currentFrameIndex |
int | m_nbTimeFrames |
bool | m_respGatingFlag |
bool | m_rMotionCorrFlag |
int | m_nbRespGates |
int64_t ** | m2p_nbEventsPerRespGate |
int64_t ** | m2p_indexLastEventRespGate |
int * | mp_currentRespGateIndex |
bool | m_cardGatingFlag |
bool | m_cMotionCorrFlag |
int | m_nbCardGates |
int64_t ** | m2p_nbEventsPerCardGate |
int64_t ** | m2p_indexLastEventCardGate |
int * | mp_currentCardGateIndex |
HPFLTNB ** | m2p_durationPerGate |
bool | m_gateDurationProvidedFlag |
bool | m_pMotionCorrFlag |
int | m_nbPMotionTriggers |
uint16_t * | mp_framePMotionFirstIndex |
uint16_t * | mp_framePMotionLastIndex |
uint16_t * | mp_frameNbPMotionIndexes |
uint32_t * | mp_listPMotionTriggers |
int ** | mp_MotionTriggersIndexInFrame |
HPFLTNB ** | m2p_listPMotionWeightInFrame |
int * | mp_currentPMotionIndex |
This class gathers the information about the dynamic splitting of the data.
It contains the functions dedicated to the reading of user-provided informations about the dynamic dataset.
It is specific to each iDataFile object.
It holds several arrays related to the 4D splitting of the data, the current gates indices, as well as the related functions.
Definition at line 30 of file code/include/datafile/oDynamicDataManager.hh.
oDynamicDataManager::oDynamicDataManager | ( | ) |
oDynamicDataManager constructor. Initialize the member variables to their default values.
Definition at line 17 of file code/src/datafile/oDynamicDataManager.cc.
oDynamicDataManager::~oDynamicDataManager | ( | ) |
oDynamicDataManager destructor.
Definition at line 53 of file code/src/datafile/oDynamicDataManager.cc.
oDynamicDataManager::oDynamicDataManager | ( | ) |
oDynamicDataManager constructor. Initialize the member variables to their default values.
oDynamicDataManager::~oDynamicDataManager | ( | ) |
oDynamicDataManager destructor.
int oDynamicDataManager::CheckParameters | ( | int64_t | a_nbEvents | ) |
Definition at line 638 of file code/src/datafile/oDynamicDataManager.cc.
int oDynamicDataManager::CheckParameters | ( | int64_t | a_nbEvents | ) |
int oDynamicDataManager::DynamicSwitch | ( | int64_t | a_index, |
uint32_t | a_time, | ||
int | a_bed, | ||
int | a_th | ||
) |
Definition at line 744 of file code/src/datafile/oDynamicDataManager.cc.
int oDynamicDataManager::DynamicSwitch | ( | int64_t | a_index, |
uint32_t | a_time, | ||
int | a_bed, | ||
int | a_th | ||
) |
|
inline |
Definition at line 279 of file code/include/datafile/oDynamicDataManager.hh.
|
inline |
Definition at line 279 of file include/datafile/oDynamicDataManager.hh.
|
inline |
Definition at line 190 of file code/include/datafile/oDynamicDataManager.hh.
|
inline |
Definition at line 190 of file include/datafile/oDynamicDataManager.hh.
|
inline |
Definition at line 199 of file code/include/datafile/oDynamicDataManager.hh.
|
inline |
Definition at line 199 of file include/datafile/oDynamicDataManager.hh.
|
inline |
Definition at line 157 of file include/datafile/oDynamicDataManager.hh.
|
inline |
Definition at line 157 of file code/include/datafile/oDynamicDataManager.hh.
|
inline |
Return the index indicating the current respiratory gate for this thread.
a_th |
Definition at line 173 of file code/include/datafile/oDynamicDataManager.hh.
|
inline |
Definition at line 173 of file include/datafile/oDynamicDataManager.hh.
|
inline |
Definition at line 182 of file code/include/datafile/oDynamicDataManager.hh.
|
inline |
Definition at line 182 of file include/datafile/oDynamicDataManager.hh.
|
inline |
Definition at line 165 of file include/datafile/oDynamicDataManager.hh.
|
inline |
Return the index indicating the current time frame for this thread.
a_th |
Definition at line 165 of file code/include/datafile/oDynamicDataManager.hh.
|
inline |
Definition at line 264 of file code/include/datafile/oDynamicDataManager.hh.
|
inline |
Definition at line 264 of file include/datafile/oDynamicDataManager.hh.
|
inline |
Definition at line 255 of file code/include/datafile/oDynamicDataManager.hh.
|
inline |
Definition at line 255 of file include/datafile/oDynamicDataManager.hh.
|
inline |
Definition at line 235 of file code/include/datafile/oDynamicDataManager.hh.
|
inline |
Definition at line 235 of file include/datafile/oDynamicDataManager.hh.
|
inline |
return the number of secundary motion (typically cardiac) images to be used in the ImageSpace matrices for the list-mode sensitivity image generation
Definition at line 206 of file code/include/datafile/oDynamicDataManager.hh.
|
inline |
Definition at line 206 of file include/datafile/oDynamicDataManager.hh.
|
inline |
return the number of involuntary patient motion transformations
Definition at line 272 of file code/include/datafile/oDynamicDataManager.hh.
|
inline |
Definition at line 272 of file include/datafile/oDynamicDataManager.hh.
|
inline |
Definition at line 245 of file code/include/datafile/oDynamicDataManager.hh.
|
inline |
Definition at line 245 of file include/datafile/oDynamicDataManager.hh.
|
inline |
Definition at line 216 of file include/datafile/oDynamicDataManager.hh.
|
inline |
Definition at line 216 of file code/include/datafile/oDynamicDataManager.hh.
|
inline |
Definition at line 226 of file include/datafile/oDynamicDataManager.hh.
|
inline |
Definition at line 226 of file code/include/datafile/oDynamicDataManager.hh.
int oDynamicDataManager::InitDynamicData | ( | int | a_nbRespGates, |
int | a_nbCardGates, | ||
const string & | a_pathTo4DDataSplittingFile, | ||
int | a_rmMCorrFlag, | ||
int | a_cMmCorrFlag, | ||
int | a_pMotionCorrFlag | ||
) |
Definition at line 92 of file code/src/datafile/oDynamicDataManager.cc.
int oDynamicDataManager::InitDynamicData | ( | int | a_nbRespGates, |
int | a_nbCardGates, | ||
const string & | a_pathTo4DDataSplittingFile, | ||
int | a_rmMCorrFlag, | ||
int | a_cMmCorrFlag, | ||
int | a_pMotionCorrFlag | ||
) |
|
private |
|
private |
Definition at line 210 of file code/src/datafile/oDynamicDataManager.cc.
|
private |
|
private |
Definition at line 303 of file code/src/datafile/oDynamicDataManager.cc.
|
inline |
Definition at line 143 of file include/datafile/oDynamicDataManager.hh.
|
inline |
Definition at line 143 of file code/include/datafile/oDynamicDataManager.hh.
|
inline |
Definition at line 149 of file code/include/datafile/oDynamicDataManager.hh.
|
inline |
Definition at line 149 of file include/datafile/oDynamicDataManager.hh.
|
inline |
Definition at line 137 of file include/datafile/oDynamicDataManager.hh.
|
inline |
Definition at line 137 of file code/include/datafile/oDynamicDataManager.hh.
void oDynamicDataManager::ResetCurrentDynamicIndices | ( | ) |
void oDynamicDataManager::ResetCurrentDynamicIndices | ( | ) |
Reset to 0 the multithreaded dynamic arrays gathering the indices of current frame, gates and involuntary motion.
Definition at line 724 of file code/src/datafile/oDynamicDataManager.cc.
|
inline |
Definition at line 125 of file include/datafile/oDynamicDataManager.hh.
|
inline |
set the cardiac motion flag to 'true'
Definition at line 125 of file code/include/datafile/oDynamicDataManager.hh.
int oDynamicDataManager::SetDynamicSpecificQuantificationFactors | ( | FLTNB ** | a2p_quantificationFactors | ) |
int oDynamicDataManager::SetDynamicSpecificQuantificationFactors | ( | FLTNB ** | a2p_quantificationFactors | ) |
Definition at line 556 of file code/src/datafile/oDynamicDataManager.cc.
|
inline |
Definition at line 113 of file include/datafile/oDynamicDataManager.hh.
|
inline |
Definition at line 113 of file code/include/datafile/oDynamicDataManager.hh.
|
inline |
set the involuntary patient motion flag to 'true'
Definition at line 131 of file code/include/datafile/oDynamicDataManager.hh.
|
inline |
Definition at line 131 of file include/datafile/oDynamicDataManager.hh.
|
inline |
set the respiratory motion flag to 'true'
Definition at line 119 of file code/include/datafile/oDynamicDataManager.hh.
|
inline |
Definition at line 119 of file include/datafile/oDynamicDataManager.hh.
|
inline |
Definition at line 106 of file include/datafile/oDynamicDataManager.hh.
|
inline |
Definition at line 106 of file code/include/datafile/oDynamicDataManager.hh.
|
private |
Table containing the duration in seconds of each gate. TODO: For future dynamic implementation, get this information from datafile header
Definition at line 328 of file code/include/datafile/oDynamicDataManager.hh.
|
private |
2 dimensional array [nb frames][nb resp gates] containing the last event in the cardiac gates
Definition at line 324 of file code/include/datafile/oDynamicDataManager.hh.
|
private |
2 dimensional array [nb frames][nb resp gates] containing the last event in the respiratory gates
Definition at line 316 of file code/include/datafile/oDynamicDataManager.hh.
|
private |
For each frame, this list contain the weight of each patient motion subset in terms of duration (for LMS)
Definition at line 339 of file code/include/datafile/oDynamicDataManager.hh.
|
private |
2 dimensional array [nb frames][nb resp gates] containing the number of events in each cardiac gates.
Definition at line 323 of file code/include/datafile/oDynamicDataManager.hh.
|
private |
2 dimensional array [nb frames][nb resp gates] containing the number of events in each respiratory gates
Definition at line 315 of file code/include/datafile/oDynamicDataManager.hh.
|
private |
Flag indicating if cardiac gating is enabled
Definition at line 320 of file code/include/datafile/oDynamicDataManager.hh.
|
private |
Flag indicating if patient involuntary motion correction is enabled
Definition at line 321 of file code/include/datafile/oDynamicDataManager.hh.
|
private |
Flag indicating that gate duration have been provided (default: false)
Definition at line 329 of file code/include/datafile/oDynamicDataManager.hh.
|
private |
Number of gates for cardiac motion correction
Definition at line 322 of file code/include/datafile/oDynamicDataManager.hh.
|
private |
Total number of triggers for patient involuntary motion correction
Definition at line 333 of file code/include/datafile/oDynamicDataManager.hh.
|
private |
Number of gates for respiratory motion correction
Definition at line 314 of file code/include/datafile/oDynamicDataManager.hh.
|
private |
Number of time frames
Definition at line 309 of file code/include/datafile/oDynamicDataManager.hh.
|
private |
Flag indicating if patient involuntary motion correction is enabled
Definition at line 332 of file code/include/datafile/oDynamicDataManager.hh.
|
private |
Flag indicating if respiratory gating is enabled
Definition at line 312 of file code/include/datafile/oDynamicDataManager.hh.
|
private |
Flag indicating if respiratory motion correction is enabled
Definition at line 313 of file code/include/datafile/oDynamicDataManager.hh.
|
private |
Verbosity
Definition at line 305 of file code/include/datafile/oDynamicDataManager.hh.
|
private |
Multithreaded array [nb threads] containing the index of the current cardiac gate in use
Definition at line 325 of file code/include/datafile/oDynamicDataManager.hh.
|
private |
Multithreaded array [nb threads] containing the index of the current frame in use
Definition at line 308 of file code/include/datafile/oDynamicDataManager.hh.
|
private |
Multithreaded array [nb threads] containing the index for patient involuntary motion correction
Definition at line 340 of file code/include/datafile/oDynamicDataManager.hh.
|
private |
Multithreaded array [nb threads] containing the index of the current respiratory gate in use
Definition at line 317 of file code/include/datafile/oDynamicDataManager.hh.
|
private |
Number of patient involuntary motion trigger indexes by frame
Definition at line 336 of file code/include/datafile/oDynamicDataManager.hh.
|
private |
First index of patient involuntary motion triggers by frame (for LMS)
Definition at line 334 of file code/include/datafile/oDynamicDataManager.hh.
|
private |
Last index of patient involuntary motion triggers by frame (for LMS)
Definition at line 335 of file code/include/datafile/oDynamicDataManager.hh.
|
private |
Pointer to the oImageDimensionsAndQuantification object
Definition at line 304 of file code/include/datafile/oDynamicDataManager.hh.
|
private |
Array containing the timestamp of each trigger of the patient involuntary motion correction
Definition at line 337 of file code/include/datafile/oDynamicDataManager.hh.
|
private |
Array containing all motion triggers within each frame
Definition at line 338 of file code/include/datafile/oDynamicDataManager.hh.