CASToR  3.2
Tomographic Reconstruction (PET/SPECT/CT)
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
iRCPGSAlgorithm Class Reference

RCP-GS : Random Clustering Prior - Gibbs Sampler. More...

#include <iRCPGSAlgorithm.hh>

Inheritance diagram for iRCPGSAlgorithm:
Inheritance graph
Collaboration diagram for iRCPGSAlgorithm:
Collaboration graph

Public Member Functions

 iRCPGSAlgorithm ()
 
 ~iRCPGSAlgorithm ()
 
int InitSpecificOptions (string a_specificOptions)
 
void ShowHelpSpecific ()
 Show help for the child algorithm. More...
 
 iRCPGSAlgorithm ()
 
 ~iRCPGSAlgorithm ()
 
int InitSpecificOptions (string a_specificOptions)
 
void ShowHelpSpecific ()
 Show help for the child algorithm. More...
 
- Public Member Functions inherited from vAlgorithm
 vAlgorithm ()
 vAlgorithm constructor. Initialize the member variables to their default values. More...
 
virtual ~vAlgorithm ()
 vAlgorithm destructor. More...
 
int Run ()
 Just call either the RunCPU or the RunGPU function as asked for. More...
 
int RunCPU ()
 Perform the iterative loop of the algorithm. Function designed to be executed on the CPU only. More...
 
void SetSaveSensitivityHistoFlag (bool a_saveSensitivityHistoFlag)
 
void SetSaveSubsetImageFlag (bool a_saveImageAfterSubsets)
 
void SetSaveDynamicBasisCoefficientImages (bool a_saveDynamicBasisCoefficients)
 
void SetOptimizerManager (oOptimizerManager *ap_OptimizerManager)
 
void SetImageDimensionsAndQuantification (oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification)
 
void SetImageSpace (oImageSpace *ap_ImageSpace)
 
void SetProjectorManager (oProjectorManager *ap_ProjectorManager)
 
void SetImageConvolverManager (oImageConvolverManager *ap_ImageConvolverManager)
 
void SetImageProcessingManager (oImageProcessingManager *ap_ImageProcessingManager)
 
void SetDynamicModelManager (oDynamicModelManager *ap_DynamicModelManager)
 
void SetDeformationManager (oDeformationManager *ap_DeformationManager)
 
void SetDataFile (vDataFile **a2p_DataFile)
 
void SetGPUflag (bool a_flagGPU)
 
void SetVerbose (int a_verboseLevel)
 
void SetNbBeds (int a_nbBeds)
 
void SetPathInitImage (string a_pathToInitialImage)
 
void SetPathToAttenuationImage (string a_pathToAttenuationImage)
 
void SetPathToSensitivityImage (string a_pathToSensitivityImage)
 
void SetPathToMultiModalImage (vector< string > a_pathToMultiModalImage)
 
int SetNbIterationsAndSubsets (const string &a_nbIterationsSubsets)
 
int SetOutputIterations (const string &a_outputIterations)
 
 vAlgorithm ()
 
virtual ~vAlgorithm ()
 
int Run ()
 
int RunCPU ()
 
void SetSaveSensitivityHistoFlag (bool a_saveSensitivityHistoFlag)
 
void SetSaveSubsetImageFlag (bool a_saveImageAfterSubsets)
 
void SetSaveDynamicBasisCoefficientImages (bool a_saveDynamicBasisCoefficients)
 
void SetOptimizerManager (oOptimizerManager *ap_OptimizerManager)
 
void SetImageDimensionsAndQuantification (oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification)
 
void SetImageSpace (oImageSpace *ap_ImageSpace)
 
void SetProjectorManager (oProjectorManager *ap_ProjectorManager)
 
void SetImageConvolverManager (oImageConvolverManager *ap_ImageConvolverManager)
 
void SetImageProcessingManager (oImageProcessingManager *ap_ImageProcessingManager)
 
void SetDynamicModelManager (oDynamicModelManager *ap_DynamicModelManager)
 
void SetDeformationManager (oDeformationManager *ap_DeformationManager)
 
void SetDataFile (vDataFile **a2p_DataFile)
 
void SetGPUflag (bool a_flagGPU)
 
void SetVerbose (int a_verboseLevel)
 
void SetNbBeds (int a_nbBeds)
 
void SetPathInitImage (string a_pathToInitialImage)
 
