10 #define OIMAGESPACE_HH 1
482 void ReduceBackwardImage(
int a_imageIndex,
int a_timeIndex,
int a_respIndex,
int a_cardIndex);
554 {
mp_ID = ap_ImageDimensionsAndQuantification;}
FLTNB **** m4p_forwardImage
void LMS_InstantiateImage()
Allocate memory for the main image matrices (for list-mode sensitivity generation) ...
This header file is mainly used to declare some macro definitions and all includes needed from the st...
void DeallocateBwdImageForDeformation()
Free memory for the buffer backward image required for image-based deformation.
FLTNB ** m2p_projectionImage
Declaration of class oImageDimensionsAndQuantification.
void DeallocateBackwardImageFromDynamicBasis()
Free memory for the backward image matrices.
int InitMaskImage(const string &a_pathToImage)
Memory allocation and initialization for the mask image.
int PROJ_InitImage(const string &a_pathToInitialImage)
Load the initial image for the analytical projection.
void DeallocateImage()
Free memory for the main image matrices.
void InitSensImageForDeformation()
Initialize the buffer sensitivity image dedicated to image-based deformation, if required (histogram ...
int LMS_SaveSensitivityImage(const string &a_pathToSensitivityImage, oDeformationManager *ap_DeformationManager)
Call the interfile function to write the sensitivity image on disk.
void LMS_PrepareForwardImage()
Copy current image in forward-image buffer (for list-mode sensitivity generation) ...
void Reduce()
Merge parallel results into the matrix of the backward image matrix of the first thread. Also for MPI.
bool IsLoadedSensitivity()
int ApplyOutputFOVMasking()
Mask the outside of the transaxial FOV based on the m_fovOutPercent.
~oImageSpace()
oImageSpace destructor.
void DeallocateSensitivityImage()
Free memory for the sensitivity image matrices.
void InstantiateImage()
Allocate memory for the main image matrices.
int PROJ_SaveProjectionImage()
Save an image of the projected data (for analytic projection)
void InstantiateBackwardImageFromDynamicBasis(int a_nbBackwardImages)
Allocate memory for the backward image matrices and set the number of backward images for the whole c...
FLTNB **** m4p_anatomicalImage
void LMS_InstantiateForwardImage()
Allocate memory for the forward image matrices (for list-mode sensitivity generation) ...
void InstantiateSensitivityImage(const string &a_pathToSensitivityImage)
Allocate the sensitivity image matrices.
oImageDimensionsAndQuantification * mp_ID
void LMS_CopyAtnToImage()
Copy the attenuation image contained in the 'm2p_attenuation' matrix inside the m2p_image matrix...
int InitAttenuationImage(const string &a_pathToAtnImage)
Memory allocation and initialisation for the attenuation image using either :
int InitImage(const string &a_pathToInitialImage, FLTNB a_value)
Initialize the main image, either using:
void DeallocateVisitedVoxelsImage()
Free memory for the image matrix containing binary information regarding which 3D voxels have been vi...
void SaveDebugImage(const string &a_name)
Just a debug function dedicated to write any kind of image on disk in raw format, for debugging purpo...
void DeallocateAnatomicalImage()
Free memory for the anatomical image.
void DeallocateMaskImage()
Free memory for the mask image.
int PROJ_LoadInitialImage(const string &a_pathToImage)
Load the initial image for the analytical projection.
FLTNB * mp_visitedVoxelsImage
void PROJ_DeallocateProjectionImage(int a_nbProjs)
Free memory for the projection image for analytical projection.
void PrepareForwardImage()
Copy current image matrix in the forward-image buffer matrix.
FLTNB ****** m6p_backwardImage
void InitBwdImageForDeformation()
Initialize the buffer backward image dedicated to image-based deformation.
void InstantiateBwdImageForDeformation()
Memory allocation for the buffer backward image required for image-based deformation.
void InstantiateVisitedVoxelsImage()
Memory allocation and initialization for the image matrix containing binary information regarding whi...
void CleanNeverVisitedVoxels()
Based on the visitedVoxelsImage, clean the never visited voxels in the image. This function must be c...
int LoadAttenuationImage(const string &a_pathToImage)
Load the attenuation image provided by the user in the m2p_attenuation matrix.
void LMS_DeallocateSensitivityImage()
Free memory for the sensitivity image matrices (for list-mode sensitivity generation) ...
int InitAnatomicalImage(const string &a_pathToAnatomicalImage)
Memory allocation and initialization for the anatomical image matrices.
int SaveOutputImage(int a_iteration, int a_subset=-1)
Call the interfile function to write output image on disk.
void LMS_DeallocateImage()
Free memory for the main image matrices (for list-mode sensitivity generation)
void ComputeOutputImage()
int LoadInitialImage(const string &a_pathToImage)
Load the initial image provided by the user in the corresponding matrix.
FLTNB **** m4p_outputImage
int GetNbBackwardImages()
void InstantiateForwardImage()
Allocate memory for the forward image matrices.
void SetImageDimensionsAndQuantification(oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification)
set the pointer to the oImageDimensionsAndQuantification object
void PROJ_InstantiateProjectionImage(int a_nbProjs, int a_nbPixels)
Instanciate and initialize projection image for analytical projection.
void ReduceBackwardImage(int a_imageIndex, int a_timeIndex, int a_respIndex, int a_cardIndex)
Merge parallel results into the backward image matrix of the first thread for the specific image / ti...
This class is designed to generically described any iterative optimizer.
int ApplyOutputFlip()
Just flip the output image.
void InstantiateBackwardImageFromDynamicBins()
Allocate memory for the backward image matrices and initialize them.
void SetVerbose(int a_verboseLevel)
set verbosity
void LMS_DeallocateAttenuationImage()
Free memory for the Attenuation image matrices (for analytical projection or list-mode sensitivity ge...
void DeallocateOutputImage()
Free memory for the Image matrices dedicated to output writing on disk.
FLTNB ***** m5p_defTmpBackwardImage
bool IsLoadedAnatomical()
This class holds all the matrices in the image domain that can be used in the algorithm: image...
void DeallocateSensImageForDeformation()
FLTNB **** m4p_defTmpSensitivityImage
This class is designed to manage all dimensions and quantification related stuff. ...
oImageSpace()
oImageSpace constructor. Initialize the member variables to their default values. ...
This group of functions manages Interfile image file format.
FLTNB **** m4p_attenuation
void LMS_CopyAtnToForwardImage()
Copy the attenuation image contained in the 'm2p_attenuation' matrix inside the m4p_forwardImage matr...
void InstantiateSensImageForDeformation()
Memory allocation for the buffer sensitivity image required for image-based deformation (only for PET...
bool Checked()
Simply check that the image dimensions and verbosity has been set.
int SaveSensitivityImage(const string &a_pathToSensitivityImage)
Call the interfile function to write the sensitivity image on disk.
void DeallocateBackwardImageFromDynamicBins()
Free memory of the backward image matrices.
void InitBackwardImage()
Initialize each voxel of the backward images to 0, also for sensitivity if not loaded (estimated on t...
int InitSensitivityImage(const string &a_pathToSensitivityImage)
Initialization for the sensitivity image matrices.
void LMS_InstantiateSensitivityImage()
Allocate memory for the sensitivity image matrices (for list-mode sensitivity generation) ...
void DeallocateForwardImage()
Free memory for the forward image matrices.
FLTNB ***** m5p_sensitivity
void LMS_CopyBackwardToSensitivity()
void InstantiateOutputImage()
Instanciate Image matrices dedicated to output writing on disk.
void LMS_DeallocateForwardImage()
Free memory for the forward image matrices (for list-mode sensitivity generation) ...