STIR  6.2.0
PixelsOnCartesianGrid.h
Go to the documentation of this file.
1 //
2 //
3 /*
4  Copyright (C) 2000 PARAPET partners
5  Copyright (C) 2000- 2007, Hammersmith Imanet Ltd
6 
7  SPDX-License-Identifier: Apache-2.0 AND License-ref-PARAPET-license
8 
9  See STIR/LICENSE.txt for details
10 */
11 #ifndef __stir_PixelsOnCartesianGrid_H__
12 #define __stir_PixelsOnCartesianGrid_H__
13 
28 
29 START_NAMESPACE_STIR
30 
31 class ProjDataInfo;
32 
39 template <class elemT>
41 {
42 
43 public:
45  inline PixelsOnCartesianGrid();
46 
48  inline PixelsOnCartesianGrid(const Array<2, elemT>& v,
49  const CartesianCoordinate3D<float>& origin,
50  const BasicCoordinate<2, float>& grid_spacing);
51 
53  inline PixelsOnCartesianGrid(const IndexRange<2>& range,
54  const CartesianCoordinate3D<float>& origin,
55  const BasicCoordinate<2, float>& grid_spacing);
56 
57 #if 0
58 // disabled these 2 constructors. they were never implemented.
60 
62 PixelsOnCartesianGrid(const ProjDataInfo * proj_data_info_ptr,
63  const float zoom,
64  const CartesianCoordinate3D<float>& origin,
65  const bool make_xy_size_odd = true);
66 
67 PixelsOnCartesianGrid(const ProjDataInfo * proj_data_info_ptr,
68  const float zoom,
69  const CartesianCoordinate3D<float>& origin,
70  const int xy_size);
71 #endif
72 
74 #ifdef STIR_NO_COVARIANT_RETURN_TYPES
76 #else
78 #endif
79  get_empty_copy() const override;
80 
82  PixelsOnCartesianGrid<elemT>* get_empty_pixels_on_cartesian_grid() const;
83 
84  // TODO covariant return types
85 
86 #ifdef STIR_NO_COVARIANT_RETURN_TYPES
88 #else
90 #endif
91  clone() const override;
92 
93  inline int get_x_size() const;
94 
95  inline int get_y_size() const;
96 
97  inline int get_min_x() const;
98 
99  inline int get_min_y() const;
100 
101  inline int get_max_x() const;
102 
103  inline int get_max_y() const;
104 
106  inline CartesianCoordinate2D<float> get_pixel_size() const;
107 
109  inline void set_pixel_size(const BasicCoordinate<2, float>&) const;
110 };
111 
112 END_NAMESPACE_STIR
113 
115 #endif
This abstract class is the basis for images on a Cartesian grid.
Definition: DiscretisedDensityOnCartesianGrid.h:44
defines the stir::CartesianCoordinate2D<coordT> class
defines the stir::DiscretisedDensityOnCartesianGrid class
a templated class for 2-dimensional coordinates.
Definition: CartesianCoordinate2D.h:44
This class is used to represent pixelised densities on a rectangular grid (2D).
Definition: PixelsOnCartesianGrid.h:40
class BasicCoordinate<int num_dimensions, typename coordT> defines num_dimensions -dimensional coordi...
Definition: BasicCoordinate.h:53
inline implementations for the stir::PixelsOnCartesianGrid class
An (abstract base) class that contains information on the projection data.
Definition: ProjDataInfo.h:69
This abstract class is the basis for all image representations.
Definition: FBP2DReconstruction.h:35