void SetPathToAttenuationImage (string a_pathToAttenuationImage)
 
void SetPathToSensitivityImage (string a_pathToSensitivityImage)
 
void SetPathToMultiModalImage (vector< string > a_pathToMultiModalImage)
 
int SetNbIterationsAndSubsets (const string &a_nbIterationsSubsets)
 
void SetNbSkippedIterations (const string &a_skippedIterations)
 Set the number of first iterations to be skipped. More...
 
int SetOutputIterations (const string &a_outputIterations)
 

Protected Member Functions

int StepBeforeIterationLoop ()
 This function is called at the beginning of the RunCPU function. More...
 
int StepAfterIterationLoop ()
 This function is called at the end of the RunCPU function. More...
 
int StepBeforeSubsetLoop (int a_iteration)
 
int StepAfterSubsetLoop (int a_iteration)
 
int StepPreProcessInsideSubsetLoop (int a_iteration, int a_subset)
 
int StepInnerLoopInsideSubsetLoop (int a_iteration, int a_subset, int a_bed)
 
int StepPostProcessInsideSubsetLoop (int a_iteration, int a_subset)
 
int StepImageOutput (int a_iteration, int a_subset=-1)
 
int ReadConfigurationFile (const string &a_configurationFile)
 
int StepBeforeIterationLoop ()
 This function is called at the beginning of the RunCPU function. More...
 
int StepAfterIterationLoop ()
 This function is called at the end of the RunCPU function. More...
 
int StepBeforeSubsetLoop (int a_iteration)
 
int StepAfterSubsetLoop (int a_iteration)
 
int StepPreProcessInsideSubsetLoop (int a_iteration, int a_subset)
 
int StepInnerLoopInsideSubsetLoop (int a_iteration, int a_subset, int a_bed)
 
int StepPostProcessInsideSubsetLoop (int a_iteration, int a_subset)
 
int StepImageOutput (int a_iteration, int a_subset=-1)
 
int ReadConfigurationFile (const string &a_configurationFile)
 

Private Member Functions

int SampleConditionalCompleteData (int a_iteration, int a_subset, int a_bed)
 
int SampleConditionalClustering (int a_iteration)
 
int SampleConditionalClusterIntensity ()
 Gibbs sampler : third conditional probability (cluster intensity) More...
 
int UpdateVisitedVoxels ()
 Check for voxels which do not contribute to recorded observed data. More...
 
int InitializeHelperVar ()
 Allocate and initialize temporary variables, after the main variables have been initialized Assumption : the initial image and the sensitivity image have already been initialized. More...
 
int ProcessMultiModalInfo ()
 Check input multimodal images. More...
 
int GenerateCurrentImage ()
 Generate the current image estimation from the current sample of partition/clustering and cluster intensities. More...
 
int ComputeFellowVoxelsList (vector< INTNB > &a_fellow_voxels, int a_current_voxel)
 
int ComputeSumsPerClusters (int a_iteration)
 
int SaveIntermediaryData (int a_iteration)
 
int SampleConditionalCompleteData (int a_iteration, int a_subset, int a_bed)
 
int SampleConditionalClustering (int a_iteration)
 
int SampleConditionalClusterIntensity ()
 
int UpdateVisitedVoxels ()
 
int InitializeHelperVar ()
 
int ProcessMultiModalInfo ()
 
int GenerateCurrentImage ()
 
int ComputeFellowVoxelsList (vector< INTNB > &a_fellow_voxels, int a_current_voxel)
 
int ComputeSumsPerClusters (int a_iteration)
 
int SaveIntermediaryData (int a_iteration)
 

Private Attributes

int m_ddCRP
 
int m_backprojection
 
int m_neighbourhood
 
HPFLTNB m_gammaShape
 
HPFLTNB m_gammaRate
 
HPFLTNB m_ddcrpAlpha
 
INTNB m_multiModalLag
 
HPFLTNB m_ddcrpAlphaIncrement
 
HPFLTNBmp_multiModalNoiseSigma
 
HPFLTNBmp_multiModalParam
 
INTNBmp_voxelClusterMapping
 
HPFLTNBmp_clusterValues
 
HPFLTNB ** mp_clusterN
 
HPFLTNBmp_clusterSensitivity
 
HPFLTNB ** mpp_clusterMultiModal
 
INTNBmp_clusterCount
 
INTNBmp_nextLink
 
vector< INTNB > * mpv_parentLinks
 
