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

This class is designed to manage and store system matrix elements associated to a vEvent. More...

#include <oProjectionLine.hh>

Collaboration diagram for oProjectionLine:
Collaboration graph

Public Member Functions

 oProjectionLine ()
 The constructor of oProjectionLine. More...
 
 ~oProjectionLine ()
 The destructor of oProjectionLine. More...
 
int CheckParameters ()
 A function used to check the parameters settings. More...
 
int Initialize ()
 A function used to initialize a bunch of stuff after parameters have been checked. More...
 
void ComputeLineLength ()
 Simply compute and update the m_length using the associated mp_position1 and mp_position2. More...
 
bool NotEmptyLine ()
 This function is used to know if the line contains any voxel contribution. More...
 
void Reset ()
 Reset length and all the voxel indices and weights tabs. More...
 
void ApplyOffset ()
 Apply the offset of oImageDimensionsAndQuantification to the mp_position1 and mp_position2. More...
 
void ApplyBedOffset ()
 Apply the bed offset of m_bedOffset to the mp_position1 and mp_position2. More...
 
INTNB GetVoxelIndex (int a_direction, int a_TOFBin, INTNB a_voxelInLine)
 This function is used to get the contributing voxel index of the provided direction, TOF bin and voxel rank. More...
 
void AddVoxelInTOFBin (int a_direction, int a_TOFBin, INTNB a_voxelIndice, FLTNB a_voxelWeight)
 This function is used to add a voxel contribution to the line and provided TOF bin. More...
 
void AddVoxelAllTOFBins (int a_direction, INTNB a_voxelIndex, FLTNB a_voxelWeight, HPFLTNB *a_tofWeights, INTNB a_tofBinFirst, INTNB a_tofBinLast)
 Add a voxel contribution to the line for all relevant TOF bins. More...
 
void AddVoxel (int a_direction, INTNB a_voxelIndice, FLTNB a_voxelWeight)
 This function is used to add a voxel contribution to the line, assuming TOF bin 0 (i.e. no TOF). More...
 
FLTNB ForwardProject (FLTNB *ap_image=NULL)
 Simply forward projects the provided image if not null, or else 1, for the current TOF bin. More...
 
FLTNB ForwardProjectWithSPECTAttenuation (FLTNB *ap_attenuation, FLTNB *ap_image=NULL)
 Forward projects the provided image for the current TOF bin with an inner loop on the attenuation (for SPECT). More...
 
void BackwardProject (FLTNB *ap_image, FLTNB a_value)
 Simply backward projects the provided value inside the provided image, for the current TOF bin. More...
 
void BackwardProjectWithSPECTAttenuation (FLTNB *ap_attenuation, FLTNB *ap_image, FLTNB a_value)
 Backward project the provided value inside the provided image with an inner loop on the attenuation (for SPECT). More...
 
FLTNB ComputeLineIntegral (int a_direction)
 It simply computes the sum of all voxels contributions following the provided direction. More...
 
FLTNB GetVoxelWeights (int a_direction, int a_TOFBin, INTNB a_voxelInLine)
 This function is used to get the contributing voxel weight of the provided direction, TOF bin and voxel rank. More...
 
INTNB GetCurrentNbVoxels (int a_direction, int a_TOFBin)
 This function is used to get the current number of contributing voxels to the line. More...
 
int GetNbTOFBins ()
 This function is used to get the number of TOF bins in use. More...
 
FLTNB GetLength ()
 This function is used to get the length of the line. More...
 
int GetComputationStrategy ()
 This function is used to get the computation strategy. More...
 
FLTNBGetPosition1 ()
 This function is used to get the pointer to the mp_position1 (3-values tab). More...
 
FLTNBGetPosition2 ()
 This function is used to get the pointer to the mp_position2 (3-values tab). More...
 
FLTNBGetBufferPosition1 ()
 This function is used to get the pointer to the mp_bufferPosition1 (3-values tab). More...
 
FLTNBGetBufferPosition2 ()
 This function is used to get the pointer to the mp_bufferPosition2 (3-values tab). More...
 
FLTNBGetOrientation1 ()
 This function is used to get the pointer to the mp_orientation1 (3-values tab). More...
 
FLTNBGetOrientation2 ()
 This function is used to get the pointer to the mp_orientation2 (3-values tab). More...
 
