|
STIR
6.3.0
|
An (abstract base) class for storing 3d projection dataThis stores a subset of the data accessible via a ProjData object, where the SegmentIndices are fixed. More...
#include "stir/Segment.h"

Public Types | |
| enum | StorageOrder { StorageByView, StorageBySino } |
Public Member Functions | |
| shared_ptr< const ProjDataInfo > | get_proj_data_info_sptr () const |
| Get shared pointer to proj data info. | |
| virtual StorageOrder | get_storage_order () const =0 |
| SegmentIndices | get_segment_indices () const |
| int | get_segment_num () const |
| Get the segment number. | |
| int | get_timing_pos_num () const |
| Get the timing position index. | |
| virtual int | get_min_axial_pos_num () const =0 |
| virtual int | get_max_axial_pos_num () const =0 |
| virtual int | get_min_view_num () const =0 |
| virtual int | get_max_view_num () const =0 |
| virtual int | get_min_tangential_pos_num () const =0 |
| virtual int | get_max_tangential_pos_num () const =0 |
| virtual int | get_num_axial_poss () const =0 |
| virtual int | get_num_views () const =0 |
| virtual int | get_num_tangential_poss () const =0 |
| virtual Sinogram< elemT > | get_sinogram (int axial_pos_num) const =0 |
| return a new sinogram, with data set as in the segment | |
| virtual Viewgram< elemT > | get_viewgram (int view_num) const =0 |
| return a new viewgram, with data set as in the segment | |
| Sinogram< elemT > | get_sinogram (const SinogramIndices &s) const |
| return a new sinogram, with data set as in the segment | |
| Viewgram< elemT > | get_viewgram (const ViewgramIndices &) const |
| return a new viewgram, with data set as in the segment | |
| virtual void | set_sinogram (const Sinogram< elemT > &s)=0 |
set data in segment according to sinogram s | |
| virtual void | set_sinogram (const Sinogram< elemT > &s, int axial_pos_num)=0 |
| set sinogram at a different axial_pos_num | |
| virtual void | set_viewgram (const Viewgram< elemT > &v)=0 |
set data in segment according to viewgram v | |
Equality | |
| bool | has_same_characteristics (self_type const &, std::string &explanation) const |
| Checks if the 2 objects have the proj_data_info, segment_num etc. More... | |
| bool | has_same_characteristics (self_type const &) const |
| Checks if the 2 objects have the proj_data_info, segment_num etc. More... | |
| virtual bool | operator== (const self_type &) const =0 |
| check equality (data has to be identical) More... | |
| bool | operator!= (const self_type &) const |
| negation of operator== | |
Protected Member Functions | |
| Segment (const shared_ptr< const ProjDataInfo > &proj_data_info_sptr_v, const SegmentIndices &) | |
Protected Attributes | |
| shared_ptr< const ProjDataInfo > | proj_data_info_sptr |
| SegmentIndices | _indices |
An (abstract base) class for storing 3d projection data
This stores a subset of the data accessible via a ProjData object, where the SegmentIndices are fixed.
At the moment, 2 'storage modes' are supported (and implemented as derived classes).
The template argument elemT is used to specify the data-type of the elements of the 3d object.
| bool stir::Segment< elemT >::has_same_characteristics | ( | self_type const & | other, |
| std::string & | explanation | ||
| ) | const |
Checks if the 2 objects have the proj_data_info, segment_num etc.
If they do not have the same characteristics, the string explanation explains why.
Referenced by stir::SegmentBySinogram< elemT >::SegmentBySinogram(), and stir::SegmentByView< elemT >::SegmentByView().
| bool stir::Segment< elemT >::has_same_characteristics | ( | self_type const & | other | ) | const |
Checks if the 2 objects have the proj_data_info, segment_num etc.
Use this version if you do not need to know why they do not match.
|
pure virtual |
check equality (data has to be identical)
Uses has_same_characteristics() and Array::operator==.
==, which might not be what you need to check when elemT has data with float or double numbers.
1.8.13