CASToR  1.0
Tomographic Reconstruction (PET/SPECT)
Public Member Functions | Private Attributes
oComputeProjection Class Reference

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

#include <oComputeProjection.hh>

Collaboration diagram for oComputeProjection:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 oComputeProjection (oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification)
 oComputeProjection constructor.
 ~oComputeProjection ()
 oComputeProjection destructor.
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).
int InitNoiseModel (string aNoiseModel)
 This is a premature implementation of noise model initialization for analytic simulator.
Currently, only the Poisson noise can be selected.
uint32_t GetPoissonNoise (uint32_t a_lambda)
 Generate a Poisson random variable from a provided lambda.
void SetVerbose (int a_verboseLevel)
 set verbosity

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

Parameters:
ap_ImageDimensionsAndQuantificationInitialize the member variables to their default values.

Definition at line 31 of file oComputeProjection.cc.

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 ( uint32_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 249 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 162 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

Poisson noise enabled or not (default=false)

Definition at line 113 of file oComputeProjection.hh.

Verbosity (default=-1)

Definition at line 112 of file oComputeProjection.hh.

Pointer to the oImageDimensionsAndQuantification object

Definition at line 100 of file oComputeProjection.hh.


The documentation for this class was generated from the following files:
 All Classes Files Functions Variables Typedefs Defines