CASToR  1.1
Tomographic Reconstruction (PET/SPECT)
 All Classes Files Functions Variables Typedefs Macros Groups Pages
Public Member Functions | Private Attributes | List of all members
oComputeProjection Class Reference

Class that manages the data update step of analytic projection. More...

#include <oComputeProjection.hh>

Collaboration diagram for oComputeProjection:
Collaboration graph

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

oImageDimensionsAndQuantificationmp_ID
 
int m_verbose
 
bool m_noiseModelEnabled
 

Detailed Description

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.

Constructor & Destructor Documentation

oComputeProjection::oComputeProjection ( oImageDimensionsAndQuantification ap_ImageDimensionsAndQuantification)

oComputeProjection constructor.

Parameters
ap_ImageDimensionsAndQuantificationInitialize 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.

Member Function Documentation

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).

Parameters
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
Returns
0 if success, positive value otherwise

Definition at line 74 of file oComputeProjection.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

uint32_t oComputeProjection::GetPoissonNoise ( int32_t  a_lambda)

Generate a Poisson random variable from a provided lambda.

Parameters
a_lambda: event rate

Depending on lambda, use either :

  • Poisson noise if a_lambda <= 60
  • Normal approximation otherwise
    Returns
    a random value

Definition at line 255 of file oComputeProjection.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

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.

Parameters
aNoiseModel: string corresponding to a noise model
Returns
0 if success, positive value otherwise

Definition at line 168 of file oComputeProjection.cc.

Here is the caller graph for this function:

oComputeProjection::SetVerbose ( int  a_verboseLevel)
inline

set verbosity

Parameters
a_verboseLevel

Definition at line 100 of file oComputeProjection.hh.

Here is the caller graph for this function:

Member Data Documentation

bool oComputeProjection::m_noiseModelEnabled
private

Poisson noise enabled or not (default=false)

Definition at line 113 of file oComputeProjection.hh.

int oComputeProjection::m_verbose
private

Verbosity (default=-1)

Definition at line 112 of file oComputeProjection.hh.

oImageDimensionsAndQuantification* oComputeProjection::mp_ID
private

Pointer to the oImageDimensionsAndQuantification object

Definition at line 100 of file oComputeProjection.hh.


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