ifw-odp  3.1.0-pre1
imageStatistics.hpp
Go to the documentation of this file.
1 
9 #ifndef ODP_IMAGE_STATISTICS_HPP
10 #define ODP_IMAGE_STATISTICS_HPP
11 
12 
13 #ifndef __cplusplus
14 #error This is a C++ include file and cannot be used from plain C
15 #endif
16 
17 // System header files
18 #include <string>
19 
20 // CPL header files
21 
22 
23 // Local header files
24 #include "cppcpl/error.hpp"
25 #include "cppcpl/image.hpp"
26 
27 
28 namespace odp {
39  class ImageStatistics : virtual public odp::Error
40  {
41  public:
48  explicit ImageStatistics(const odp::Image *image);
49 
50 
57  virtual ~ImageStatistics();
58 
59 
60  // Statistical interface functions to CPL
61 
67  double GetMin () const;
68 
74  double GetMax () const;
75 
81  double GetMean () const;
82 
88  double GetMedian () const;
89 
95  double GetStdev () const;
96 
102  double GetFlux () const;
103 
109  double GetAbsFlux() const;
110 
116  double GetSqFlux () const;
117 
129  double GetMin (const cpl_size llx,
130  const cpl_size lly,
131  const cpl_size urx,
132  const cpl_size ury) const;
133 
146  double GetMax (const cpl_size llx,
147  const cpl_size lly,
148  const cpl_size urx,
149  const cpl_size ury) const;
150 
151 
164  double GetMean (const cpl_size llx,
165  const cpl_size lly,
166  const cpl_size urx,
167  const cpl_size ury) const;
168 
169 
182  double GetMedian (const cpl_size llx,
183  const cpl_size lly,
184  const cpl_size urx,
185  const cpl_size ury) const;
186 
187 
200  double GetStdev (const cpl_size llx,
201  const cpl_size lly,
202  const cpl_size urx,
203  const cpl_size ury) const;
204 
205 
218  double GetFlux (const cpl_size llx,
219  const cpl_size lly,
220  const cpl_size urx,
221  const cpl_size ury) const;
222 
223 
224 
237  double GetAbsFlux(const cpl_size llx,
238  const cpl_size lly,
239  const cpl_size urx,
240  const cpl_size ury) const;
241 
242 
255  double GetSqFlux(const cpl_size llx,
256  const cpl_size lly,
257  const cpl_size urx,
258  const cpl_size ury) const;
259 
260 
261  private:
262 
276  double CallCplStat(double (*fp)(const cpl_image *)) const ;
277 
295  double CallCplStatBox(double (*fp)(const cpl_image *,
296  const cpl_size,
297  const cpl_size,
298  const cpl_size,
299  const cpl_size),
300  const cpl_size llx,
301  const cpl_size lly,
302  const cpl_size urx,
303  const cpl_size ury) const;
304 
305  private:
306  const odp::Image* m_image_ptr;
307  };
308 
309 }
310 
311 #include "imageStatistics.ipp"
312 
313 
314 #endif
odp::ImageStatistics::GetMedian
double GetMedian() const
Get median pixel value over an image.
odp::ImageStatistics::GetFlux
double GetFlux(const cpl_size llx, const cpl_size lly, const cpl_size urx, const cpl_size ury) const
Get sum of pixel values over a window of an image.
odp::ImageStatistics::GetAbsFlux
double GetAbsFlux() const
Get sum of absolute pixel values over an image.
odp::ImageStatistics::GetMin
double GetMin() const
Get minimum pixel value over an image.
odp::ImageStatistics::GetFlux
double GetFlux() const
Get the sum of pixel values over an image.
odp::ImageStatistics::ImageStatistics
ImageStatistics(const odp::Image *image)
Class constructor.
Definition: imageStatistics.cpp:17
odp::ImageStatistics::GetMedian
double GetMedian(const cpl_size llx, const cpl_size lly, const cpl_size urx, const cpl_size ury) const
Get median pixel value over a window of an image.
odp::ImageStatistics::GetMean
double GetMean() const
Get mean pixel value over an image.
odp::Error
This class handle the errors produced by the calling of image processing routines.
Definition: error.hpp:35
odp
Definition: array.cpp:16
odp::ImageStatistics::GetMax
double GetMax(const cpl_size llx, const cpl_size lly, const cpl_size urx, const cpl_size ury) const
Get maximum pixel value over a window of an image.
odp::ImageStatistics::GetStdev
double GetStdev(const cpl_size llx, const cpl_size lly, const cpl_size urx, const cpl_size ury) const
Get standard deviation over a window of an image.
odp::ImageStatistics::~ImageStatistics
virtual ~ImageStatistics()
Class destructor.
Definition: imageStatistics.cpp:24
odp::ImageStatistics::GetSqFlux
double GetSqFlux() const
Get sum of squared pixel values over an image.
odp::ImageStatistics::GetStdev
double GetStdev() const
Get standard deviation value over an image.
odp::ImageStatistics::GetAbsFlux
double GetAbsFlux(const cpl_size llx, const cpl_size lly, const cpl_size urx, const cpl_size ury) const
Get sum of absolute pixel values over a window of an image.
image.hpp
Image class header file.
odp::ImageStatistics
This class is interface for a CPL image statistics functions. It provides a simplified interface that...
Definition: imageStatistics.hpp:40
odp::ImageStatistics::GetMean
double GetMean(const cpl_size llx, const cpl_size lly, const cpl_size urx, const cpl_size ury) const
Get mean pixel value over a window of an image.
odp::Image
This class is C++ wrapper for a CPL image object. It provides a simplified interface that allows to c...
Definition: image.hpp:44
odp::ImageStatistics::GetMin
double GetMin(const cpl_size llx, const cpl_size lly, const cpl_size urx, const cpl_size ury) const
Get minimum pixel value over a window of an image.
odp::ImageStatistics::GetMax
double GetMax() const
Get maximum pixel value over an image.
error.hpp
Error class header file.
odp::ImageStatistics::GetSqFlux
double GetSqFlux(const cpl_size llx, const cpl_size lly, const cpl_size urx, const cpl_size ury) const
Get sum of squared pixel values over a window of an image.