ddt  0.1
imageStats.hpp
Go to the documentation of this file.
1 // @copyright
2 // (c) Copyright ESO 2020
3 // All Rights Reserved
4 // ESO (eso.org) is an Intergovernmental Organization, and therefore special
5 // legal conditions apply.
6 //
7 // @file imageStats.hpp
8 // @brief Image analysis and statistic function declaration.
9 //
10 // This file is part of the DDT Image Handling Library and
11 // provides functions to analyse and calculate statistic values for CPL images.
12 //
13 // @author Christoph Bortlisz, CGI
14 // @since 2020/07/29
15 //
16 
17 #ifndef IMAGESTATS_HPP_
18 #define IMAGESTATS_HPP_
19 
20 //#include <algorithm>
21 //#include <cctype>
22 #include <list>
23 #include <vector>
24 
25 //#include <sys/stat.h>
26 
27 #include <cpl.h>
28 
29 // namespace ddt {
30 
46 typedef struct CplStatistics {
50  double min_val;
54  double max_val;
58  double mean_val;
62  double rms_val;
66  int pix_num;
68 
74 double MaxPixelCplImage(const cpl_image* image);
75 
85 double MaxPixelCplImageWindow(const cpl_image* image, int llx, int lly, int urx,
86  int ury);
87 
93 double MinPixelCplImage(const cpl_image* image);
94 
104 double MinPixelCplImageWindow(const cpl_image* image, int llx, int lly, int urx,
105  int ury);
106 
112 double MeanPixelCplImage(const cpl_image* image);
113 
123 double MeanPixelCplImageWindow(const cpl_image* image, int llx, int lly,
124  int urx, int ury);
125 
131 double RmsValueCplImage(const cpl_image* image);
132 
143 double RmsValueCplImageWindow(const cpl_image* image, int llx, int lly, int urx,
144  int ury);
145 
152 cpl_stats* StatsCplImage(const cpl_image* image);
153 
164 cpl_stats* StatsCplImageWindow(const cpl_image* image, int llx, int lly,
165  int urx, int ury);
166 
173 double RmsValueCplStats(const cpl_stats* stats_cpl);
174 
182 CplStatistics* StatisticsCplImage(const cpl_image* image);
183 
195 CplStatistics* StatisticsCplImageWindow(const cpl_image* image, int llx,
196  int lly, int urx, int ury);
197 
205 CplStatistics* StatisticsCplStats(const cpl_stats* stats_cpl);
206 
216 bool FwhmValuesCplImage(cpl_image* image, int x_pos, int y_pos, double* fwhm_x,
217  double* fwhm_y);
218 
225 cpl_apertures* AperturesCplImage(const cpl_image* image, double sigma);
226 
233 bool AperturesCplImageDump(const char* file_name, cpl_apertures* apertures);
234 
242 bool MinMaxPixelsCplImage(const cpl_image* image, double* min, double* max);
243 
253 bool MedianMinMaxPixelsCplImage(const cpl_image* image, double* min,
254  double* max, double kernel_size = 5);
255 
264 double PixelValueCplImage(cpl_image* image, int x_pos, int y_pos,
265  int* is_rejected);
266 
274 void GetHistogram(const cpl_image* image, const int min_value,
275  const int max_value, std::vector<int>& distribution);
276 
286 void GetHistogramBins(const cpl_image* image, const int min_value,
287  const int max_value, std::vector<int>& distribution);
288 
298 void GetCutValuesPercentage(const cpl_image* image, const double percentage,
299  double* min_value, double* max_value);
300 //} // namespace ddt
301 
302 #endif /* IMAGESTATS_HPP_ */
GetCutValuesPercentage
void GetCutValuesPercentage(const cpl_image *image, const double percentage, double *min_value, double *max_value)
Definition: imageStats.cpp:490
PixelValueCplImage
double PixelValueCplImage(cpl_image *image, int x_pos, int y_pos, int *is_rejected)
Definition: imageStats.cpp:413
CplStatistics::min_val
double min_val
Definition: imageStats.hpp:50
GetHistogramBins
void GetHistogramBins(const cpl_image *image, const int min_value, const int max_value, std::vector< int > &distribution)
Definition: imageStats.cpp:445
CplStatistics::rms_val
double rms_val
Definition: imageStats.hpp:62
StatsCplImage
cpl_stats * StatsCplImage(const cpl_image *image)
Definition: imageStats.cpp:155
MinPixelCplImageWindow
double MinPixelCplImageWindow(const cpl_image *image, int llx, int lly, int urx, int ury)
Definition: imageStats.cpp:78
GetHistogram
void GetHistogram(const cpl_image *image, const int min_value, const int max_value, std::vector< int > &distribution)
Definition: imageStats.cpp:420
StatisticsCplImageWindow
CplStatistics * StatisticsCplImageWindow(const cpl_image *image, int llx, int lly, int urx, int ury)
Definition: imageStats.cpp:225
MinMaxPixelsCplImage
bool MinMaxPixelsCplImage(const cpl_image *image, double *min, double *max)
Definition: imageStats.cpp:313
StatisticsCplStats
CplStatistics * StatisticsCplStats(const cpl_stats *stats_cpl)
Definition: imageStats.cpp:240
MaxPixelCplImageWindow
double MaxPixelCplImageWindow(const cpl_image *image, int llx, int lly, int urx, int ury)
Definition: imageStats.cpp:55
CplStatistics
struct CplStatistics CplStatistics
CplStatistics::pix_num
int pix_num
Definition: imageStats.hpp:66
MinPixelCplImage
double MinPixelCplImage(const cpl_image *image)
Definition: imageStats.cpp:65
AperturesCplImage
cpl_apertures * AperturesCplImage(const cpl_image *image, double sigma)
Definition: imageStats.cpp:283
StatsCplImageWindow
cpl_stats * StatsCplImageWindow(const cpl_image *image, int llx, int lly, int urx, int ury)
Definition: imageStats.cpp:171
RmsValueCplStats
double RmsValueCplStats(const cpl_stats *stats_cpl)
Definition: imageStats.cpp:185
CplStatistics
Definition: imageStats.hpp:46
StatisticsCplImage
CplStatistics * StatisticsCplImage(const cpl_image *image)
Definition: imageStats.cpp:206
RmsValueCplImageWindow
double RmsValueCplImageWindow(const cpl_image *image, int llx, int lly, int urx, int ury)
Definition: imageStats.cpp:134
MedianMinMaxPixelsCplImage
bool MedianMinMaxPixelsCplImage(const cpl_image *image, double *min, double *max, double kernel_size=5)
Definition: imageStats.cpp:353
CplStatistics::max_val
double max_val
Definition: imageStats.hpp:54
CplStatistics::mean_val
double mean_val
Definition: imageStats.hpp:58
RmsValueCplImage
double RmsValueCplImage(const cpl_image *image)
Definition: imageStats.cpp:111
FwhmValuesCplImage
bool FwhmValuesCplImage(cpl_image *image, int x_pos, int y_pos, double *fwhm_x, double *fwhm_y)
Definition: imageStats.cpp:265
MaxPixelCplImage
double MaxPixelCplImage(const cpl_image *image)
Definition: imageStats.cpp:42
MeanPixelCplImageWindow
double MeanPixelCplImageWindow(const cpl_image *image, int llx, int lly, int urx, int ury)
Definition: imageStats.cpp:101
MeanPixelCplImage
double MeanPixelCplImage(const cpl_image *image)
Definition: imageStats.cpp:88
AperturesCplImageDump
bool AperturesCplImageDump(const char *file_name, cpl_apertures *apertures)
Definition: imageStats.cpp:293