FLTNBGetBufferOrientation1 ()
 This function is used to get the pointer to the mp_bufferOrientation1 (3-values tab). More...
 
FLTNBGetBufferOrientation2 ()
 This function is used to get the pointer to the mp_bufferOrientation2 (3-values tab). More...
 
FLTNBGetPOI1 ()
 This function is used to get the pointer to POI of point 1 (3-values tab). More...
 
FLTNBGetPOI2 ()
 This function is used to get the pointer to POI of point 2 (3-values tab). More...
 
FLTNB GetTOFMeasurementInPs ()
 This function is used to get the TOF measurement in ps. More...
 
int GetIndex1 ()
 This function is used to get the index associated to point 1. More...
 
int GetIndex2 ()
 This function is used to get the index associated to point 2. More...
 
int GetThreadNumber ()
 This function is used to get the thread number associated to this line. More...
 
FLTNB GetBedOffset ()
 This function is used to get the axial bed offset associated to this line. More...
 
void SetLength (FLTNB a_length)
 This function is used to set the length of the line. More...
 
void SetPOI1 (FLTNB *ap_POI1)
 This function is used to set the POI of point 1. More...
 
void SetPOI2 (FLTNB *ap_POI2)
 This function is used to set the POI of point 2. More...
 
void SetTOFMeasurementInPs (FLTNB a_TOFMeasurementInPs)
 This function is used to set the TOF measurement associated to the line. More...
 
void SetIndex1 (int a_index1)
 This function is used to set the index m_index1 of point 1. More...
 
void SetIndex2 (int a_index2)
 This function is used to set the index m_index1 of point 2. More...
 
void SetNbTOFBins (int a_nbTOFBins)
 This function is used to set the number of TOF bins in use. More...
 
void SetCurrentTOFBin (int a_TOFBin)
 This function is used to set the current TOF bin that is used. More...
 
void SetMatchedProjectors (bool a_UseMatchedProjectors)
 This function is used to set the boolean that says if we use matched projectors. More...
 
void SetPOIResolution (FLTNB *ap_POIResolution)
 This function is used to set the POI resolution along the 3 axes. More...
 
void SetImageDimensionsAndQuantification (oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification)
 This function is used to set the pointer to the oImageDimensionsAndQuantification in use. More...
 
void SetComputationStrategy (int a_computationStrategy)
 This function is used to set the computation strategy in use. More...
 
void SetForwardProjector (vProjector *ap_Projector)
 This function is used to set the pointer to the forward projector. More...
 
void SetBackwardProjector (vProjector *ap_Projector)
 This function is used to set the pointer to the backward projector. More...
 
void SetThreadNumber (int a_threadNumber)
 This function is used to set the thread number of this particular line. More...
 
void SetMultiplicativeCorrection (FLTNB a_multiplicativeCorrection)
 This function is used to set the multiplicative correction to be applied during forward and backward projections. More...
 
void SetVerbose (int a_verbose)
 This function is used to set the verbose level. More...
 
void SetBedOffset (FLTNB a_bedOffset)
 This function is used to set the bed offset. More...
 

Private Attributes

int m_verbose
 
bool m_checked
 
bool m_initialized
 
int m_threadNumber
 
FLTNB m_multiplicativeCorrection
 
oImageDimensionsAndQuantificationmp_ImageDimensionsAndQuantification
 
int m_computationStrategy
 
FLTNB m_bedOffset
 
int m_nbTOFBins
 
FLTNB m_TOFMeasurementInPs
 
int m_currentTOFBin
 
FLTNBmp_POI1
 
FLTNBmp_POI2
 
FLTNBmp_POIResolution
 
FLTNB m_length
 
FLTNBmp_position1
 
FLTNBmp_position2
 
FLTNBmp_bufferPosition1
 
FLTNBmp_bufferPosition2
 
FLTNBmp_orientation1
 
FLTNBmp_orientation2
 
FLTNBmp_bufferOrientation1
 
FLTNBmp_bufferOrientation2
 
int m_index1
 
int m_index2
 
bool m_useMatchedProjectors
 
vProjectormp_ForwardProjector
 
vProjectormp_BackwardProjector
 
INTNB ** m2p_allocatedNbVoxels
 
INTNB ** m2p_currentNbVoxels
 
