CASToR
1.1
Tomographic Reconstruction (PET/SPECT)
|
Class that manages the data update step of analytic projection. More...
#include <oComputeProjection.hh>
Public Member Functions | |
oComputeProjection (oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification) | |
oComputeProjection constructor. More... | |
~oComputeProjection () | |
oComputeProjection destructor. More... | |
int | DataUpdateStep (vDataFile *ap_DataFile, oProjectionLine *a2p_Line, oImageSpace *ap_Image, vEvent *ap_Event, int a_fr, int a_rg, int a_cg, int th, uint32_t a_timestamp) |
Perform the forward-projection, and send the result to the datafile for writing. Implements random Poisson noise. Write the result in the projection image matrix (only implemented for SPECT). More... | |
int | InitNoiseModel (string aNoiseModel) |
This is a premature implementation of noise model initialization for analytic simulator. Currently, only the Poisson noise can be selected. More... | |
uint32_t | GetPoissonNoise (int32_t a_lambda) |
Generate a Poisson random variable from a provided lambda. More... | |
void | SetVerbose (int a_verboseLevel) |
set verbosity More... | |
Private Attributes | |
oImageDimensionsAndQuantification * | mp_ID |
int | m_verbose |
bool | m_noiseModelEnabled |
Class that manages the data update step of analytic projection.
The DataUpdateStep computes the data update step and manages Poisson RNG
For SPECT, the image of the projection is written in ImageSpace->m2p_projectionImage
This implementation will be subjected to major modifications with the next update of the analytic simulator tools.
Definition at line 24 of file oComputeProjection.hh.
oComputeProjection::oComputeProjection | ( | oImageDimensionsAndQuantification * | ap_ImageDimensionsAndQuantification | ) |
oComputeProjection constructor.
ap_ImageDimensionsAndQuantification | Initialize the member variables to their default values. |
Definition at line 31 of file oComputeProjection.cc.
oComputeProjection::~oComputeProjection | ( | ) |
oComputeProjection destructor.
Definition at line 47 of file oComputeProjection.cc.
int oComputeProjection::DataUpdateStep | ( | vDataFile * | ap_DataFile, |
oProjectionLine * | a2p_Line, | ||
oImageSpace * | ap_Image, | ||
vEvent * | ap_Event, | ||
int | a_fr, | ||
int | a_rg, | ||
int | a_cg, | ||
int | th, | ||
uint32_t | a_timestamp | ||
) |
Perform the forward-projection, and send the result to the datafile for writing.
Implements random Poisson noise.
Write the result in the projection image matrix (only implemented for SPECT).
ap_DataFile | : pointer to the datafile which manage output data writing |
a2p_Line | : pointer to the structure containing system matrix components |
ap_Image | : pointer to the image space to access forward/attenuation/projection images |
ap_Event | : pointer to the structure containing the event geometric indices |
a_fr | : frame index |
a_rg | : respiratory gate index |
a_cg | : cardiac gate index |
a_timestamp | : event timestamp |
Definition at line 74 of file oComputeProjection.cc.
uint32_t oComputeProjection::GetPoissonNoise | ( | int32_t | a_lambda | ) |
Generate a Poisson random variable from a provided lambda.
a_lambda | : event rate |
Depending on lambda, use either :
Definition at line 255 of file oComputeProjection.cc.
int oComputeProjection::InitNoiseModel | ( | string | aNoiseModel | ) |
This is a premature implementation of noise model initialization for analytic simulator.
Currently, only the Poisson noise can be selected.
aNoiseModel | : string corresponding to a noise model |
Definition at line 168 of file oComputeProjection.cc.
|
inline |
set verbosity
a_verboseLevel |
Definition at line 100 of file oComputeProjection.hh.
|
private |
Poisson noise enabled or not (default=false)
Definition at line 113 of file oComputeProjection.hh.
|
private |
Verbosity (default=-1)
Definition at line 112 of file oComputeProjection.hh.
|
private |
Pointer to the oImageDimensionsAndQuantification object
Definition at line 100 of file oComputeProjection.hh.