vector< INTNBmv_newClusters
 
INTNBmp_listVoxelIndices
 
INTNB ** mp_listEventsIndices
 
INTNB **** m4p_EventsBackprojectionTrace
 
bool * mp_listRelevantVoxelIndices
 
HPFLTNBtemp_count_multimodal
 
HPFLTNB m_ddcrpLogAlpha
 
HPFLTNB m_currentMeanClusterVolume
 
HPFLTNB m_meanClusterVolumeMin
 
HPFLTNB m_meanClusterVolumeMax
 
FLTNBmp_permanentBackwardImage
 

Additional Inherited Members

- Protected Attributes inherited from vAlgorithm
int m_nbIterations
 
int * mp_nbSubsets
 
bool * mp_outputIterations
 
int m_verbose
 
bool m_flagGPU
 
oImageDimensionsAndQuantificationmp_ID
 
vDataFile ** m2p_DataFile
 
oProjectorManagermp_ProjectorManager
 
oOptimizerManagermp_OptimizerManager
 
oDeformationManagermp_DeformationManager
 
oDynamicModelManagermp_DynamicModelManager
 
oImageSpacemp_ImageSpace
 
oImageConvolverManagermp_ImageConvolverManager
 
oImageProcessingManagermp_ImageProcessingManager
 
int m_nbBeds
 
string m_pathToInitialImg
 
string m_pathToAtnImg
 
string m_pathToSensitivityImg
 
vector< string > m_pathToMultiModalImg
 
bool m_saveSensitivityHistoFlag
 
bool m_saveImageAfterSubsets
 
bool m_saveDynamicBasisCoefficients
 
int m_nbSkippedIterations
 

Detailed Description

RCP-GS : Random Clustering Prior - Gibbs Sampler.

Sampling of the posterior probability distribution (Bayesian inference) Image prior : ddCRP, with intensity ~ Gamma (conjugate prior for Poisson likelihood) Multinomial distribution for the backprojection from acquired data into (latent) emissions from voxel j into projection i

Definition at line 20 of file code/include/algorithm/iRCPGSAlgorithm.hh.

Constructor & Destructor Documentation

◆ iRCPGSAlgorithm() [1/2]

iRCPGSAlgorithm::iRCPGSAlgorithm ( )

Definition at line 12 of file code/src/algorithm/iRCPGSAlgorithm.cc.

◆ ~iRCPGSAlgorithm() [1/2]

iRCPGSAlgorithm::~iRCPGSAlgorithm ( )

Definition at line 45 of file code/src/algorithm/iRCPGSAlgorithm.cc.

Here is the call graph for this function:

◆ iRCPGSAlgorithm() [2/2]

iRCPGSAlgorithm::iRCPGSAlgorithm ( )

◆ ~iRCPGSAlgorithm() [2/2]

iRCPGSAlgorithm::~iRCPGSAlgorithm ( )

Member Function Documentation

◆ ComputeFellowVoxelsList() [1/2]

int iRCPGSAlgorithm::ComputeFellowVoxelsList ( vector< INTNB > &  a_fellow_voxels,
int  a_current_voxel 
)
private

Definition at line 1767 of file code/src/algorithm/iRCPGSAlgorithm.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ComputeFellowVoxelsList() [2/2]

int iRCPGSAlgorithm::ComputeFellowVoxelsList ( vector< INTNB > &  a_fellow_voxels,
int  a_current_voxel 
)
private

◆ ComputeSumsPerClusters() [1/2]

int iRCPGSAlgorithm::ComputeSumsPerClusters ( int  a_iteration)
private

Definition at line 1333 of file code/src/algorithm/iRCPGSAlgorithm.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ComputeSumsPerClusters() [2/2]

int iRCPGSAlgorithm::ComputeSumsPerClusters ( int  a_iteration)
private

◆ GenerateCurrentImage() [1/2]

int iRCPGSAlgorithm::GenerateCurrentImage ( )
private

◆ GenerateCurrentImage() [2/2]

int iRCPGSAlgorithm::GenerateCurrentImage ( )
private

Generate the current image estimation from the current sample of partition/clustering and cluster intensities.

Returns
0 if success, positive value otherwise.

Definition at line 1829 of file code/src/algorithm/iRCPGSAlgorithm.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ InitializeHelperVar() [1/2]

int iRCPGSAlgorithm::InitializeHelperVar ( )
private

