16#ifndef __ProjMatrixByDenselUsingRayTracing__
17#define __ProjMatrixByDenselUsingRayTracing__
25template <
int num_dimensions,
typename elemT>
26class DiscretisedDensity;
27class DataSymmetriesForDensels_PET_CartesianGrid;
55 :
public RegisteredParsingObject<ProjMatrixByDenselUsingRayTracing, ProjMatrixByDenselOnCartesianGridUsingElement>
69 void set_up(
const shared_ptr<const ProjDataInfo>& proj_data_info_ptr,
78 shared_ptr<DataSymmetriesForDensels_PET_CartesianGrid> symmetries_ptr;
81 bool restrict_to_cylindrical_FOV;
84 int num_tangential_LORs;
86 bool use_actual_detector_boundaries;
99 void set_defaults()
override;
100 void initialise_keymap()
override;
101 bool post_processing()
override;
defines the stir::CartesianCoordinate3D<coordT> class
ProjMatrixByDenselOnCartesianGridUsingElement's definition.
Declaration of class stir::RegisteredParsingObject.
A class for storing coordinates and value of a single projection bin.
Definition Bin.h:49
a templated class for 3-dimensional coordinates.
Definition CartesianCoordinate3D.h:53
A class for encoding/finding symmetries common to the geometry of the projection data and the discret...
Definition DataSymmetriesForDensels.h:51
This abstract class is the basis for all image representations.
Definition DiscretisedDensity.h:99
Computes projection matrix elements for VoxelsOnCartesianGrid images by using a Length of Intersectio...
Definition ProjMatrixByDenselOnCartesianGridUsingElement.h:55
float get_element(const Bin &, const CartesianCoordinate3D< float > &) const override
this member computes a single element of the projection matrix
Definition ProjMatrixByDenselUsingRayTracing.cxx:253
const DataSymmetriesForDensels * get_symmetries_ptr() const override
get a pointer to an object encoding all symmetries that are used by this ProjMatrixByDensel
Definition ProjMatrixByDenselUsingRayTracing.cxx:73
static const char *const registered_name
Name which will be used when parsing a ProjMatrixByDensel object.
Definition ProjMatrixByDenselUsingRayTracing.h:61
void set_up(const shared_ptr< const ProjDataInfo > &proj_data_info_ptr, const shared_ptr< const DiscretisedDensity< 3, float > > &density_info_ptr) override
Stores all necessary geometric info.
Definition ProjMatrixByDenselUsingRayTracing.cxx:79
ProjMatrixByDenselUsingRayTracing()
Default constructor (calls set_defaults())
Definition ProjMatrixByDenselUsingRayTracing.cxx:35
Parent class for all leaves in a RegisteredObject hierarchy that do parsing of parameter files.
Definition RegisteredParsingObject.h:78