16#ifndef __ProjMatrixByDenselOnCartesianGridUsingElement__
17#define __ProjMatrixByDenselOnCartesianGridUsingElement__
26template <
int num_dimensions,
typename elemT>
27class DiscretisedDensity;
65 void set_up(
const shared_ptr<const ProjDataInfo>& proj_data_info_ptr,
87 shared_ptr<const ProjDataInfo> proj_data_info_ptr;
defines the stir::CartesianCoordinate3D<coordT> class
Declaration of class stir::ProjDataInfo.
declaration of ProjMatrixByDensel and its helpers classes
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
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
virtual float get_element(const Bin &bin, const CartesianCoordinate3D< float > &densel_ctr) const =0
this member computes a single element of the projection matrix
void set_up(const shared_ptr< const ProjDataInfo > &proj_data_info_ptr, const shared_ptr< const DiscretisedDensity< 3, float > > &density_info_ptr) override
Stores necessary geometric info.
Definition ProjMatrixByDenselOnCartesianGridUsingElement.cxx:27
void calculate_proj_matrix_elems_for_one_densel(ProjMatrixElemsForOneDensel &) const override
Calculates all non-zero elements for a particular densel.
Definition ProjMatrixByDenselOnCartesianGridUsingElement.cxx:48
ProjMatrixByDensel()
default ctor (enables caching)
Definition ProjMatrixByDensel.cxx:25
This stores the non-zero projection matrix elements for every 'voxel'.
Definition ProjMatrixElemsForOneDensel.h:60
Import of std::shared_ptr, std::dynamic_pointer_cast and std::static_pointer_cast into the stir names...