Allocate and initialize temporary variables, after the main variables have been initialized Assumption : the initial image and the sensitivity image have already been initialized.

Returns
0 if success, positive value otherwise.

Definition at line 521 of file code/src/algorithm/iRCPGSAlgorithm.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ InitializeHelperVar() [2/2]

int iRCPGSAlgorithm::InitializeHelperVar ( )
private

◆ InitSpecificOptions() [1/2]

int iRCPGSAlgorithm::InitSpecificOptions ( string  a_specificOptions)
virtual

Reimplemented from vAlgorithm.

Definition at line 136 of file code/src/algorithm/iRCPGSAlgorithm.cc.

Here is the call graph for this function:

◆ InitSpecificOptions() [2/2]

int iRCPGSAlgorithm::InitSpecificOptions ( string  a_specificOptions)
virtual

Reimplemented from vAlgorithm.

◆ ProcessMultiModalInfo() [1/2]

int iRCPGSAlgorithm::ProcessMultiModalInfo ( )
private

◆ ProcessMultiModalInfo() [2/2]

int iRCPGSAlgorithm::ProcessMultiModalInfo ( )
private

Check input multimodal images.

Returns
0 if success, positive value otherwise.

Definition at line 668 of file code/src/algorithm/iRCPGSAlgorithm.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ReadConfigurationFile() [1/2]

int iRCPGSAlgorithm::ReadConfigurationFile ( const string &  a_configurationFile)
protected

Definition at line 441 of file code/src/algorithm/iRCPGSAlgorithm.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ReadConfigurationFile() [2/2]

int iRCPGSAlgorithm::ReadConfigurationFile ( const string &  a_configurationFile)
protected

◆ SampleConditionalClustering() [1/2]

int iRCPGSAlgorithm::SampleConditionalClustering ( int  a_iteration)
private

◆ SampleConditionalClustering() [2/2]

int iRCPGSAlgorithm::SampleConditionalClustering ( int  a_iteration)
private

Definition at line 1418 of file code/src/algorithm/iRCPGSAlgorithm.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SampleConditionalClusterIntensity() [1/2]

int iRCPGSAlgorithm::SampleConditionalClusterIntensity ( )
private

◆ SampleConditionalClusterIntensity() [2/2]

int iRCPGSAlgorithm::SampleConditionalClusterIntensity ( )
private

Gibbs sampler : third conditional probability (cluster intensity)

Returns
0 if success, positive value otherwise.

Definition at line 1715 of file code/src/algorithm/iRCPGSAlgorithm.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SampleConditionalCompleteData() [1/2]

int iRCPGSAlgorithm::SampleConditionalCompleteData ( int  a_iteration,
int  a_subset,
int  a_bed 
)
private

◆ SampleConditionalCompleteData() [2/2]

int iRCPGSAlgorithm::SampleConditionalCompleteData ( int  a_iteration,
int  a_subset,
int  a_bed 
)
private

Definition at line 889 of file code/src/algorithm/iRCPGSAlgorithm.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SaveIntermediaryData() [1/2]

int iRCPGSAlgorithm::SaveIntermediaryData ( int  a_iteration)
private

◆ SaveIntermediaryData() [2/2]

int iRCPGSAlgorithm::SaveIntermediaryData ( int  a_iteration)
private

◆ ShowHelpSpecific() [1/2]

void iRCPGSAlgorithm::ShowHelpSpecific ( )
virtual

Show help for the child algorithm.

Reimplemented from vAlgorithm.

Definition at line 2008 of file code/src/algorithm/iRCPGSAlgorithm.cc.

Here is the caller graph for this function:

◆ ShowHelpSpecific() [2/2]

void iRCPGSAlgorithm::ShowHelpSpecific ( )
virtual

Show help for the child algorithm.

Reimplemented from vAlgorithm.

◆ StepAfterIterationLoop() [1/2]

int iRCPGSAlgorithm::StepAfterIterationLoop ( )
protectedvirtual

This function is called at the end of the RunCPU function.

Returns
0 if success, positive value otherwise.

Reimplemented from vAlgorithm.

Definition at line 1856 of file code/src/algorithm/iRCPGSAlgorithm.cc.

Here is the call graph for this function:

◆ StepAfterIterationLoop() [2/2]

int iRCPGSAlgorithm::StepAfterIterationLoop ( )
protectedvirtual

This function is called at the end of the RunCPU function.

