![]() |
CASToR
3.2
Tomographic Reconstruction (PET/SPECT/CT)
|
Inherit from vDataFile. Class that manages the reading of a CT input file (header + data). More...
#include <iDataFileCT.hh>
Public Member Functions | |
iDataFileCT () | |
iDataFileCT constructor. Initialize the member variables to their default values. More... | |
~iDataFileCT () | |
iDataFileCT destructor. More... | |
int | ReadSpecificInfoInHeader (bool a_affectQuantificationFlag) |
int | WriteHeader () |
Generate a header file according to the data output information. More... | |
int | ComputeSizeEvent () |
Computation of the size of each event according to the mandatory/optional correction fields. More... | |
int | PrepareDataFile () |
Store different kind of information inside arrays (data relative to specific correction as well as basic raw data for the case data is loaded in RAM) Use the flag provided by the user to determine how the data has to be sorted (preloaded or read on the fly) More... | |
int | WriteEvent (vEvent *ap_Event, int a_th=0) |
vEvent * | GetEventSpecific (char *ap_buffer, int a_th) |
int | InitAngles (FLTNB *ap_angles) |
void | DescribeSpecific () |
Implementation of the pure virtual eponym function that simply prints info about the datafile. More... | |
int | PROJ_InitFile () |
Initialize the fstream objets for output writing as well as some other variables specific to the Projection script (Event-based correction flags, Estimated size of data file) More... | |
int | PROJ_GetScannerSpecificParameters () |
Get SPECT specific parameters for projections from the scanner object, through the scannerManager. More... | |
uint16_t | GetNbProjections () |
FLTNB * | GetAngles () |
void | SetEventKindFlagOn () |
set to true the flag indicating the presence of the kind of a list-mode event in the datafile More... | |
void | SetNbProjections (uint16_t a_nbProjections) |
int | GetDetectorRotDirection () |
Simply return m_detectorRotDirection. More... | |
void | SetDetectorRotDirection (int a_direction) |
bool | GetEventKindFlag () |
Simply return m_eventKindFlag. More... | |
bool | GetScatCorrectionFlag () |
Simply return m_scatCorrectionFlag. More... | |
bool | GetBlankCorrectionFlag () |
Simply return m_blankCorrectionFlag. More... | |
iDataFileCT () | |
iDataFileCT constructor. Initialize the member variables to their default values. More... | |
~iDataFileCT () | |
iDataFileCT destructor. More... | |
int | ReadSpecificInfoInHeader (bool a_affectQuantificationFlag) |
int | WriteHeader () |
This function is implemented in child classes. Generate a header file according to the data output information. More... | |
int | ComputeSizeEvent () |
This function is implemented in child classes Computation of the size of each event according to the mandatory/optional correction fields. More... | |
int | PrepareDataFile () |
This function is implemented in child classes Store different kind of information inside arrays (data relative to specific correction as well as basic raw data for the case data is loaded in RAM) Use the flag provided by the user to determine how the data has to be sorted (preloaded or read on the fly) More... | |
int | WriteEvent (vEvent *ap_Event, int a_th=0) |
vEvent * | GetEventSpecific (char *ap_buffer, int a_th) |
int | InitAngles (FLTNB *ap_angles) |
void | DescribeSpecific () |
A pure virtual function used to describe the specific parts of the datafile. More... | |
int | PROJ_InitFile () |
This function is implemented in child classes Initialize the fstream objets for output writing as well as some other variables specific to the Projection script. More... | |
int | PROJ_GetScannerSpecificParameters () |
This function is implemented in child classes It is used to set several variables of the datafile when using the projection script. Get modality specific parameters from the scanner object, through the scannerManager. More... | |
uint16_t | GetNbProjections () |
FLTNB * | GetAngles () |
void | SetEventKindFlagOn () |
void | SetNbProjections (uint16_t a_nbProjections) |
int | GetDetectorRotDirection () |
void | SetDetectorRotDirection (int a_direction) |
bool | GetEventKindFlag () |
bool | GetScatCorrectionFlag () |
bool | GetBlankCorrectionFlag () |
![]() | |
vDataFile () | |
vDataFile constructor. More... | |
virtual | ~vDataFile () |
vDataFile destructor. More... | |
int | ReadInfoInHeader (bool a_affectQuantificationFlag=true) |
int | SetParametersFrom (vDataFile *ap_DataFile) |
int | CheckParameters () |
Check the initialization of member variables Call the CheckSpecificParameters() function implemented in child classes. More... | |
int | InitializeMappedFile () |
Check the datafile existency, map it to memory and get the raw char* pointer. . More... | |
int | OpenFileForWriting (string a_suffix="") |
int | CloseFile () |
Close as many binary file stream for writing. More... | |
vEvent * | GetEvent (int64_t a_eventIndex, int a_th=0) |
void | GetEventIndexStartAndStop (int64_t *ap_indexStart, int64_t *ap_indexStop, int a_subsetNum=0, int a_NbSubsets=1) |
int | CheckConsistencyWithAnotherBedDataFile (vDataFile *ap_DataFile) |
void | Describe () |
A function used to describe the generic parts of the datafile. More... | |
int | PROJ_WriteData () |
Write/Merge chunk of data in a general data file. More... | |
int | PROJ_DeleteTmpDataFile () |
Delete temporary datafile used for multithreaded output writing if needed. More... | |
vEvent * | PROJ_GenerateEvent (int idx_elt1, int idx_elt2, int a_th) |
int | GetBedIndex () |
int | GetDataMode () |
string | GetDataModeToString () |
int | GetDataType () |
string | GetDataTypeToString () |
int | GetDataSpec () |
string | GetDataSpecToString () |
int64_t | GetSize () |
int64_t | GetEventSize () |
string | GetHeaderDataFileName () |
string | GetDataFileName () |
FLTNB | GetStartTime () |
FLTNB | GetDuration () |
FLTNB | GetCalibrationFactor () |
FLTNB * | GetPOIResolution () |
bool * | GetPOIDirectionFlag () |
bool | GetPOIInfoFlag () |
bool | GetIgnorePOIFlag () |
virtual int | GetMaxRingDiff () |
Return an error by default. This function is surcharged by the PET (and CT) scanner daughter class. More... | |
void | SetDataMode (int a_dataMode) |
void | SetDataType (int a_dataType) |
void | SetBedIndex (int a_bedIndex) |
bool | GetBedPositionFlag () |
FLTNB | GetRelativeBedPosition () |
void | SetVerbose (int a_verboseLevel) |
int | GetVerbose () |
Get the verbose level. More... | |
void | SetImageDimensionsAndQuantification (oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification) |
void | SetPOIResolution (FLTNB ap_value[3]) |
void | SetIgnorePOIFlag (bool a_ignorePOIFlag) |
void | SetHeaderDataFileName (const string &a_headerFileName) |
void | SetBinaryDataFileName (const string &a_dataFileName) |
void | SetCalibrationFactor (FLTNB a_value) |
void | SetNbEvents (int64_t a_value) |
void | SetStartTime (FLTNB a_value) |
void | SetDuration (FLTNB a_value) |
string | GetScannerName () |
virtual int | Shuffle (int64_t) |
!!!\ This function has been modified to be used specifically with a More... | |
vDataFile () | |
vDataFile constructor. More... | |
virtual | ~vDataFile () |
vDataFile destructor. More... | |
int | ReadInfoInHeader (bool a_affectQuantificationFlag=true) |
int | SetParametersFrom (vDataFile *ap_DataFile) |
int | CheckParameters () |
int | InitializeMappedFile () |
int | InitializeAdditionalData (const string &a_pathToAdditionalData) |
Memory allocation and initialization for the additional data matrices. More... | |
FLTNB * | GetNewAdditionalDataMatrix (INTNB a_nbDataPerEvent) |
Allocate the memory for this additional data matrix and return the pointer to the matrix. More... | |
int | OpenFileForWriting (string a_suffix="") |
int | CloseFile () |
vEvent * | GetEvent (int64_t a_eventIndex, int a_th=0) |
void | GetEventIndexStartAndStop (int64_t *ap_indexStart, int64_t *ap_indexStop, int a_subsetNum=0, int a_NbSubsets=1) |
int | CheckConsistencyWithAnotherBedDataFile (vDataFile *ap_DataFile) |
void | Describe () |
int | PROJ_WriteData () |
int | PROJ_DeleteTmpDataFile () |
vEvent * | PROJ_GenerateEvent (int idx_elt1, int idx_elt2, int a_th) |
int | GetBedIndex () |
int | GetDataMode () |
string | GetDataModeToString () |
int | GetDataType () |
string | GetDataTypeToString () |
int | GetDataSpec () |
string | GetDataSpecToString () |
int64_t | GetSize () |
int64_t | GetEventSize () |
string | GetHeaderDataFileName () |
string | GetDataFileName () |
FLTNB | GetStartTime () |
FLTNB | GetDuration () |
FLTNB | GetCalibrationFactor () |
FLTNB * | GetPOIResolution () |
bool * | GetPOIDirectionFlag () |
bool | GetPOIInfoFlag () |
bool | GetIgnorePOIFlag () |
virtual int | GetMaxRingDiff () |
void | SetDataMode (int a_dataMode) |
void | SetDataType (int a_dataType) |
void | SetBedIndex (int a_bedIndex) |
bool | GetBedPositionFlag () |
FLTNB | GetRelativeBedPosition () |
void | SetVerbose (int a_verboseLevel) |
int | GetVerbose () |
void | SetImageDimensionsAndQuantification (oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification) |
void | SetPOIResolution (FLTNB ap_value[3]) |
void | SetIgnorePOIFlag (bool a_ignorePOIFlag) |
void | SetHeaderDataFileName (const string &a_headerFileName) |
void | SetBinaryDataFileName (const string &a_dataFileName) |
void | SetCalibrationFactor (FLTNB a_value) |
int64_t | GetNbEvents () |
Get the total number of events in the datafile. More... | |
void | SetNbEvents (int64_t a_value) |
void | SetStartTime (FLTNB a_value) |
void | SetDuration (FLTNB a_value) |
string | GetScannerName () |
int | GetNbAdditionalData () |
Get the number of additional data. More... | |
virtual int | Shuffle (int64_t) |
Private Member Functions | |
int | SetSpecificParametersFrom (vDataFile *ap_DataFile) |
int | CheckSpecificParameters () |
Check parameters specific to CT data. More... | |
int | CheckFileSizeConsistency () |
This function is implemented in child classes Check if file size is consistent. More... | |
int | WriteHistoEvent (iEventHistoCT *ap_Event, int a_th) |
int | WriteListEvent (iEventListCT *ap_Event, int a_th) |
int | CheckSpecificConsistencyWithAnotherDataFile (vDataFile *ap_DataFile) |
int | SetSpecificParametersFrom (vDataFile *ap_DataFile) |
int | CheckSpecificParameters () |
This function is implemented in child classes Check specific parameters of child classes. More... | |
int | CheckFileSizeConsistency () |
int | WriteHistoEvent (iEventHistoCT *ap_Event, int a_th) |
int | WriteListEvent (iEventListCT *ap_Event, int a_th) |
int | CheckSpecificConsistencyWithAnotherDataFile (vDataFile *ap_DataFile) |
Private Attributes | |
bool | m_eventKindFlag |
bool | m_blankCorrectionFlag |
bool | m_ignoreBlankCorrectionFlag |
bool | m_scatCorrectionFlag |
bool | m_ignoreScatCorrectionFlag |
uint16_t | m_nbOfProjections |
FLTNB * | mp_angles |
int | m_detectorRotDirection |
Additional Inherited Members | |
![]() | |
FLTNB ** | m2p_additionalData |
![]() | |
oImageDimensionsAndQuantification * | mp_ID |
int | m_verbose |
string | m_headerFileName |
string | m_dataFileName |
int64_t | m_nbEvents |
int | m_dataMode |
int | m_dataType |
int | m_dataSpec |
FLTNB | m_startTimeInSec |
FLTNB | m_durationInSec |
FLTNB | m_calibrationFactor |
int | m_bedIndex |
FLTNB | m_relativeBedPosition |
bool | m_bedPositionFlag |
string | m_scannerName |
bool | m_POIInfoFlag |
bool | m_ignorePOIFlag |
bool | mp_POIDirectionFlag [3] |
FLTNB | mp_POIResolution [3] |
int64_t | m_sizeEvent |
fstream ** | m2p_dataFile |
vEvent ** | m2p_BufferEvent |
int64_t | m_mpi1stEvent |
int64_t | m_mpiLastEvent |
int64_t | m_mpiNbEvents |
oMemoryMapped * | mp_MappedFile |
char * | mp_mappedMemory |
int | m_nbAdditionalData |
INTNB * | mp_additionalDataSize |
bool | m_loadedAdditional |
int | m_nbCustomINTData |
int | m_nbCustomFLTData |
Inherit from vDataFile. Class that manages the reading of a CT input file (header + data).
It contains several arrays corresponding to the different kind of informations the data file could contain.
As many booleans as arrays say if the data are here or not. The data file can be either completely loaded, or read event by event during reconstruction.
MPI is coming here to cut the data file into peaces (also either can be loaded or read on-the-fly).
Definition at line 25 of file code/include/datafile/iDataFileCT.hh.
iDataFileCT::iDataFileCT | ( | ) |
iDataFileCT constructor. Initialize the member variables to their default values.
Definition at line 16 of file code/src/datafile/iDataFileCT.cc.
iDataFileCT::~iDataFileCT | ( | ) |
iDataFileCT destructor.
Definition at line 36 of file code/src/datafile/iDataFileCT.cc.
iDataFileCT::iDataFileCT | ( | ) |
iDataFileCT constructor. Initialize the member variables to their default values.
iDataFileCT::~iDataFileCT | ( | ) |
iDataFileCT destructor.
|
privatevirtual |
This function is implemented in child classes
Check if file size is consistent.
Implements vDataFile.
Definition at line 380 of file code/src/datafile/iDataFileCT.cc.
|
privatevirtual |
Implements vDataFile.
|
privatevirtual |
Implements vDataFile.
Definition at line 426 of file code/src/datafile/iDataFileCT.cc.
|
privatevirtual |
Implements vDataFile.
|
privatevirtual |
Check parameters specific to CT data.
Implements vDataFile.
Definition at line 350 of file code/src/datafile/iDataFileCT.cc.
|
privatevirtual |
This function is implemented in child classes
Check specific parameters of child classes.
Implements vDataFile.
|
virtual |
Computation of the size of each event according to the mandatory/optional correction fields.
Implements vDataFile.
Definition at line 118 of file code/src/datafile/iDataFileCT.cc.
|
virtual |
This function is implemented in child classes
Computation of the size of each event according to the mandatory/optional correction fields.
Implements vDataFile.
|
virtual |
A pure virtual function used to describe the specific parts of the datafile.
Implements vDataFile.
|
virtual |
Implementation of the pure virtual eponym function that simply prints info about the datafile.
Implements vDataFile.
Definition at line 329 of file code/src/datafile/iDataFileCT.cc.
|
inline |
Definition at line 130 of file include/datafile/iDataFileCT.hh.
|
inline |
Definition at line 130 of file code/include/datafile/iDataFileCT.hh.
|
inline |
Simply return m_blankCorrectionFlag.
Definition at line 179 of file code/include/datafile/iDataFileCT.hh.
|
inline |
Definition at line 179 of file include/datafile/iDataFileCT.hh.
|
inline |
Definition at line 151 of file include/datafile/iDataFileCT.hh.
|
inline |
Simply return m_detectorRotDirection.
Definition at line 151 of file code/include/datafile/iDataFileCT.hh.
|
inline |
Simply return m_eventKindFlag.
Definition at line 165 of file code/include/datafile/iDataFileCT.hh.
|
inline |
Definition at line 165 of file include/datafile/iDataFileCT.hh.
|
virtual |
Implements vDataFile.
Definition at line 248 of file code/src/datafile/iDataFileCT.cc.
|
inline |
Definition at line 124 of file include/datafile/iDataFileCT.hh.
|
inline |
Definition at line 124 of file code/include/datafile/iDataFileCT.hh.
|
inline |
Simply return m_scatCorrectionFlag.
Definition at line 172 of file code/include/datafile/iDataFileCT.hh.
|
inline |
Definition at line 172 of file include/datafile/iDataFileCT.hh.
int iDataFileCT::InitAngles | ( | FLTNB * | ap_angles | ) |
int iDataFileCT::InitAngles | ( | FLTNB * | ap_angles | ) |
Definition at line 464 of file code/src/datafile/iDataFileCT.cc.
|
virtual |
Store different kind of information inside arrays (data relative to specific correction as well as basic raw data for the case data is loaded in RAM)
Use the flag provided by the user to determine how the data has to be sorted (preloaded or read on the fly)
Implements vDataFile.
Definition at line 169 of file code/src/datafile/iDataFileCT.cc.
|
virtual |
This function is implemented in child classes
Store different kind of information inside arrays (data relative to specific correction as well as basic raw data for the case data is loaded in RAM)
Use the flag provided by the user to determine how the data has to be sorted (preloaded or read on the fly)
Implements vDataFile.
|
virtual |
This function is implemented in child classes
It is used to set several variables of the datafile when using the projection script.
Get modality specific parameters from the scanner object, through the scannerManager.
Implements vDataFile.
|
virtual |
Get SPECT specific parameters for projections from the scanner object, through the scannerManager.
Implements vDataFile.
Definition at line 701 of file code/src/datafile/iDataFileCT.cc.
|
virtual |
Initialize the fstream objets for output writing as well as some other variables specific to the Projection script (Event-based correction flags, Estimated size of data file)
Implements vDataFile.
Definition at line 486 of file code/src/datafile/iDataFileCT.cc.
|
virtual |
This function is implemented in child classes
Initialize the fstream objets for output writing as well as some other variables specific to the Projection script.
Implements vDataFile.
|
virtual |
Implements vDataFile.
Definition at line 46 of file code/src/datafile/iDataFileCT.cc.
|
virtual |
Implements vDataFile.
|
inline |
Definition at line 158 of file code/include/datafile/iDataFileCT.hh.
|
inline |
Definition at line 158 of file include/datafile/iDataFileCT.hh.
|
inline |
Definition at line 137 of file include/datafile/iDataFileCT.hh.
|
inline |
set to true the flag indicating the presence of the kind of a list-mode event in the datafile
This function is dedicated to datafile conversion scripts
Definition at line 137 of file code/include/datafile/iDataFileCT.hh.
|
inline |
Definition at line 144 of file include/datafile/iDataFileCT.hh.
|
inline |
Definition at line 144 of file code/include/datafile/iDataFileCT.hh.
|
privatevirtual |
Implements vDataFile.
|
privatevirtual |
Implements vDataFile.
Definition at line 100 of file code/src/datafile/iDataFileCT.cc.
|
virtual |
Implements vDataFile.
Definition at line 538 of file code/src/datafile/iDataFileCT.cc.
|
virtual |
Generate a header file according to the data output information.
Implements vDataFile.
Definition at line 648 of file code/src/datafile/iDataFileCT.cc.
|
virtual |
This function is implemented in child classes.
Generate a header file according to the data output information.
Implements vDataFile.
|
private |
|
private |
Definition at line 569 of file code/src/datafile/iDataFileCT.cc.
|
private |
|
private |
Definition at line 607 of file code/src/datafile/iDataFileCT.cc.
|
private |
Flag that says if normalization correction terms are included in the data. Default = false
Definition at line 233 of file code/include/datafile/iDataFileCT.hh.
|
private |
Head rotation direction (0=clockwise, 1=counterclockwise)
Definition at line 239 of file code/include/datafile/iDataFileCT.hh.
|
private |
Flag for informations about the event nature (true, scatter) in the data. Default value = false
Definition at line 232 of file code/include/datafile/iDataFileCT.hh.
|
private |
Flag to say if we ignore the normalization correction even if present. Default = false
Definition at line 234 of file code/include/datafile/iDataFileCT.hh.
|
private |
Flag to say if we ignore the scatter correction even if present. Default = false
Definition at line 236 of file code/include/datafile/iDataFileCT.hh.
|
private |
Total number of projections during the acquisition(for all the heads). No Default
Definition at line 237 of file code/include/datafile/iDataFileCT.hh.
|
private |
Flag that says if scatter correction terms are included in the data. Default = false
Definition at line 235 of file code/include/datafile/iDataFileCT.hh.
|
private |
Angle [for each projection] in degrees. No Default
Definition at line 238 of file code/include/datafile/iDataFileCT.hh.