STIR 6.4.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
29START_NAMESPACE_STIR
30
31class ProjDataInfo;
32
39template <class elemT>
41{
42
43public:
45 inline PixelsOnCartesianGrid();
46
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
62PixelsOnCartesianGrid(const ProjDataInfo * proj_data_info_ptr,
63 const float zoom,
64 const CartesianCoordinate3D<float>& origin,
65 const bool make_xy_size_odd = true);
66
67PixelsOnCartesianGrid(const ProjDataInfo * proj_data_info_ptr,
68 const float zoom,
69 const CartesianCoordinate3D<float>& origin,
70 const int xy_size);
71#endif
72
75
78
79 PixelsOnCartesianGrid<elemT>* clone() const override;
80
81 inline int get_x_size() const;
82
83 inline int get_y_size() const;
84
85 inline int get_min_x() const;
86
87 inline int get_min_y() const;
88
89 inline int get_max_x() const;
90
91 inline int get_max_y() const;
92
95
97 inline void set_pixel_size(const BasicCoordinate<2, float>&) const;
98};
99
100END_NAMESPACE_STIR
101
103#endif
defines the stir::CartesianCoordinate2D<coordT> class
defines the stir::DiscretisedDensityOnCartesianGrid class
inline implementations for the stir::PixelsOnCartesianGrid class
This class defines multi-dimensional (numeric) arrays.
Definition Array.h:78
class BasicCoordinate<int num_dimensions, typename coordT> defines num_dimensions -dimensional coordi...
Definition BasicCoordinate.h:57
a templated class for 2-dimensional coordinates.
Definition CartesianCoordinate2D.h:45
a templated class for 3-dimensional coordinates.
Definition CartesianCoordinate3D.h:53
DiscretisedDensityOnCartesianGrid()
Definition DiscretisedDensityOnCartesianGrid.inl:30
This class defines ranges which can be 'irregular'.
Definition IndexRange.h:69
CartesianCoordinate2D< float > get_pixel_size() const
is the same as get_grid_spacing(), but now returns CartesianCoordinate2D for convenience
Definition PixelsOnCartesianGrid.inl:88
PixelsOnCartesianGrid()
Construct an empty PixelsOnCartesianGrid.
Definition PixelsOnCartesianGrid.inl:24
PixelsOnCartesianGrid< elemT > * get_empty_pixels_on_cartesian_grid() const
Like get_empty_discretised_density (for backwards compatibility)
Definition PixelsOnCartesianGrid.inl:109
PixelsOnCartesianGrid< elemT > * clone() const override
Allocate a new DiscretisedDensity object which is a copy of the current one.
Definition PixelsOnCartesianGrid.inl:117
PixelsOnCartesianGrid< elemT > * get_empty_copy() const override
Definition of the pure virtual defined in DiscretisedDensity.
Definition PixelsOnCartesianGrid.inl:102
void set_pixel_size(const BasicCoordinate< 2, float > &) const
is the same as set_grid_spacing()
Definition PixelsOnCartesianGrid.inl:95
An (abstract base) class that contains information on the projection data.
Definition ProjDataInfo.h:70