Returns
0 if success, positive value otherwise.

Reimplemented from vAlgorithm.

◆ StepAfterSubsetLoop() [1/2]

int iRCPGSAlgorithm::StepAfterSubsetLoop ( int  a_iteration)
protectedvirtual

Reimplemented from vAlgorithm.

◆ StepAfterSubsetLoop() [2/2]

int iRCPGSAlgorithm::StepAfterSubsetLoop ( int  a_iteration)
protectedvirtual

Reimplemented from vAlgorithm.

Definition at line 1887 of file code/src/algorithm/iRCPGSAlgorithm.cc.

Here is the call graph for this function:

◆ StepBeforeIterationLoop() [1/2]

int iRCPGSAlgorithm::StepBeforeIterationLoop ( )
protectedvirtual

This function is called at the beginning of the RunCPU function.

Returns
0 if success, positive value otherwise.

Reimplemented from vAlgorithm.

Definition at line 695 of file code/src/algorithm/iRCPGSAlgorithm.cc.

Here is the call graph for this function:

◆ StepBeforeIterationLoop() [2/2]

int iRCPGSAlgorithm::StepBeforeIterationLoop ( )
protectedvirtual

This function is called at the beginning of the RunCPU function.

Returns
0 if success, positive value otherwise.

Reimplemented from vAlgorithm.

◆ StepBeforeSubsetLoop() [1/2]

int iRCPGSAlgorithm::StepBeforeSubsetLoop ( int  a_iteration)
protectedvirtual

Reimplemented from vAlgorithm.

Definition at line 1876 of file code/src/algorithm/iRCPGSAlgorithm.cc.

◆ StepBeforeSubsetLoop() [2/2]

int iRCPGSAlgorithm::StepBeforeSubsetLoop ( int  a_iteration)
protectedvirtual

Reimplemented from vAlgorithm.

◆ StepImageOutput() [1/2]

int iRCPGSAlgorithm::StepImageOutput ( int  a_iteration,
int  a_subset = -1 
)
protectedvirtual

Implements vAlgorithm.

Definition at line 1915 of file code/src/algorithm/iRCPGSAlgorithm.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ StepImageOutput() [2/2]

int iRCPGSAlgorithm::StepImageOutput ( int  a_iteration,
int  a_subset = -1 
)
protectedvirtual

Implements vAlgorithm.

◆ StepInnerLoopInsideSubsetLoop() [1/2]

int iRCPGSAlgorithm::StepInnerLoopInsideSubsetLoop ( int  a_iteration,
int  a_subset,
int  a_bed 
)
protectedvirtual

Implements vAlgorithm.

Definition at line 756 of file code/src/algorithm/iRCPGSAlgorithm.cc.

Here is the call graph for this function:

◆ StepInnerLoopInsideSubsetLoop() [2/2]

int iRCPGSAlgorithm::StepInnerLoopInsideSubsetLoop ( int  a_iteration,
int  a_subset,
int  a_bed 
)
protectedvirtual

Implements vAlgorithm.

◆ StepPostProcessInsideSubsetLoop() [1/2]

int iRCPGSAlgorithm::StepPostProcessInsideSubsetLoop ( int  a_iteration,
int  a_subset 
)
protectedvirtual

Reimplemented from vAlgorithm.

Definition at line 772 of file code/src/algorithm/iRCPGSAlgorithm.cc.

Here is the call graph for this function:

◆ StepPostProcessInsideSubsetLoop() [2/2]

int iRCPGSAlgorithm::StepPostProcessInsideSubsetLoop ( int  a_iteration,
int  a_subset 
)
protectedvirtual

Reimplemented from vAlgorithm.

◆ StepPreProcessInsideSubsetLoop() [1/2]

int iRCPGSAlgorithm::StepPreProcessInsideSubsetLoop ( int  a_iteration,
int  a_subset 
)
protectedvirtual

Reimplemented from vAlgorithm.

◆ StepPreProcessInsideSubsetLoop() [2/2]

int iRCPGSAlgorithm::StepPreProcessInsideSubsetLoop ( int  a_iteration,
int  a_subset 
)
protectedvirtual

Reimplemented from vAlgorithm.

Definition at line 740 of file code/src/algorithm/iRCPGSAlgorithm.cc.

Here is the call graph for this function:

◆ UpdateVisitedVoxels() [1/2]

