27 #ifndef __Sinogram_h__ 28 #define __Sinogram_h__ 45 template <
typename elemT>
46 class Sinogram :
public Array<2, elemT>
49 typedef Array<2, elemT> base_type;
54 typedef Sinogram<elemT> self_type;
62 inline Sinogram(
const shared_ptr<const ProjDataInfo>& proj_data_info_sptr,
const SinogramIndices&);
65 inline Sinogram(
const Array<2, elemT>& p,
const shared_ptr<const ProjDataInfo>& proj_data_info_sptr,
const SinogramIndices&);
71 inline Sinogram(
const shared_ptr<const ProjDataInfo>& proj_data_info_ptr,
73 const int segment_num,
74 const int timing_pos_num = 0);
80 inline Sinogram(
const Array<2, elemT>& p,
81 const shared_ptr<const ProjDataInfo>& proj_data_info_ptr,
83 const int segment_num,
84 const int timing_pos_num = 0);
87 inline SinogramIndices get_sinogram_indices()
const;
89 inline int get_segment_num()
const;
91 inline int get_axial_pos_num()
const;
93 inline int get_timing_pos_num()
const;
95 inline int get_min_view_num()
const;
97 inline int get_max_view_num()
const;
99 inline int get_num_views()
const;
101 inline int get_min_tangential_pos_num()
const;
103 inline int get_max_tangential_pos_num()
const;
105 inline int get_num_tangential_poss()
const;
108 inline Sinogram get_empty_copy(
void)
const;
111 void grow(
const IndexRange<2>& range)
override;
113 void resize(
const IndexRange<2>& range)
override;
116 inline shared_ptr<const ProjDataInfo> get_proj_data_info_sptr()
const;
126 bool has_same_characteristics(self_type
const&, std::string& explanation)
const;
131 bool has_same_characteristics(self_type
const&)
const;
138 bool operator==(
const self_type&)
const;
141 bool operator!=(
const self_type&)
const;
145 shared_ptr<const ProjDataInfo> proj_data_info_ptr;
146 SinogramIndices _indices;
Declaration of class stir::ProjDataInfo.
Definition of class stir::SinogramIndices.
Import of std::shared_ptr, std::dynamic_pointer_cast and std::static_pointer_cast (or corresponding b...
defines the Array class for multi-dimensional (numeric) arrays
Implementations of inline functions of class stir::Sinogram.