INTNB *** m3p_voxelIndices
 
FLTNB *** m3p_voxelWeights
 

Detailed Description

This class is designed to manage and store system matrix elements associated to a vEvent.

This class is basically a container for system matrix elements associated to a vEvent. It can use different storage and computation strategies for this role. It contains the voxel contributions to the LOR associated to a vEvent. It manages TOF bins.

Definition at line 91 of file oProjectionLine.hh.

Constructor & Destructor Documentation

◆ oProjectionLine()

oProjectionLine::oProjectionLine ( )

The constructor of oProjectionLine.

This is the default and unique constructor. It does not take any parameter and its role is only to affect default values to each member of the class.

Definition at line 39 of file oProjectionLine.cc.

◆ ~oProjectionLine()

oProjectionLine::~oProjectionLine ( )

The destructor of oProjectionLine.

This is the default and unique destructor. It does not take any parameter and its role is only to free or delete all structures that were built by this class.

Definition at line 81 of file oProjectionLine.cc.

Member Function Documentation

◆ AddVoxel()

void oProjectionLine::AddVoxel ( int  a_direction,
INTNB  a_voxelIndice,
FLTNB  a_voxelWeight 
)

This function is used to add a voxel contribution to the line, assuming TOF bin 0 (i.e. no TOF).

Parameters
inta_direction
INTNBa_voxelIndice
FLTNBa_voxelWeight

Definition at line 693 of file oProjectionLine.cc.

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

◆ AddVoxelAllTOFBins()

void oProjectionLine::AddVoxelAllTOFBins ( int  a_direction,
INTNB  a_voxelIndex,
FLTNB  a_voxelWeight,
HPFLTNB a_tofWeights,
INTNB  a_tofBinFirst,
INTNB  a_tofBinLast 
)

Add a voxel contribution to the line for all relevant TOF bins.

Parameters
inta_direction
INTNBa_voxelIndex
FLTNBa_voxelWeight
HPFLTNB*a_tofWeights : TOF bin weights for all relevant TOF bins for this voxel
INTNBa_tofBinFirst : first relevant TOF bin for this voxel
INTNBa_tofBinLast : last relevant TOF bin for this voxel

Definition at line 628 of file oProjectionLine.cc.

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

◆ AddVoxelInTOFBin()

void oProjectionLine::AddVoxelInTOFBin ( int  a_direction,
int  a_TOFBin,
INTNB  a_voxelIndice,
FLTNB  a_voxelWeight 
)

This function is used to add a voxel contribution to the line and provided TOF bin.

Parameters
inta_direction
inta_TOFBin
INTNBa_voxelIndex
FLTNBa_voxelWeight

Definition at line 572 of file oProjectionLine.cc.

Here is the call graph for this function:

◆ ApplyBedOffset()

void oProjectionLine::ApplyBedOffset ( )

Apply the bed offset of m_bedOffset to the mp_position1 and mp_position2.

Definition at line 514 of file oProjectionLine.cc.

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

◆ ApplyOffset()

void oProjectionLine::ApplyOffset ( )

Apply the offset of oImageDimensionsAndQuantification to the mp_position1 and mp_position2.

Definition at line 485 of file oProjectionLine.cc.

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

◆ BackwardProject()

void oProjectionLine::BackwardProject ( FLTNB ap_image,
FLTNB  a_value 
)

Simply backward projects the provided value inside the provided image, for the current TOF bin.

Parameters
FLTNB*ap_image
FLTNBa_value

It backward projects for the current TOF bin the provided value inside the provided image. It also applies the inverse of the multiplicative correction term before the backward projection, and assumes it is not zero.

Definition at line 883 of file oProjectionLine.cc.

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

◆ BackwardProjectWithSPECTAttenuation()

void oProjectionLine::BackwardProjectWithSPECTAttenuation ( FLTNB ap_attenuation,
FLTNB ap_image,
FLTNB  a_value 
)

Backward project the provided value inside the provided image with an inner loop on the attenuation (for SPECT).

Parameters
FLTNB*ap_attenuation
FLTNB*ap_image
FLTNBa_value

It backward projects the provided into the provided image. It does it for the current TOF bin (for genericity purpose) even if this function should only be called for SPECT. The order of the voxels contributions is assumed to be from the outside to the detector, so it only works with the list computation strategy. It also applies the inverse of the multiplicative correction term before the backward projection, and assumes it is not zero.

