83 if(
m_verbose>=2)
Cout(
"vDynamicModel::CheckParameters ..."<< endl);
88 Cerr(
"***** vDynamicModel::CheckParameters() -> No image dimensions provided !" << endl);
95 Cerr(
"***** vDynamicModel::CheckParameters() -> Wrong verbosity level provided !" << endl);
102 Cerr(
"***** vDynamicModel::CheckParameters() -> Basis functions number has not been initialized !" << endl);
109 Cerr(
"***** vDynamicModel::CheckParameters() -> Basis functions number has not been initialized !" << endl);
116 Cerr(
"***** vDynamicModel::CheckParameters() -> An error occurred while checking parameters of the child dynamic class !" << endl);
138 if(
m_verbose >=2)
Cout(
"vDynamicModel::ComputeOutputParImage ..." <<endl);
179 Cout(
"vDynamicModel::ApplyOutputFOVMaskingOnParametricImages() -> Mask output image" << endl);
195 squared_radius_x *= squared_radius_x;
198 squared_radius_y *= squared_radius_y;
206 #pragma omp parallel for private(x) schedule(guided)
211 squared_distance_x *= squared_distance_x;
217 squared_distance_y *= squared_distance_y;
219 if ( squared_distance_x/squared_radius_x + squared_distance_y/squared_radius_y <= 1. )
continue;
243 for (
int z=0; z<removed_slices; z++)
250 INTNB index = base_z_first + i;
258 INTNB index = base_z_last + i;
286 if(
m_verbose >=2)
Cout(
"vDynamicModel::SaveParametricImages ..." <<endl);
298 if (a_iteration >= 0)
300 stringstream ss; ss << a_iteration + 1;
301 path_to_image.append(
"par_it").append(ss.str());
307 stringstream ss; ss << a_subset + 1;
308 path_to_image.append(
"_ss").append(ss.str());
318 Cerr(
"***** iPatlakModel::SaveParametricImages()-> Error writing Interfile of output image !" << endl);
virtual int CheckSpecificParameters()=0
This function is used to check the parameters of the child functions before initialization if require...
virtual int CheckParameters()
This function is used to check parameters after the latter have been all set using Set functions...
FLTNB GetVoxSizeX()
Get the voxel's size along the X axis, in mm.
FLTNB GetFOVOutPercent()
Get the percentage of transaxial unmasked FOV.
oImageDimensionsAndQuantification * mp_ID
virtual int ApplyOutputFOVMaskingOnParametricImages()
Mask the outside of the transaxial FOV based on the m_fovOutPercent.
static sOutputManager * GetInstance()
Instanciate the singleton object and Initialize member variables if not already done, return a pointer to this object otherwise.
FLTNB GetVoxSizeY()
Get the voxel's size along the Y axis, in mm.
const string & GetPathName()
Singleton class that manages output writing on disk (images, sinograms, etc). It also manages loggi...
FLTNB ** m2p_outputParImages
INTNB GetNbVoxXY()
Get the number of voxels in a slice.
virtual ~vDynamicModel()
Destructor of vDynamicModel.
vDynamicModel()
Constructor of vDynamicModel. Simply set all data members to default values.
const string & GetBaseName()
int IntfWriteImgDynCoeffFile(const string &a_pathToImg, FLTNB **a2p_ImgMatrix, oImageDimensionsAndQuantification *ap_ID, int a_nbParImgs, int vb)
Function dedicated to Interfile image writing for dynamic coefficients images.
FLTNB ** m2p_parametricImages
INTNB GetNbVoxXYZ()
Get the total number of voxels.
INTNB GetNbVoxX()
Get the number of voxels along the X axis.
INTNB GetNbVoxZ()
Get the number of voxels along the Z axis.
Declaration of class vDynamicModel.
virtual void ComputeOutputParImage()
Compute output image using the m2p_parametricImages matrix Store the result in the m2p_outputParImage...
virtual int SaveParametricImages(int a_iteration, int a_subset=-1)
This function is pure virtual so must be implemented by children Call SaveParametricImages() functi...
INTNB GetNbSliceOutMask()
Get the number of extrem slices that will be masked at each side.
INTNB GetNbVoxY()
Get the number of voxels along the Y axis.