STIR  6.2.0
DiscretisedDensityOnCartesianGrid.h
Go to the documentation of this file.
1 //
2 //
3 #ifndef __stir_DiscretisedDensityOnCartesianGrid_H__
4 #define __stir_DiscretisedDensityOnCartesianGrid_H__
5 /*
6  Copyright (C) 2000- 2007, Hammersmith Imanet Ltd
7  Copyright (C) 2000 PARAPET partners
8  Copyright (C) 2018, University College London
9  This file is part of STIR.
10 
11  SPDX-License-Identifier: Apache-2.0 AND License-ref-PARAPET-license
12 
13  See STIR/LICENSE.txt for details
14  */
29 
30 START_NAMESPACE_STIR
31 
43 template <int num_dimensions, typename elemT>
44 class DiscretisedDensityOnCartesianGrid : public DiscretisedDensity<num_dimensions, elemT>
45 {
46 private:
48 
49 public:
52 
55  const CartesianCoordinate3D<float>& origin,
56  const BasicCoordinate<num_dimensions, float>& grid_spacing);
57 
59  inline DiscretisedDensityOnCartesianGrid(const shared_ptr<const ExamInfo>& exam_info_sptr,
60  const IndexRange<num_dimensions>& range,
61  const CartesianCoordinate3D<float>& origin,
62  const BasicCoordinate<num_dimensions, float>& grid_spacing);
63 
65  inline const BasicCoordinate<num_dimensions, float>& get_grid_spacing() const;
66 
68  inline void set_grid_spacing(const BasicCoordinate<num_dimensions, float>& grid_spacing_v);
69 
70 protected:
71  inline bool actual_has_same_characteristics(DiscretisedDensity<num_dimensions, elemT> const&,
72  std::string& explanation) const override;
73 
75 
84  actual_get_relative_coordinates_for_indices(const BasicCoordinate<num_dimensions, float>& indices) const override;
85 
87 
96  actual_get_index_coordinates_for_relative_coordinates(const CartesianCoordinate3D<float>& coords) const override;
97 
98 private:
100 };
101 
102 END_NAMESPACE_STIR
103 
105 #endif
This class defines ranges which can be &#39;irregular&#39;.
Definition: ArrayFunctionObject.h:32
This abstract class is the basis for images on a Cartesian grid.
Definition: DiscretisedDensityOnCartesianGrid.h:44
defines the stir::DiscretisedDensity class
inline implementations for stir::DiscretisedDensityOnCartesianGrid
This abstract class is the basis for all image representations.
Definition: FBP2DReconstruction.h:35