int iRCPGSAlgorithm::UpdateVisitedVoxels ( )
private

◆ UpdateVisitedVoxels() [2/2]

int iRCPGSAlgorithm::UpdateVisitedVoxels ( )
private

Check for voxels which do not contribute to recorded observed data.

Returns
0 if success, positive value otherwise.

Definition at line 1397 of file code/src/algorithm/iRCPGSAlgorithm.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ m4p_EventsBackprojectionTrace

INTNB **** iRCPGSAlgorithm::m4p_EventsBackprojectionTrace
private

Trace of the backprojection destination for each observed count at previous iteration, Number of beds x Number of events x Number of TOF bins x Number of counts

Definition at line 136 of file code/include/algorithm/iRCPGSAlgorithm.hh.

◆ m_backprojection

int iRCPGSAlgorithm::m_backprojection
private

flag describing the multinomial backprojection of the current iteration/subset data (sampling of conditional complete data): 0 = the previous backprojection state is cleared, as for ML-EM 1 = update of the previous backprojection state 2 = backprojection marginalized over cluster intensity, implies update of the previous backprojection state

Definition at line 111 of file code/include/algorithm/iRCPGSAlgorithm.hh.

◆ m_currentMeanClusterVolume

HPFLTNB iRCPGSAlgorithm::m_currentMeanClusterVolume
private

helper variable for the average cluster volume after each iteration/subset

Definition at line 141 of file code/include/algorithm/iRCPGSAlgorithm.hh.

◆ m_ddCRP

int iRCPGSAlgorithm::m_ddCRP
private

flag describing the ddCRP prior : 0 = no ddCRP, 1 = original ddCRP, 2 = modified ddCRP

Definition at line 110 of file code/include/algorithm/iRCPGSAlgorithm.hh.

◆ m_ddcrpAlpha

HPFLTNB iRCPGSAlgorithm::m_ddcrpAlpha
private

ddCRP : the unnormalized probability of drawing a self link

Definition at line 118 of file code/include/algorithm/iRCPGSAlgorithm.hh.

◆ m_ddcrpAlphaIncrement

HPFLTNB iRCPGSAlgorithm::m_ddcrpAlphaIncrement
private

Multiplicative increment for optimizing the ddCRP alpha parameter through iterations

Definition at line 120 of file code/include/algorithm/iRCPGSAlgorithm.hh.

◆ m_ddcrpLogAlpha

HPFLTNB iRCPGSAlgorithm::m_ddcrpLogAlpha
private

helper variable for precomputed log of ddCRP : the probability of drawing a self link (not normalized)

Definition at line 140 of file code/include/algorithm/iRCPGSAlgorithm.hh.

◆ m_gammaRate

HPFLTNB iRCPGSAlgorithm::m_gammaRate
private

Gamma prior distribution rate parameter

Definition at line 117 of file code/include/algorithm/iRCPGSAlgorithm.hh.

◆ m_gammaShape

HPFLTNB iRCPGSAlgorithm::m_gammaShape
private

Gamma prior distribution shape parameter

Definition at line 116 of file code/include/algorithm/iRCPGSAlgorithm.hh.

◆ m_meanClusterVolumeMax

HPFLTNB iRCPGSAlgorithm::m_meanClusterVolumeMax
private

Maximum threshold for average cluster volume (in mm3), used for adapting ddCRP alpha automatically through iterations

Definition at line 143 of file code/include/algorithm/iRCPGSAlgorithm.hh.

◆ m_meanClusterVolumeMin

HPFLTNB iRCPGSAlgorithm::m_meanClusterVolumeMin
private

Minimum threshold for average cluster volume (in mm3), used for adapting ddCRP alpha automatically through iterations

Definition at line 142 of file code/include/algorithm/iRCPGSAlgorithm.hh.

◆ m_multiModalLag

INTNB iRCPGSAlgorithm::m_multiModalLag
private

Number of iterations after which the multimodal images start affecting voxels clustering

Definition at line 119 of file code/include/algorithm/iRCPGSAlgorithm.hh.

◆ m_neighbourhood

int iRCPGSAlgorithm::m_neighbourhood
private

Number of voxels in the neighbourhood

Definition at line 115 of file code/include/algorithm/iRCPGSAlgorithm.hh.

◆ mp_clusterCount

INTNB * iRCPGSAlgorithm::mp_clusterCount
private

Number of voxels per cluster

