21#ifndef __ProjMatrixByBinUsingRayTracing__
22#define __ProjMatrixByBinUsingRayTracing__
31template <
int num_dimensions,
typename elemT>
32class DiscretisedDensity;
125 void set_up(
const shared_ptr<const ProjDataInfo>& proj_data_info_ptr,
133 bool get_restrict_to_cylindrical_FOV()
const;
134 void set_restrict_to_cylindrical_FOV(
bool);
138 int get_num_tangential_LORs()
const;
139 void set_num_tangential_LORs(
int);
144 bool get_use_actual_detector_boundaries()
const;
145 void set_use_actual_detector_boundaries(
bool);
150 bool get_do_symmetry_90degrees_min_phi()
const;
151 void set_do_symmetry_90degrees_min_phi(
bool);
153 bool get_do_symmetry_180degrees_min_phi()
const;
154 void set_do_symmetry_180degrees_min_phi(
bool);
156 bool get_do_symmetry_swap_segment()
const;
157 void set_do_symmetry_swap_segment(
bool);
159 bool get_do_symmetry_swap_s()
const;
160 void set_do_symmetry_swap_s(
bool);
162 bool get_do_symmetry_shift_z()
const;
163 void set_do_symmetry_shift_z(
bool);
173 bool restrict_to_cylindrical_FOV;
175 int num_tangential_LORs;
177 bool use_actual_detector_boundaries;
178 bool do_symmetry_90degrees_min_phi;
179 bool do_symmetry_180degrees_min_phi;
180 bool do_symmetry_swap_segment;
181 bool do_symmetry_swap_s;
182 bool do_symmetry_shift_z;
192 void set_defaults()
override;
193 void initialise_keymap()
override;
194 bool post_processing()
override;
defines the stir::CartesianCoordinate3D<coordT> class
declaration of stir::ProjMatrixByBin and its helpers classes
Declaration of class stir::RegisteredParsingObject.
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
static const char *const registered_name
Name which will be used when parsing a ProjMatrixByBin object.
Definition ProjMatrixByBinUsingRayTracing.h:117
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 ProjMatrixByBinUsingRayTracing.cxx:239
ProjMatrixByBinUsingRayTracing()
Default constructor (calls set_defaults())
Definition ProjMatrixByBinUsingRayTracing.cxx:69
This stores the non-zero projection matrix elements for every 'densel' that contributes to a given bi...
Definition ProjMatrixElemsForOneBin.h:69
Parent class for all leaves in a RegisteredObject hierarchy that do parsing of parameter files.
Definition RegisteredParsingObject.h:78
Import of std::shared_ptr, std::dynamic_pointer_cast and std::static_pointer_cast into the stir names...