Definition at line 908 of file oProjectionLine.cc.

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

◆ CheckParameters()

int oProjectionLine::CheckParameters ( )

A function used to check the parameters settings.

This function does not take any parameter and is used to check that all mandatory members were correctly parameterized.

Returns
An integer reflecting the check status; 0 if no problem, another value otherwise.

Definition at line 136 of file oProjectionLine.cc.

Here is the call graph for this function:

◆ ComputeLineIntegral()

FLTNB oProjectionLine::ComputeLineIntegral ( int  a_direction)

It simply computes the sum of all voxels contributions following the provided direction.

Parameters
inta_direction
Returns
The sum of all voxels contributions

Definition at line 962 of file oProjectionLine.cc.

◆ ComputeLineLength()

void oProjectionLine::ComputeLineLength ( )

Simply compute and update the m_length using the associated mp_position1 and mp_position2.

Definition at line 389 of file oProjectionLine.cc.

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

◆ ForwardProject()

FLTNB oProjectionLine::ForwardProject ( FLTNB ap_image = NULL)

Simply forward projects the provided image if not null, or else 1, for the current TOF bin.

Parameters
FLTNB*ap_image = NULL

It forward projects for the current TOF bin the provided image if not NULL, or else it assumes a uniform image of 1. It also applies the inverse of the multiplicative correction term, and assumes it is not zero.

Returns
The value of the forward projection

Definition at line 752 of file oProjectionLine.cc.

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

◆ ForwardProjectWithSPECTAttenuation()

FLTNB oProjectionLine::ForwardProjectWithSPECTAttenuation ( FLTNB ap_attenuation,
FLTNB ap_image = NULL 
)

Forward projects the provided image for the current TOF bin with an inner loop on the attenuation (for SPECT).

Parameters
FLTNB*ap_attenuation
FLTNB*ap_image = NULL

It forward projects the provided image if not null, or else it assumes a uniform image of 1. It does it for the current TOF bin (for genericity purpose) even if this function should only be called for SPECT. The order of the voxels contributions is assumed to be from the outside to the detector, so it only works with the list computation strategy. It also applies the inverse of the multiplicative correction term, and assumes it is not zero.

Returns
The value of the forward projection

Definition at line 791 of file oProjectionLine.cc.

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

◆ GetBedOffset()

public inline FLTNB oProjectionLine::GetBedOffset ( )
inline

This function is used to get the axial bed offset associated to this line.

Returns
The associated bed offset

Definition at line 390 of file oProjectionLine.hh.

◆ GetBufferOrientation1()

public inline FLTNB * oProjectionLine::GetBufferOrientation1 ( )
inline

This function is used to get the pointer to the mp_bufferOrientation1 (3-values tab).

Returns
The buffer orientation of point 1.

Definition at line 333 of file oProjectionLine.hh.

Here is the caller graph for this function:

◆ GetBufferOrientation2()

public inline FLTNB * oProjectionLine::GetBufferOrientation2 ( )
inline

This function is used to get the pointer to the mp_bufferOrientation2 (3-values tab).

Returns
The buffer orientation of point 2.

Definition at line 340 of file oProjectionLine.hh.

Here is the caller graph for this function:

◆ GetBufferPosition1()

public inline FLTNB * oProjectionLine::GetBufferPosition1 ( )
inline

This function is used to get the pointer to the mp_bufferPosition1 (3-values tab).

Returns
The buffer position of point 1.

Definition at line 305 of file oProjectionLine.hh.

Here is the caller graph for this function:

◆ GetBufferPosition2()

public inline FLTNB * oProjectionLine::GetBufferPosition2 ( )
inline

This function is used to get the pointer to the mp_bufferPosition2 (3-values tab).

Returns
The buffer position of point 2.

Definition at line 312 of file oProjectionLine.hh.

Here is the caller graph for this function:

◆ GetComputationStrategy()

public inline int oProjectionLine::GetComputationStrategy ( )
inline

This function is used to get the computation strategy.

Returns
The computation strategy.

Definition at line 284 of file oProjectionLine.hh.

◆ GetCurrentNbVoxels()

public inline INTNB oProjectionLine::GetCurrentNbVoxels ( int  a_direction,
int  a_TOFBin 
)
inline

