STIR 6.4.0
RelatedViewgrams.inl
Go to the documentation of this file.
1//
2//
14/*
15 Copyright (C) 2000 PARAPET partners
16 Copyright (C) 2000-2005, Hammersmith Imanet Ltd
17 This file is part of STIR.
18
19 SPDX-License-Identifier: Apache-2.0 AND License-ref-PARAPET-license
20
21 See STIR/LICENSE.txt for details
22*/
24
25START_NAMESPACE_STIR
26
27template <typename elemT>
29 : viewgrams(),
30 symmetries_used()
31{}
32
33template <typename elemT>
35 const shared_ptr<DataSymmetriesForViewSegmentNumbers>& symmetries_used)
36 : viewgrams(viewgrams),
37 symmetries_used(symmetries_used)
38{
39 if (viewgrams.size())
40 this->proj_data_info_sptr = viewgrams[0].get_proj_data_info_sptr();
41 check_state();
42}
43
44template <typename elemT>
45void
46RelatedViewgrams<elemT>::check_state() const
47{
48#ifndef NDEBUG
49 debug_check_state();
50#endif
51}
52
53template <typename elemT>
54int
56{
57 check_state();
58 return static_cast<int>(viewgrams.size());
59}
60
61template <typename elemT>
62int
65 assert(viewgrams.size() > 0);
66 check_state();
67 return viewgrams[0].get_view_num();
68}
69
70template <typename elemT>
71int
73{
74 assert(viewgrams.size() > 0);
75 check_state();
76 return viewgrams[0].get_segment_num();
77}
79template <typename elemT>
80int
82{
83 assert(viewgrams.size() > 0);
84 check_state();
85 return viewgrams[0].get_timing_pos_num();
86}
88template <typename elemT>
91{
92 assert(viewgrams.size() > 0);
93 check_state();
94 return viewgrams[0].get_viewgram_indices();
95}
96
97template <typename elemT>
103
104template <typename elemT>
105int
106RelatedViewgrams<elemT>::get_num_axial_poss() const
107{
108 assert(viewgrams.size() > 0);
109 check_state();
110 return viewgrams[0].get_num_axial_poss();
111}
112
113template <typename elemT>
114int
115RelatedViewgrams<elemT>::get_min_axial_pos_num() const
117 assert(viewgrams.size() > 0);
118 check_state();
119 return viewgrams[0].get_min_axial_pos_num();
121
122template <typename elemT>
123int
124RelatedViewgrams<elemT>::get_max_axial_pos_num() const
125{
126 assert(viewgrams.size() > 0);
127 check_state();
128 return viewgrams[0].get_max_axial_pos_num();
129}
130
131template <typename elemT>
132const DataSymmetriesForViewSegmentNumbers*
134{
135 return symmetries_used.get();
136}
137
138template <typename elemT>
139shared_ptr<DataSymmetriesForViewSegmentNumbers>
141{
142 return symmetries_used;
143}
144
145template <typename elemT>
146typename RelatedViewgrams<elemT>::iterator
148{
149 return viewgrams.begin();
150}
151
152template <typename elemT>
153typename RelatedViewgrams<elemT>::iterator
155{
156 return viewgrams.end();
157}
158
159template <typename elemT>
160typename RelatedViewgrams<elemT>::const_iterator
162{
163 return viewgrams.begin();
164}
165
166template <typename elemT>
167typename RelatedViewgrams<elemT>::const_iterator
169{
170 return viewgrams.end();
171}
172
173END_NAMESPACE_STIR
Definition of class stir::ViewSegmentNumbers, alias to stir::ViewgramIndices.
iterator end()
iterator 'past' the last element of the vector
Definition RelatedViewgrams.inl:154
RelatedViewgrams()
default constructor (sets everything empty)
Definition RelatedViewgrams.inl:28
int get_num_viewgrams() const
returns the number of viewgrams in this object
Definition RelatedViewgrams.inl:55
int get_basic_segment_num() const
get 'basic' segment_num
Definition RelatedViewgrams.inl:72
iterator begin()
use to initialise an iterator to the first element of the vector
Definition RelatedViewgrams.inl:147
int get_basic_timing_pos_num() const
get 'basic' timing_pos_num
Definition RelatedViewgrams.inl:81
int get_basic_view_num() const
get 'basic' view_num
Definition RelatedViewgrams.inl:63
ViewgramIndices get_basic_view_segment_num() const
get 'basic' view_segment_num
Definition RelatedViewgrams.inl:99
const DataSymmetriesForViewSegmentNumbers * get_symmetries_ptr() const
Get a pointer to the symmetries used in constructing this object.
Definition RelatedViewgrams.inl:133
ViewgramIndices get_basic_viewgram_indices() const
get 'basic' viewgram indices
Definition RelatedViewgrams.inl:90
shared_ptr< DataSymmetriesForViewSegmentNumbers > get_symmetries_sptr() const
Get a shared pointer to the symmetries used in constructing this object.
Definition RelatedViewgrams.inl:140
iterator begin()
use to initialise an iterator to the first element of the vector
Definition VectorWithOffset.inl:190
iterator end()
iterator 'past' the last element of the vector
Definition VectorWithOffset.inl:206
A very simple class to store all dincies to get a (2D) Viewgram.
Definition ViewgramIndices.h:33
A class for 2d projection data.
Definition Viewgram.h:49