25template <
class Derived>
29 det_pos.pos1().radial_coord() = 0;
30 det_pos.pos2().radial_coord() = 0;
31 int tangential_pos_num;
33 static_cast<const Derived*
>(
this)->get_data().get_sinogram_and_ring_coordinates(
34 view_num, tangential_pos_num, det_pos.pos1().axial_coord(), det_pos.pos2().axial_coord());
36 int det_num_1, det_num_2;
37 this->get_uncompressed_proj_data_info_sptr()->get_det_num_pair_for_view_tangential_pos_num(
38 det_num_1, det_num_2, view_num, tangential_pos_num);
39 det_pos.pos1().tangential_coord() = det_num_1;
40 det_pos.pos2().tangential_coord() = det_num_2;
41 det_pos.timing_pos() = this->get_uncompressed_proj_data_info_sptr()->get_tof_bin(delta_time);
44template <
class Derived>
48 int tangential_pos_num;
50 const bool swap_rings = this->get_uncompressed_proj_data_info_sptr()->get_view_tangential_pos_num_for_det_num_pair(
51 view_num, tangential_pos_num, det_pos.pos1().tangential_coord(), det_pos.pos2().tangential_coord());
55 static_cast<Derived*
>(
this)->get_data().set_sinogram_and_ring_coordinates(
56 view_num, tangential_pos_num, det_pos.pos1().axial_coord(), det_pos.pos2().axial_coord());
60 static_cast<Derived*
>(
this)->get_data().set_sinogram_and_ring_coordinates(
61 view_num, tangential_pos_num, det_pos.pos2().axial_coord(), det_pos.pos1().axial_coord());
63 if (this->get_uncompressed_proj_data_info_sptr()->is_tof_data())
65 "TODO: CListEventCylindricalScannerWithViewTangRingRingEncoding::set_detection_position needs to be implemented for TOF");
69sinogram_coordinates_to_bin(
Bin& bin,
71 const int tang_pos_num,
87template <
class Derived>
93 int tangential_pos_num;
97 static_cast<const Derived*
>(
this)->get_data().get_sinogram_and_ring_coordinates(view_num, tangential_pos_num, ring_a, ring_b);
98 sinogram_coordinates_to_bin(
99 bin, view_num, tangential_pos_num, ring_a, ring_b,
static_cast<const ProjDataInfoCylindrical&
>(proj_data_info));
103template <
class Derived>
A class for storing coordinates and value of a single projection bin.
Definition Bin.h:49
int tangential_pos_num() const
get tangential position number
Definition Bin.inl:76
int axial_pos_num() const
get axial position number
Definition Bin.inl:70
void set_bin_value(float v)
set the value to be back projected
Definition Bin.inl:129
void set_detection_position(const DetectionPositionPair<> &)
Definition CListEventCylindricalScannerWithViewTangRingRingEncoding.inl:46
virtual bool is_valid_template(const ProjDataInfo &) const
This method checks if the template is valid for LmToProjData.
Definition CListEventCylindricalScannerWithViewTangRingRingEncoding.inl:105
void get_detection_position(DetectionPositionPair<> &) const
This routine returns the corresponding detector pair.
Definition CListEventCylindricalScannerWithViewTangRingRingEncoding.inl:27
virtual void get_bin(Bin &, const ProjDataInfo &) const
warning only ProjDataInfoCylindricalNoArcCorr
Definition CListEventCylindricalScannerWithViewTangRingRingEncoding.inl:89
A class for storing 2 coordinates-sets of a detection, together with a timing-position index (for TOF...
Definition DetectionPositionPair.h:41
Projection data info for data which are not arc-corrected.
Definition ProjDataInfoCylindricalNoArcCorr.h:83
projection data info for data corresponding to a 'cylindrical' sampling.
Definition ProjDataInfoCylindrical.h:49
virtual int get_view_mashing_factor() const
Get the mashing factor, i.e. how many 'original' views are combined.
Definition ProjDataInfoCylindrical.inl:207
Succeeded get_segment_axial_pos_num_for_ring_pair(int &segment_num, int &axial_pos_num, const int ring1, const int ring2) const
Find to which segment and axial position a ring pair contributes.
Definition ProjDataInfoCylindrical.inl:238
An (abstract base) class that contains information on the projection data.
Definition ProjDataInfo.h:70
int get_tof_bin(const double delta) const
Get number of tof bin for a given time difference.
Definition ProjDataInfo.inl:77
int segment_num() const
get segment number for const objects
Definition SegmentIndices.inl:32
int timing_pos_num() const
get TOF index for const objects
Definition SegmentIndices.inl:44
int view_num() const
get view number for const objects
Definition ViewgramIndices.inl:36
void error(const char *const s,...)
Print error with format string a la printf and throw exception.
Definition error.cxx:42