Definition at line 130 of file code/include/algorithm/iRCPGSAlgorithm.hh.

◆ mp_clusterN

HPFLTNB ** iRCPGSAlgorithm::mp_clusterN
private

Ns : sum over cluster voxels and all LORs of latent backprojected variable (complete data), requires HPFLTNB precision, can be threaded

Definition at line 127 of file code/include/algorithm/iRCPGSAlgorithm.hh.

◆ mp_clusterSensitivity

HPFLTNB * iRCPGSAlgorithm::mp_clusterSensitivity
private

Sensitivity : sum over cluster voxels and all LORs of system matrix components, requires HPFLTNB precision

Definition at line 128 of file code/include/algorithm/iRCPGSAlgorithm.hh.

◆ mp_clusterValues

HPFLTNB * iRCPGSAlgorithm::mp_clusterValues
private

Values (here voxel intensities) associated with each cluster

Definition at line 126 of file code/include/algorithm/iRCPGSAlgorithm.hh.

◆ mp_listEventsIndices

INTNB ** iRCPGSAlgorithm::mp_listEventsIndices
private

List of events indices, per bed, used for random shuffling

Definition at line 135 of file code/include/algorithm/iRCPGSAlgorithm.hh.

◆ mp_listRelevantVoxelIndices

bool * iRCPGSAlgorithm::mp_listRelevantVoxelIndices
private

Indices of voxels which will be taken into account in the algorithm; all the other voxels are regarded as background and set to 0

Definition at line 138 of file code/include/algorithm/iRCPGSAlgorithm.hh.

◆ mp_listVoxelIndices

INTNB * iRCPGSAlgorithm::mp_listVoxelIndices
private

List of voxel indices, used for random shuffling

Definition at line 134 of file code/include/algorithm/iRCPGSAlgorithm.hh.

◆ mp_multiModalNoiseSigma

HPFLTNB * iRCPGSAlgorithm::mp_multiModalNoiseSigma
private

Standard deviation of Gaussian noise in multimodal images

Definition at line 122 of file code/include/algorithm/iRCPGSAlgorithm.hh.

◆ mp_multiModalParam

HPFLTNB * iRCPGSAlgorithm::mp_multiModalParam
private

Parameter for the standard deviation of the prior on multimodal images

Definition at line 123 of file code/include/algorithm/iRCPGSAlgorithm.hh.

◆ mp_nextLink

INTNB * iRCPGSAlgorithm::mp_nextLink
private

Mapping : voxel index -> next voxel index (link from this voxel to another voxel)

Definition at line 131 of file code/include/algorithm/iRCPGSAlgorithm.hh.

◆ mp_permanentBackwardImage

FLTNB * iRCPGSAlgorithm::mp_permanentBackwardImage
private

A buffer image used for holding the complete up-to-date backward image at any time. It is updated at each iteration/subset, and used in backprojection modes 1 and 2

Definition at line 144 of file code/include/algorithm/iRCPGSAlgorithm.hh.

◆ mp_voxelClusterMapping

INTNB * iRCPGSAlgorithm::mp_voxelClusterMapping
private

Mapping : voxel index -> cluster index

Definition at line 125 of file code/include/algorithm/iRCPGSAlgorithm.hh.

◆ mpp_clusterMultiModal

HPFLTNB ** iRCPGSAlgorithm::mpp_clusterMultiModal
private

Multimodal image(s) : sum over cluster voxels, requires HPFLTNB precision

Definition at line 129 of file code/include/algorithm/iRCPGSAlgorithm.hh.

◆ mpv_parentLinks

vector< INTNB > * iRCPGSAlgorithm::mpv_parentLinks
private

Mapping : voxel index -> list of previous voxels (links from other voxels to this voxel)

Definition at line 132 of file code/include/algorithm/iRCPGSAlgorithm.hh.

◆ mv_newClusters

vector< INTNB > iRCPGSAlgorithm::mv_newClusters
private

Indices of free available (empty) clusters (the number of clusters <= the number of voxels + 1)

Definition at line 133 of file code/include/algorithm/iRCPGSAlgorithm.hh.

◆ temp_count_multimodal

HPFLTNB * iRCPGSAlgorithm::temp_count_multimodal
private

helper variable for the second sampling step, just to avoid allocating repeatedly >

Definition at line 139 of file code/include/algorithm/iRCPGSAlgorithm.hh.


The documentation for this class was generated from the following files: