STIR  6.2.0
compute_ROI_values.h
Go to the documentation of this file.
1 //
2 //
11 /*
12  Copyright (C) 2000- 2009, Hammersmith Imanet Ltd
13  This file is part of STIR.
14 
15  SPDX-License-Identifier: Apache-2.0
16 
17  See STIR/LICENSE.txt for details
18 */
19 #ifndef __stir_evaluation_compute_ROI_values__H__
20 #define __stir_evaluation_compute_ROI_values__H__
21 
24 
25 START_NAMESPACE_STIR
26 
27 template <typename coordT>
28 class CartesianCoordinate2D;
29 template <typename coordT>
30 class CartesianCoordinate3D;
31 template <typename elemT>
32 class VectorWithOffset;
33 template <int num_dimensions, typename elemT>
34 class DiscretisedDensity;
35 class Shape3D;
36 
46 
47 // TODO doc
48 
49 void compute_ROI_values_per_plane(VectorWithOffset<ROIValues>& values,
50  const DiscretisedDensity<3, float>& image,
51  const Shape3D& shape,
52  const CartesianCoordinate3D<int>& num_samples);
53 
54 void compute_ROI_values_per_plane(VectorWithOffset<ROIValues>& values,
55  const DiscretisedDensity<3, float>& image,
56  const DiscretisedDensity<3, float>& discretised_shape);
57 
58 ROIValues compute_total_ROI_values(const VectorWithOffset<ROIValues>& values);
59 
60 ROIValues compute_total_ROI_values(const DiscretisedDensity<3, float>& image,
61  const Shape3D& shape,
62  const CartesianCoordinate3D<int>& num_samples);
63 
64 ROIValues compute_total_ROI_values(const DiscretisedDensity<3, float>& image,
65  const DiscretisedDensity<3, float>& discretised_shape);
66 
67 // function that calculate the
68 void compute_plane_range_ROI_values_per_plane(VectorWithOffset<ROIValues>& values,
69  const DiscretisedDensity<3, float>& image,
70  const CartesianCoordinate2D<int>& plane_range,
71  const Shape3D& shape,
72  const CartesianCoordinate3D<int>& num_samples);
73 
74 float compute_CR_hot(ROIValues& val1, ROIValues& val2);
75 float compute_CR_cold(ROIValues& val1, ROIValues& val2);
76 float compute_uniformity(ROIValues& val);
77 
78 VectorWithOffset<float> compute_CR_hot_per_plane(VectorWithOffset<ROIValues>& val1, VectorWithOffset<ROIValues>& val2);
79 
80 VectorWithOffset<float> compute_CR_cold_per_plane(VectorWithOffset<ROIValues>& val1, VectorWithOffset<ROIValues>& val2);
81 
82 VectorWithOffset<float> compute_uniformity_per_plane(VectorWithOffset<ROIValues>& val);
83 
84 // end of doxygen group
86 
87 END_NAMESPACE_STIR
88 
89 #endif
Definition of class stir::ROIValues.
defines the stir::VoxelsOnCartesianGrid class