STIR 6.4.0
TrivialDataSymmetriesForBins.h
Go to the documentation of this file.
1//
2//
3/*
4 Copyright (C) 2003- 2007, Hammersmith Imanet Ltd
5 This file is part of STIR.
6
7 SPDX-License-Identifier: Apache-2.0
8
9 See STIR/LICENSE.txt for details
10*/
21#ifndef __stir_recon_buildblock_TrivialDataSymmetriesForBins_H__
22#define __stir_recon_buildblock_TrivialDataSymmetriesForBins_H__
23
25
26START_NAMESPACE_STIR
27
34class TrivialDataSymmetriesForBins : public DataSymmetriesForBins
35{
36public:
37 TrivialDataSymmetriesForBins(const shared_ptr<const ProjDataInfo>& proj_data_info_ptr);
38
39 TrivialDataSymmetriesForBins* clone() const override;
40
41 void get_related_bins(std::vector<Bin>&,
42 const Bin& b,
43 const int min_axial_pos_num,
44 const int max_axial_pos_num,
45 const int min_tangential_pos_num,
46 const int max_tangential_pos_num,
47 const int min_timing_pos_num,
48 const int max_timing_pos_num0) const override;
49
50 void get_related_bins_factorised(std::vector<AxTangPosNumbers>&,
51 const Bin& b,
52 const int min_axial_pos_num,
53 const int max_axial_pos_num,
54 const int min_tangential_pos_num,
55 const int max_tangential_pos_num) const override;
56
57 int num_related_bins(const Bin& b) const override;
58
59 unique_ptr<SymmetryOperation> find_symmetry_operation_from_basic_bin(Bin&) const override;
60
61 bool find_basic_bin(Bin& b) const override;
62
63 bool is_basic(const Bin& v_s) const override;
64
65 unique_ptr<SymmetryOperation> find_symmetry_operation_from_basic_view_segment_numbers(ViewSegmentNumbers&) const override;
66
67 void get_related_view_segment_numbers(std::vector<ViewSegmentNumbers>&, const ViewSegmentNumbers&) const override;
68
71
72private:
73 bool blindly_equals(const root_type* const) const override;
74};
75
76END_NAMESPACE_STIR
77
78#endif
Declaration of class stir::DataSymmetriesForBins.
A class for storing coordinates and value of a single projection bin.
Definition Bin.h:49
const shared_ptr< const ProjDataInfo > proj_data_info_ptr
Member storing the info needed by get_related_bins() et al.
Definition DataSymmetriesForBins.h:163
bool find_basic_view_segment_numbers(ViewSegmentNumbers &) const override
given an arbitrary view/segment, find the basic view/segment
Definition TrivialDataSymmetriesForBins.cxx:125
unique_ptr< SymmetryOperation > find_symmetry_operation_from_basic_view_segment_numbers(ViewSegmentNumbers &) const override
default implementation in terms of find_symmetry_operation_from_basic_bin
Definition TrivialDataSymmetriesForBins.cxx:105
bool is_basic(const Bin &v_s) const override
test if a bin is 'basic'
Definition TrivialDataSymmetriesForBins.cxx:50
void get_related_view_segment_numbers(std::vector< ViewSegmentNumbers > &, const ViewSegmentNumbers &) const override
fills in a vector with all the view/segments that are related to 'v_s' (including itself)
Definition TrivialDataSymmetriesForBins.cxx:111
void get_related_bins_factorised(std::vector< AxTangPosNumbers > &, const Bin &b, const int min_axial_pos_num, const int max_axial_pos_num, const int min_tangential_pos_num, const int max_tangential_pos_num) const override
fills in a vector with the axial and tangential position numbers related to this bin
Definition TrivialDataSymmetriesForBins.cxx:56
int num_related_bins(const Bin &b) const override
returns the number of bins related to 'b'
Definition TrivialDataSymmetriesForBins.cxx:38
bool find_basic_bin(Bin &b) const override
given an arbitrary bin 'b', find the basic bin
Definition TrivialDataSymmetriesForBins.cxx:44
unique_ptr< SymmetryOperation > find_symmetry_operation_from_basic_bin(Bin &) const override
given an arbitrary bin 'b', find the basic bin and the corresponding symmetry operation
Definition TrivialDataSymmetriesForBins.cxx:99
void get_related_bins(std::vector< Bin > &, const Bin &b, const int min_axial_pos_num, const int max_axial_pos_num, const int min_tangential_pos_num, const int max_tangential_pos_num, const int min_timing_pos_num, const int max_timing_pos_num0) const override
fills in a vector with all the bins (within the range) that are related to 'b'
Definition TrivialDataSymmetriesForBins.cxx:76
int num_related_view_segment_numbers(const ViewSegmentNumbers &) const override
returns the number of view_segment_numbers related to 'v_s'
Definition TrivialDataSymmetriesForBins.cxx:119
alias for ViewgramIndices
Definition ViewSegmentNumbers.h:34