STIR 6.4.0
PixelsOnCartesianGrid.inl
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*/
21START_NAMESPACE_STIR
22
23template <class elemT>
27
28template <class elemT>
30 const CartesianCoordinate3D<float>& origin,
31 const BasicCoordinate<2, float>& grid_spacing)
32 : DiscretisedDensityOnCartesianGrid<2, elemT>(v.get_index_range(), origin, grid_spacing)
33{
35}
36
37template <class elemT>
39 const CartesianCoordinate3D<float>& origin,
40 const BasicCoordinate<2, float>& grid_spacing)
41 : DiscretisedDensityOnCartesianGrid<2, elemT>(range, origin, grid_spacing)
42{}
43
44template <class elemT>
45int
46PixelsOnCartesianGrid<elemT>::get_min_y() const
47{
48 return this->get_length() == 0 ? 0 : this->get_min_index();
49}
50
51template <class elemT>
52int
53PixelsOnCartesianGrid<elemT>::get_min_x() const
54{
55 return this->get_length() == 0 ? 0 : (*this)[get_min_y()].get_min_index();
56}
57
58template <class elemT>
59int
60PixelsOnCartesianGrid<elemT>::get_x_size() const
61{
62 return this->get_length() == 0 ? 0 : (*this)[get_min_y()].get_length();
63}
64
65template <class elemT>
66int
67PixelsOnCartesianGrid<elemT>::get_y_size() const
68{
69 return this->get_length() == 0 ? 0 : this->get_length();
70}
71
72template <class elemT>
73int
74PixelsOnCartesianGrid<elemT>::get_max_x() const
75{
76 return this->get_length() == 0 ? 0 : (*this)[get_min_y()].get_max_index();
77}
78
79template <class elemT>
80int
81PixelsOnCartesianGrid<elemT>::get_max_y() const
82{
83 return this->get_length() == 0 ? 0 : this->get_max_index();
84}
85
86template <class elemT>
92
93template <class elemT>
94void
99
100template <class elemT>
106
107template <class elemT>
110
111{
112 return new PixelsOnCartesianGrid(this->get_index_range(), this->get_origin(), this->get_grid_spacing());
113}
114
115template <class elemT>
118{
119 return new PixelsOnCartesianGrid(*this);
120}
121END_NAMESPACE_STIR
This class defines multi-dimensional (numeric) arrays.
Definition Array.h:78
Array & operator=(Array other)
assignment operator
Definition Array.inl:176
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
const BasicCoordinate< num_dimensions, float > & get_grid_spacing() const
Definition DiscretisedDensityOnCartesianGrid.inl:58
DiscretisedDensityOnCartesianGrid()
Definition DiscretisedDensityOnCartesianGrid.inl:30
void set_grid_spacing(const BasicCoordinate< num_dimensions, float > &grid_spacing_v)
Definition DiscretisedDensityOnCartesianGrid.inl:65
const CartesianCoordinate3D< float > & get_origin() const
Return the origin.
Definition DiscretisedDensity.inl:64
This class defines ranges which can be 'irregular'.
Definition IndexRange.h:69
This class is used to represent pixelised densities on a rectangular grid (2D).
Definition PixelsOnCartesianGrid.h:41
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