This function is used to get the current number of contributing voxels to the line.

Parameters
inta_direction
inta_TOFBin
Returns
The current number of contributing voxels.

Definition at line 263 of file oProjectionLine.hh.

Here is the caller graph for this function:

◆ GetIndex1()

public inline int oProjectionLine::GetIndex1 ( )
inline

This function is used to get the index associated to point 1.

Returns
Index of point 1.

Definition at line 369 of file oProjectionLine.hh.

Here is the caller graph for this function:

◆ GetIndex2()

public inline int oProjectionLine::GetIndex2 ( )
inline

This function is used to get the index associated to point 2.

Returns
Index of point 2.

Definition at line 376 of file oProjectionLine.hh.

Here is the caller graph for this function:

◆ GetLength()

public inline FLTNB oProjectionLine::GetLength ( )
inline

This function is used to get the length of the line.

Returns
The length.

Definition at line 277 of file oProjectionLine.hh.

Here is the caller graph for this function:

◆ GetNbTOFBins()

public inline int oProjectionLine::GetNbTOFBins ( )
inline

This function is used to get the number of TOF bins in use.

Returns
The number of TOF bins.

Definition at line 270 of file oProjectionLine.hh.

Here is the caller graph for this function:

◆ GetOrientation1()

public inline FLTNB * oProjectionLine::GetOrientation1 ( )
inline

This function is used to get the pointer to the mp_orientation1 (3-values tab).

Returns
The orientation of point 1.

Definition at line 319 of file oProjectionLine.hh.

Here is the caller graph for this function:

◆ GetOrientation2()

public inline FLTNB * oProjectionLine::GetOrientation2 ( )
inline

This function is used to get the pointer to the mp_orientation2 (3-values tab).

Returns
The orientation of point 2.

Definition at line 326 of file oProjectionLine.hh.

Here is the caller graph for this function:

◆ GetPOI1()

public inline FLTNB * oProjectionLine::GetPOI1 ( )
inline

This function is used to get the pointer to POI of point 1 (3-values tab).

Returns
POI of point 1.

Definition at line 347 of file oProjectionLine.hh.

Here is the caller graph for this function:

◆ GetPOI2()

public inline FLTNB * oProjectionLine::GetPOI2 ( )
inline

This function is used to get the pointer to POI of point 2 (3-values tab).

Returns
POI of point 2 mp_POI2

Definition at line 354 of file oProjectionLine.hh.

Here is the caller graph for this function:

◆ GetPosition1()

public inline FLTNB * oProjectionLine::GetPosition1 ( )
inline

This function is used to get the pointer to the mp_position1 (3-values tab).

Returns
The position of point 1.

Definition at line 291 of file oProjectionLine.hh.

Here is the caller graph for this function:

◆ GetPosition2()

public inline FLTNB * oProjectionLine::GetPosition2 ( )
inline

This function is used to get the pointer to the mp_position2 (3-values tab).

Returns
The position of point 2.

Definition at line 298 of file oProjectionLine.hh.

Here is the caller graph for this function:

◆ GetThreadNumber()

public inline int oProjectionLine::GetThreadNumber ( )
inline

This function is used to get the thread number associated to this line.

Returns
The associated thread number.

Definition at line 383 of file oProjectionLine.hh.

Here is the caller graph for this function:

◆ GetTOFMeasurementInPs()

public inline FLTNB oProjectionLine::GetTOFMeasurementInPs ( )
inline

This function is used to get the TOF measurement in ps.

Returns
TOF measurement.

Definition at line 361 of file oProjectionLine.hh.

Here is the caller graph for this function:

◆ GetVoxelIndex()

INTNB oProjectionLine::GetVoxelIndex ( int  a_direction,
int  a_TOFBin,
INTNB  a_voxelInLine 
)

This function is used to get the contributing voxel index of the provided direction, TOF bin and voxel rank.

Parameters
inta_direction
inta_TOFBin
INTNBa_voxelInLine
Returns
The voxel index.

Definition at line 539 of file oProjectionLine.cc.

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

◆ GetVoxelWeights()

public inline FLTNB oProjectionLine::GetVoxelWeights ( int  a_direction,
int  a_TOFBin,
INTNB  a_voxelInLine 
)
inline

