![]() |
CASToR
3.2
Tomographic Reconstruction (PET/SPECT/CT)
|
This class is designed to manage the projection part of the reconstruction. More...
#include <oProjectorManager.hh>
Public Member Functions | |
oProjectorManager () | |
The constructor of oProjectorManager. More... | |
~oProjectorManager () | |
The destructor of oProjectorManager. More... | |
int | CheckParameters () |
A function used to check the parameters settings. More... | |
int | CheckSPECTAttenuationCompatibility (const string &a_pathToAttenuationImage) |
int | Initialize () |
A function used to initialize the manager and the projectors or system matrices it manages. More... | |
void | ApplyBedOffset (int a_bed) |
void | SetSensitivityModeOn () |
Say that the projector will be used to compute the global sensitivity. More... | |
void | SetSensitivityModeOff () |
Say that the projector will no longer be used to compute the global sensitivity. More... | |
oProjectionLine * | ComputeProjectionLine (vEvent *ap_Event, int a_th) |
void | SetVerbose (int a_verboseLevel) |
void | SetScanner (vScanner *ap_Scanner) |
void | SetImageDimensionsAndQuantification (oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification) |
void | SetDataFile (vDataFile *ap_DataFile) |
void | SetComputationStrategy (int a_computationStrategy) |
void | SetOptionsForward (const string &a_optionsForward) |
void | SetOptionsBackward (const string &a_optionsBackward) |
void | SetOptionsCommon (const string &a_optionsCommon) |
int | GetNbTOFBins () |
Get the number of TOF bins associated to the projector. More... | |
int | GetComputationStrategy () |
Get the computation strategy for the storage in the projection line. More... | |
bool | IsForwardOperatorCompatibleWithSPECTAttenuationCorrection () |
bool | IsBackwardOperatorCompatibleWithSPECTAttenuationCorrection () |
int | ProcessAndSetMask (FLTNB *ap_maskImage) |
oProjectorManager () | |
~oProjectorManager () | |
int | CheckParameters () |
int | CheckSPECTAttenuationCompatibility (const string &a_pathToAttenuationImage) |
int | Initialize () |
void | ApplyBedOffset (int a_bed) |
void | SetSensitivityModeOn () |
void | SetSensitivityModeOff () |
oProjectionLine * | ComputeProjectionLine (vEvent *ap_Event, int a_th) |
void | SetVerbose (int a_verboseLevel) |
void | SetScanner (vScanner *ap_Scanner) |
void | SetImageDimensionsAndQuantification (oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification) |
void | SetDataFile (vDataFile *ap_DataFile) |
void | SetComputationStrategy (int a_computationStrategy) |
void | SetOptionsForward (const string &a_optionsForward) |
void | SetOptionsBackward (const string &a_optionsBackward) |
void | SetOptionsCommon (const string &a_optionsCommon) |
int | GetNbTOFBins () |
int | GetComputationStrategy () |
bool | IsForwardOperatorCompatibleWithSPECTAttenuationCorrection () |
bool | IsBackwardOperatorCompatibleWithSPECTAttenuationCorrection () |
int | ProcessAndSetMask (FLTNB *ap_maskImage) |
Private Member Functions | |
int | ParseOptionsAndInitializeProjectors () |
Parse forward and backward projection options contained in the previously provided strings. This function is called inside the Initialize() function. More... | |
int | ParseOptionsAndInitializeProjectors () |
Private Attributes | |
vScanner * | mp_Scanner |
oImageDimensionsAndQuantification * | mp_ImageDimensionsAndQuantification |
vDataFile * | mp_DataFile |
int | m_TOFMethod |
FLTNB | m_TOFBinSizeInMm |
FLTNB * | mp_TOFResolutionInMm |
FLTNB * | mp_TOFProbabilities |
FLTNB * | mp_TOFOffsetInMm |
FLTNB | m_TOFMeasurementRangeInMm |
bool | m_TOFEventResolutionFlag |
int | m_nbTOFBins |
bool | m_applyPOI |
int | m_computationStrategy |
string | m_optionsForward |
string | m_optionsBackward |
string | m_optionsCommon |
string | m_forwardProjectorName |
string | m_backwardProjectorName |
oSystemMatrix * | mp_SystemMatrixForward |
oSystemMatrix * | mp_SystemMatrixBackward |
vProjector * | mp_ProjectorForward |
vProjector * | mp_ProjectorBackward |
bool | m_useSystemMatrixForward |
bool | m_useSystemMatrixBackward |
bool | m_useProjectorForward |
bool | m_useProjectorBackward |
bool | m_useMatchedProjectors |
oProjectionLine ** | m2p_ProjectionLines |
int | m_verbose |
bool | m_checked |
bool | m_initialized |
bool | m_applyMask |
bool * | mp_mask |
FLTNB | m_TOFResolutionInMm |
bool | m_usePerEventTOFResolution |
This class is designed to manage the projection part of the reconstruction.
As each manager class, it is created in the main program, all parameters are then set, checked, and the manager is initialized. The manager is then used by the algorithm itself, where the function ComputeProjectionLine() is called to compute the system matrix elements for the provided event, which are stored in a oProjectionLine. For multi-threading implementation, each thread have its own oProjectionLine. The manager will make use of a vProjector or a oSystemMatrix to compute the system matrix elements for forward and backward projections.
Definition at line 30 of file code/include/projector/oProjectorManager.hh.
oProjectorManager::oProjectorManager | ( | ) |
The constructor of oProjectorManager.
This is the default and unique constructor. It does not take any parameter and its role is only to affect default values to each member of the class.
Definition at line 18 of file code/src/projector/oProjectorManager.cc.
oProjectorManager::~oProjectorManager | ( | ) |
The destructor of oProjectorManager.
This is the default and unique destructor. It does not take any parameter and its role is only to free or delete all structures that were built by this class.
Definition at line 71 of file code/src/projector/oProjectorManager.cc.
oProjectorManager::oProjectorManager | ( | ) |
oProjectorManager::~oProjectorManager | ( | ) |
void oProjectorManager::ApplyBedOffset | ( | int | a_bed | ) |
Definition at line 759 of file code/src/projector/oProjectorManager.cc.
void oProjectorManager::ApplyBedOffset | ( | int | a_bed | ) |
int oProjectorManager::CheckParameters | ( | ) |
A function used to check the parameters settings.
This function does not take any parameter and is used to check that all mandatory members were correctly parameterized.
Definition at line 130 of file code/src/projector/oProjectorManager.cc.
int oProjectorManager::CheckParameters | ( | ) |
int oProjectorManager::CheckSPECTAttenuationCompatibility | ( | const string & | a_pathToAttenuationImage | ) |
Definition at line 186 of file code/src/projector/oProjectorManager.cc.
int oProjectorManager::CheckSPECTAttenuationCompatibility | ( | const string & | a_pathToAttenuationImage | ) |
oProjectionLine * oProjectorManager::ComputeProjectionLine | ( | vEvent * | ap_Event, |
int | a_th | ||
) |
Definition at line 772 of file code/src/projector/oProjectorManager.cc.
oProjectionLine* oProjectorManager::ComputeProjectionLine | ( | vEvent * | ap_Event, |
int | a_th | ||
) |
|
inline |
Get the computation strategy for the storage in the projection line.
Definition at line 183 of file code/include/projector/oProjectorManager.hh.
|
inline |
Definition at line 183 of file include/projector/oProjectorManager.hh.
|
inline |
Get the number of TOF bins associated to the projector.
Definition at line 176 of file code/include/projector/oProjectorManager.hh.
|
inline |
Definition at line 176 of file include/projector/oProjectorManager.hh.
int oProjectorManager::Initialize | ( | ) |
int oProjectorManager::Initialize | ( | ) |
A function used to initialize the manager and the projectors or system matrices it manages.
This function does not take any parameter and is used to initialize everything that should be initialized. In a few words, it parses the options, then creates and initializes the projectors or system matrices based on the provided options.
Definition at line 221 of file code/src/projector/oProjectorManager.cc.
bool oProjectorManager::IsBackwardOperatorCompatibleWithSPECTAttenuationCorrection | ( | ) |
Definition at line 117 of file code/src/projector/oProjectorManager.cc.
bool oProjectorManager::IsBackwardOperatorCompatibleWithSPECTAttenuationCorrection | ( | ) |
bool oProjectorManager::IsForwardOperatorCompatibleWithSPECTAttenuationCorrection | ( | ) |
Definition at line 104 of file code/src/projector/oProjectorManager.cc.
bool oProjectorManager::IsForwardOperatorCompatibleWithSPECTAttenuationCorrection | ( | ) |
|
private |
|
private |
Parse forward and backward projection options contained in the previously provided strings. This function is called inside the Initialize() function.
Parse forward and backward projection options contained in the m_optionsForward and m_optionsBackward strings. Specific pure virtual functions of the vProjector are used to read parameters and initialize them. If a oSystemMatrix is used, specific functions are also called to read and initialize it. This function is called inside the Initialize() function. The syntax for the declaration of the projector and associated options is described inside the main program.
Definition at line 434 of file code/src/projector/oProjectorManager.cc.
int oProjectorManager::ProcessAndSetMask | ( | FLTNB * | ap_maskImage | ) |
Definition at line 871 of file code/src/projector/oProjectorManager.cc.
int oProjectorManager::ProcessAndSetMask | ( | FLTNB * | ap_maskImage | ) |
|
inline |
Definition at line 148 of file include/projector/oProjectorManager.hh.
|
inline |
Definition at line 148 of file code/include/projector/oProjectorManager.hh.
|
inline |
Definition at line 141 of file include/projector/oProjectorManager.hh.
|
inline |
Definition at line 141 of file code/include/projector/oProjectorManager.hh.
|
inline |
Definition at line 134 of file code/include/projector/oProjectorManager.hh.
|
inline |
Definition at line 134 of file include/projector/oProjectorManager.hh.
|
inline |
Definition at line 162 of file include/projector/oProjectorManager.hh.
|
inline |
Definition at line 162 of file code/include/projector/oProjectorManager.hh.
|
inline |
Definition at line 169 of file include/projector/oProjectorManager.hh.
|
inline |
Definition at line 169 of file code/include/projector/oProjectorManager.hh.
|
inline |
Definition at line 155 of file include/projector/oProjectorManager.hh.
|
inline |
Definition at line 155 of file code/include/projector/oProjectorManager.hh.
|
inline |
Definition at line 127 of file code/include/projector/oProjectorManager.hh.
|
inline |
Definition at line 127 of file include/projector/oProjectorManager.hh.
void oProjectorManager::SetSensitivityModeOff | ( | ) |
void oProjectorManager::SetSensitivityModeOff | ( | ) |
Say that the projector will no longer be used to compute the global sensitivity.
It restores the TOF application, as well as POI, and set the sensitivity mode off for the vProjector
Definition at line 736 of file code/src/projector/oProjectorManager.cc.
void oProjectorManager::SetSensitivityModeOn | ( | ) |
void oProjectorManager::SetSensitivityModeOn | ( | ) |
Say that the projector will be used to compute the global sensitivity.
It change the TOF application, as well as POI, and set the sensitivity mode on for the vProjector
Definition at line 718 of file code/src/projector/oProjectorManager.cc.
|
inline |
Definition at line 120 of file include/projector/oProjectorManager.hh.
|
inline |
Definition at line 120 of file code/include/projector/oProjectorManager.hh.
|
private |
The table of pointers to the oProjectionLines, one per thread
Definition at line 259 of file code/include/projector/oProjectorManager.hh.
|
private |
Apply the voxel mask to projectors
Definition at line 267 of file code/include/projector/oProjectorManager.hh.
|
private |
Boolean that says if we apply POI or not
Definition at line 238 of file code/include/projector/oProjectorManager.hh.
|
private |
The name of the backward projector provided in the options
Definition at line 248 of file code/include/projector/oProjectorManager.hh.
|
private |
Boolean that says if the parameters were checked or not
Definition at line 263 of file code/include/projector/oProjectorManager.hh.
|
private |
The integer describing the computation strategy for system matrix elements storage
Definition at line 240 of file code/include/projector/oProjectorManager.hh.
|
private |
The name of the forward projector provided in the options
Definition at line 247 of file code/include/projector/oProjectorManager.hh.
|
private |
Boolean that says if the manager was initialized or not
Definition at line 265 of file code/include/projector/oProjectorManager.hh.
|
private |
The number of TOF bins in use
Definition at line 237 of file code/include/projector/oProjectorManager.hh.
|
private |
The string containing options for the backward projections
Definition at line 243 of file code/include/projector/oProjectorManager.hh.
|
private |
The string containing common options for the projectors
Definition at line 245 of file code/include/projector/oProjectorManager.hh.
|
private |
The string containing options for the forward projections
Definition at line 242 of file code/include/projector/oProjectorManager.hh.
|
private |
The size in mm of a single TOF bin (either cumulative bin for histogrammed data or quantization bin for list-mode data)
Definition at line 231 of file code/include/projector/oProjectorManager.hh.
|
private |
Flag that says if TOF information is included in each coincidence event (list-mode). Default = false
Definition at line 236 of file code/include/projector/oProjectorManager.hh.
|
private |
Total span of TOF measurements (in mm)
Definition at line 235 of file code/include/projector/oProjectorManager.hh.
|
private |
Integer tagging the type of TOF use
Definition at line 230 of file code/include/projector/oProjectorManager.hh.
|
private |
Resolution (FWHM) of the time-of-flight Gaussian distribution (in mm)
Definition at line 232 of file include/projector/oProjectorManager.hh.
|
private |
Boolean that says if matched projectors are used
Definition at line 257 of file code/include/projector/oProjectorManager.hh.
|
private |
Use per event TOF standard deviation
Definition at line 266 of file include/projector/oProjectorManager.hh.
|
private |
Boolean that says if a vProjector is used for backward projections
Definition at line 256 of file code/include/projector/oProjectorManager.hh.
|
private |
Boolean that says if a vProjector is used for forward projections
Definition at line 255 of file code/include/projector/oProjectorManager.hh.
|
private |
Boolean that says if a oSystemMatrix is used for backward projections
Definition at line 254 of file code/include/projector/oProjectorManager.hh.
|
private |
Boolean that says if a oSystemMatrix is used for forward projections
Definition at line 253 of file code/include/projector/oProjectorManager.hh.
|
private |
The verbose level
Definition at line 261 of file code/include/projector/oProjectorManager.hh.
|
private |
Pointer to a vDataFile object in use
Definition at line 228 of file code/include/projector/oProjectorManager.hh.
|
private |
Pointer to the oImageDimensionsAndQuantification object in use
Definition at line 226 of file code/include/projector/oProjectorManager.hh.
|
private |
Mask for voxels: only true voxels will be taken into account for projector coefficients computation (currently 3D - XYZ)
Definition at line 268 of file code/include/projector/oProjectorManager.hh.
|
private |
The pointer to the vProjector used for backward projections
Definition at line 252 of file code/include/projector/oProjectorManager.hh.
|
private |
The pointer to the vProjector used for forward projections
Definition at line 251 of file code/include/projector/oProjectorManager.hh.
|
private |
Pointer to the vScanner object in use
Definition at line 224 of file code/include/projector/oProjectorManager.hh.
|
private |
The pointer to the oSystemMatrix used for backward projections
Definition at line 250 of file code/include/projector/oProjectorManager.hh.
|
private |
The pointer to the oSystemMatrix used for forward projections
Definition at line 249 of file code/include/projector/oProjectorManager.hh.
|
private |
TOF shift in Mm relatively to the center of the TOF measurement, used to position the tof kernel. Default = no shift
Definition at line 234 of file code/include/projector/oProjectorManager.hh.
|
private |
TOF probability for multi-parameter resolution(s) in ps. Default = equal probabilities for each resolution
Definition at line 233 of file code/include/projector/oProjectorManager.hh.
|
private |
Resolution (FWHM) of the time-of-flight Gaussian distribution (in mm)
Definition at line 232 of file code/include/projector/oProjectorManager.hh.