21 #ifndef __stir_recon_buildblock_DataSymmetriesForDensels_PET_CartesianGrid_H__ 22 #define __stir_recon_buildblock_DataSymmetriesForDensels_PET_CartesianGrid_H__ 35 template <
int num_dimensions,
typename elemT>
36 class DiscretisedDensity;
37 template <
int num_dimensions,
typename elemT>
38 class DiscretisedDensityOnCartesianGrid;
58 #ifndef STIR_NO_COVARIANT_RETURN_TYPES 63 clone()
const override;
70 virtual DenselIndexRange
71 get_basic_densel_index_range()
const;
74 inline void get_related_densels(std::vector<Densel>&,
const Densel& b)
const override;
76 inline int num_related_densels(
const Densel& b)
const override;
78 inline unique_ptr<SymmetryOperation> find_symmetry_operation_from_basic_densel(
Densel&)
const override;
80 inline bool find_basic_densel(
Densel& b)
const override;
83 inline float get_num_planes_per_scanner_ring()
const;
91 inline float get_num_planes_per_axial_pos(
const int segment_num)
const;
92 inline float get_axial_pos_to_z_offset(
const int segment_num)
const;
95 const shared_ptr<const ProjDataInfo>& proj_data_info_ptr;
97 int num_independent_planes;
99 int num_planes_per_scanner_ring;
109 shared_ptr<const DiscretisedDensity<3,float> > image_info_ptr;
113 cartesian_grid_info_ptr()
const;
116 bool blindly_equals(
const root_type*
const)
const override;
118 inline SymmetryOperation* find_sym_op_general_densel(
const int z,
const int y,
const int x)
const;
Declaration of class stir::DataSymmetriesForDensels.
Declaration of class stir::ProjDataInfo.
inline implementations for class DataSymmetriesForDensels_PET_CartesianGrid
Encodes symmetry operation on image coordinates and projection data coordinates.
Definition: SymmetryOperation.h:61
This abstract class is the basis for images on a Cartesian grid.
Definition: DiscretisedDensityOnCartesianGrid.h:44
Declaration of typedef stir::Densel.
Import of std::shared_ptr, std::dynamic_pointer_cast and std::static_pointer_cast (or corresponding b...
A class for encoding/finding symmetries common to the geometry of the projection data and the discret...
Definition: DataSymmetriesForDensels.h:50
Symmetries appropriate for a (cylindrical) PET scanner, and a discretised density on a Cartesian grid...
Definition: DataSymmetriesForDensels_PET_CartesianGrid.h:48