This function is used to get the contributing voxel weight of the provided direction, TOF bin and voxel rank.

Parameters
inta_direction
inta_TOFBin
INTNBa_voxelInLine
Returns
The voxel weight.

Definition at line 254 of file oProjectionLine.hh.

Here is the caller graph for this function:

◆ Initialize()

int oProjectionLine::Initialize ( )

A function used to initialize a bunch of stuff after parameters have been checked.

It allocates all tables depending on the computation strategy.

Returns
An integer reflecting the initialization status; 0 if no problem, another value otherwise.

Definition at line 174 of file oProjectionLine.cc.

Here is the call graph for this function:

◆ NotEmptyLine()

bool oProjectionLine::NotEmptyLine ( )

This function is used to know if the line contains any voxel contribution.

Returns
True if any voxel contribution, false if empty.

Definition at line 413 of file oProjectionLine.cc.

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

◆ Reset()

void oProjectionLine::Reset ( )

Reset length and all the voxel indices and weights tabs.

Definition at line 437 of file oProjectionLine.cc.

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

◆ SetBackwardProjector()

public inline void oProjectionLine::SetBackwardProjector ( vProjector ap_Projector)
inline

This function is used to set the pointer to the backward projector.

Parameters
vProjector*ap_Projector

Definition at line 494 of file oProjectionLine.hh.

Here is the caller graph for this function:

◆ SetBedOffset()

public inline void oProjectionLine::SetBedOffset ( FLTNB  a_bedOffset)
inline

This function is used to set the bed offset.

Parameters
FLTNBa_bedOffset

Definition at line 522 of file oProjectionLine.hh.

◆ SetComputationStrategy()

public inline void oProjectionLine::SetComputationStrategy ( int  a_computationStrategy)
inline

This function is used to set the computation strategy in use.

Parameters
inta_computationStrategy

Definition at line 480 of file oProjectionLine.hh.

Here is the caller graph for this function:

◆ SetCurrentTOFBin()

public inline void oProjectionLine::SetCurrentTOFBin ( int  a_TOFBin)
inline

This function is used to set the current TOF bin that is used.

Parameters
inta_TOFBin

Definition at line 452 of file oProjectionLine.hh.

Here is the caller graph for this function:

◆ SetForwardProjector()

public inline void oProjectionLine::SetForwardProjector ( vProjector ap_Projector)
inline

This function is used to set the pointer to the forward projector.

Parameters
vProjector*ap_Projector

Definition at line 487 of file oProjectionLine.hh.

Here is the caller graph for this function:

◆ SetImageDimensionsAndQuantification()

public inline void oProjectionLine::SetImageDimensionsAndQuantification ( oImageDimensionsAndQuantification ap_ImageDimensionsAndQuantification)
inline

This function is used to set the pointer to the oImageDimensionsAndQuantification in use.

Parameters
oImageDimensionsAndQuantification*ap_ImageDimensionsAndQuantification

Definition at line 473 of file oProjectionLine.hh.

Here is the caller graph for this function:

◆ SetIndex1()

public inline void oProjectionLine::SetIndex1 ( int  a_index1)
inline

This function is used to set the index m_index1 of point 1.

Parameters
inta_index1

Definition at line 431 of file oProjectionLine.hh.

Here is the caller graph for this function:

◆ SetIndex2()

public inline void oProjectionLine::SetIndex2 ( int  a_index2)
inline

This function is used to set the index m_index1 of point 2.

Parameters
inta_index2

Definition at line 438 of file oProjectionLine.hh.

Here is the caller graph for this function:

◆ SetLength()

public inline void oProjectionLine::SetLength ( FLTNB  a_length)
inline

This function is used to set the length of the line.

Parameters
FLTNBa_length

Definition at line 402 of file oProjectionLine.hh.

◆ SetMatchedProjectors()

public inline void oProjectionLine::SetMatchedProjectors ( bool  a_UseMatchedProjectors)
inline

This function is used to set the boolean that says if we use matched projectors.

Parameters
boola_UseMatchedProjectors

Definition at line 459 of file oProjectionLine.hh.

Here is the caller graph for this function:

◆ SetMultiplicativeCorrection()

public inline void oProjectionLine::SetMultiplicativeCorrection ( FLTNB  a_multiplicativeCorrection)
inline

This function is used to set the multiplicative correction to be applied during forward and backward projections.

Parameters
FLTNBa_multiplicativeCorrection

Definition at line 508 of file oProjectionLine.hh.

Here is the caller graph for this function:

◆ SetNbTOFBins()

public inline void oProjectionLine::SetNbTOFBins ( int  a_nbTOFBins)
inline

This function is used to set the number of TOF bins in use.

Parameters
inta_nbTOFBins

Definition at line 445 of file oProjectionLine.hh.

Here is the caller graph for this function:

◆ SetPOI1()

public inline void oProjectionLine::SetPOI1 ( FLTNB ap_POI1)
inline

This function is used to set the POI of point 1.

Parameters
FLTNB*ap_POI1

Definition at line 409 of file oProjectionLine.hh.

Here is the caller graph for this function:

◆ SetPOI2()

public inline void oProjectionLine::SetPOI2 ( FLTNB ap_POI2)
inline

This function is used to set the POI of point 2.

Parameters
FLTNB*ap_POI2

Definition at line 416 of file oProjectionLine.hh.

Here is the caller graph for this function:

◆ SetPOIResolution()

public inline void oProjectionLine::SetPOIResolution ( FLTNB ap_POIResolution)
inline

This function is used to set the POI resolution along the 3 axes.

Parameters
FLTNB*ap_POIResolution

Definition at line 466 of file oProjectionLine.hh.

Here is the caller graph for this function:

◆ SetThreadNumber()

public inline void oProjectionLine::SetThreadNumber ( int  a_threadNumber)
inline

This function is used to set the thread number of this particular line.

Parameters
inta_threadNumber

Definition at line 501 of file oProjectionLine.hh.

Here is the caller graph for this function:

◆ SetTOFMeasurementInPs()

public inline void oProjectionLine::SetTOFMeasurementInPs ( FLTNB  a_TOFMeasurementInPs)
inline

This function is used to set the TOF measurement associated to the line.

Parameters
FLTNBa_TOFMeasurementInPs

Definition at line 423 of file oProjectionLine.hh.

Here is the caller graph for this function:

◆ SetVerbose()

public inline void oProjectionLine::SetVerbose ( int  a_verbose)
inline

This function is used to set the verbose level.

Parameters
inta_verbose

Definition at line 515 of file oProjectionLine.hh.

Here is the caller graph for this function:

Member Data Documentation

◆ m2p_allocatedNbVoxels

INTNB** oProjectionLine::m2p_allocatedNbVoxels
private

Number of allocated voxels for each direction and each TOF bin

Definition at line 590 of file oProjectionLine.hh.

◆ m2p_currentNbVoxels

INTNB** oProjectionLine::m2p_currentNbVoxels
private

Current number of voxels for each direction and each TOF bin

Definition at line 591 of file oProjectionLine.hh.

◆ m3p_voxelIndices

INTNB*** oProjectionLine::m3p_voxelIndices
private

List of contributing voxel indices for each direction and each TOF bin

Definition at line 593 of file oProjectionLine.hh.

◆ m3p_voxelWeights

FLTNB*** oProjectionLine::m3p_voxelWeights
private

List of contributing voxel weights for each direction and each TOF bin

Definition at line 595 of file oProjectionLine.hh.

◆ m_bedOffset

FLTNB oProjectionLine::m_bedOffset
private

Bed axial offset when reconstructing multiple bed positions at once, in mm

Definition at line 551 of file oProjectionLine.hh.

◆ m_checked

bool oProjectionLine::m_checked
private

Boolean that says if the parameters were checked or not

Definition at line 533 of file oProjectionLine.hh.

◆ m_computationStrategy

int oProjectionLine::m_computationStrategy
private

Integer defining the computation/storage strategy of the contributing voxels

Definition at line 549 of file oProjectionLine.hh.

◆ m_currentTOFBin

int oProjectionLine::m_currentTOFBin
private

The current TOF bin in use, can be used for simple to calls to forward or backward projections

Definition at line 555 of file oProjectionLine.hh.

◆ m_index1

int oProjectionLine::m_index1
private

The current index of point 1 (associated to the vScanner in use)

Definition at line 572 of file oProjectionLine.hh.

◆ m_index2

int oProjectionLine::m_index2
private

The current index of point 2 (associated to the vScanner in use)

Definition at line 573 of file oProjectionLine.hh.

◆ m_initialized

bool oProjectionLine::m_initialized
private

Boolean that says if the manager was initialized or not

Definition at line 535 of file oProjectionLine.hh.

◆ m_length

FLTNB oProjectionLine::m_length
private

The current length of the line

Definition at line 561 of file oProjectionLine.hh.

◆ m_multiplicativeCorrection

FLTNB oProjectionLine::m_multiplicativeCorrection
private

Multiplicative correction factor that will be applied during forward and backward projections

Definition at line 544 of file oProjectionLine.hh.

◆ m_nbTOFBins

int oProjectionLine::m_nbTOFBins
private

The number of TOF bins in use

Definition at line 553 of file oProjectionLine.hh.

◆ m_threadNumber

int oProjectionLine::m_threadNumber
private

Thread number associated to this projection line

Definition at line 542 of file oProjectionLine.hh.

◆ m_TOFMeasurementInPs

FLTNB oProjectionLine::m_TOFMeasurementInPs
private

The current TOF measurement of the event in ps

Definition at line 554 of file oProjectionLine.hh.

◆ m_useMatchedProjectors

bool oProjectionLine::m_useMatchedProjectors
private

Boolean that says if we use matched projectors (forward = backward)

Definition at line 577 of file oProjectionLine.hh.

◆ m_verbose

int oProjectionLine::m_verbose
private

The verbose level

Definition at line 531 of file oProjectionLine.hh.

◆ mp_BackwardProjector

vProjector* oProjectionLine::mp_BackwardProjector
private

Pointer to the backward projector in use

Definition at line 579 of file oProjectionLine.hh.

◆ mp_bufferOrientation1

FLTNB* oProjectionLine::mp_bufferOrientation1
private

A buffer for orientation of point 1 (used when compression)

Definition at line 569 of file oProjectionLine.hh.

◆ mp_bufferOrientation2

FLTNB* oProjectionLine::mp_bufferOrientation2
private

A buffer for orientation of point 2 (used when compression)

Definition at line 570 of file oProjectionLine.hh.

◆ mp_bufferPosition1

FLTNB* oProjectionLine::mp_bufferPosition1
private

A buffer for position of point 1 (used when compression)

Definition at line 565 of file oProjectionLine.hh.

◆ mp_bufferPosition2

FLTNB* oProjectionLine::mp_bufferPosition2
private

A buffer for position of point 2 (used when compression)

Definition at line 566 of file oProjectionLine.hh.

◆ mp_ForwardProjector

vProjector* oProjectionLine::mp_ForwardProjector
private

Pointer to the forward projector in use

Definition at line 578 of file oProjectionLine.hh.

◆ mp_ImageDimensionsAndQuantification

oImageDimensionsAndQuantification* oProjectionLine::mp_ImageDimensionsAndQuantification
private

Pointer to the oImageDimensionsAndQuantification object in use

Definition at line 547 of file oProjectionLine.hh.

◆ mp_orientation1

FLTNB* oProjectionLine::mp_orientation1
private

The current orientation of point 1 (along the 3 axes)

Definition at line 567 of file oProjectionLine.hh.

◆ mp_orientation2

FLTNB* oProjectionLine::mp_orientation2
private

The current orientation of point 2 (along the 3 axes)

Definition at line 568 of file oProjectionLine.hh.

◆ mp_POI1

FLTNB* oProjectionLine::mp_POI1
private

The current POI of point 1 of the event (along the 3 axes)

Definition at line 557 of file oProjectionLine.hh.

◆ mp_POI2

FLTNB* oProjectionLine::mp_POI2
private

The current POI of point 2 of the event (along the 3 axes)

Definition at line 558 of file oProjectionLine.hh.

◆ mp_POIResolution

FLTNB* oProjectionLine::mp_POIResolution
private

The POI resolution in use (along the 3 axes)

Definition at line 559 of file oProjectionLine.hh.

◆ mp_position1

FLTNB* oProjectionLine::mp_position1
private

The current position of point 1 (along the 3 axes)

Definition at line 563 of file oProjectionLine.hh.

◆ mp_position2

FLTNB* oProjectionLine::mp_position2
private

The current position of point 2 (along the 3 axes)

Definition at line 564 of file oProjectionLine.hh.


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