ImageD  v2_7_5 (24.06.22)
ImageD is an image processing software designed for rapid prototyping and implementing algorithms and solutions for science, research and teaching.
d_value_distribution_list.h
Go to the documentation of this file.
1 /************************************
2  * added: 12.12.2018 *
3  * author: David Eilenstein *
4  * contact: D.Eilenstein@gsi.de *
5  * project: ImageD *
6  * facility: GSI Darmstadt, Ger *
7  ************************************/
8 
9 #ifndef D_VALUE_DISTRIBUTION_LIST_H
10 #define D_VALUE_DISTRIBUTION_LIST_H
11 
12 //own
13 #include <d_enum.h>
14 #include <d_component_list.h>
15 #include <d_stat.h>
16 
17 //general
18 #include <iostream>
19 #include <vector>
20 #include <algorithm>
21 #include <cmath>
22 #include <fstream>
23 
24 //Qt
25 #include <QString>
26 #include <QDebug>
27 #include <QStringList>
28 #include <QDir>
29 #include <QFileInfo>
30 
31 //openCV
32 #include <opencv2/core/core.hpp>
33 #include <opencv2/highgui/highgui.hpp>
34 #include <opencv2/imgproc/imgproc.hpp>
35 
36 //namespaces
37 using namespace std;
38 //using namespace cv; (prohibited because of abigous names with qtdatavisualization)
39 #include <d_opencv_typedefs.h>
40 
46 {
47 public:
49  D_Value_Distribution_List(Mat *pMA_Label, Mat *pMA_Value, int connectivity = 8);
50 
51  //set
52  int set_Mats(Mat *pMA_Label, Mat *pMA_Value, int connectivity = 8);
53 
54  //get
55  D_Component_List *get_CompList() {return &m_CompList;}
56  size_t get_size() {return m_CompList.get_size();}
57  double get_Values(int comp, int axe, int cla, int val);
58  vector<double> get_Values(int comp, int axe, int cla);
59  vector<vector<double>> get_Values(int comp, int axe);
60  vector<vector<vector<double>>> get_Values(int comp);
61  vector<vector<vector<vector<double>>>> get_Values();
62  double get_Stat(int comp, int axe, int cla, int stat);
63  vector<double> get_Stat(int comp, int axe, int cla);
64  vector<vector<double>> get_Stat(int comp, int axe);
65  vector<vector<vector<double>>> get_Stat(int comp);
66  vector<vector<vector<vector<double>>>> get_Stat();
67  vector<vector<double>> get_Axe(int axe, int stat = c_STAT_MEAN_ARITMETIC);
68 
69 
70 
71  //calc
72  void calc_All();
73  void calc_ComAxeClaVal();
74  void calc_ComAxeClaSta();
75 
76 private:
77  bool m_Mats_Set = false;
78  bool Calced_All = false;
79 
80  D_Component_List m_CompList;
81  Mat MA_Values;
82 
83  bool Calced_ComAxeClaVal = false;
84  bool Calced_ComAxeClaSta = false;
85  vector<vector<vector<vector<double>>>> vvvv_ComAxeClaVal; //Component, Axis, Class, Value
86  vector<vector<vector<vector<double>>>> vvvv_ComAxeClaSta; //Component, Axis, Class, Stat
87 };
88 
89 #endif // D_VALUE_DISTRIBUTION_LIST_H
c_AXE_POLAR_RADIUS
@ c_AXE_POLAR_RADIUS
Definition: d_enum.h:2144
D_Value_Distribution_List::calc_ComAxeClaVal
void calc_ComAxeClaVal()
Definition: d_value_distribution_list.cpp:255
Mat
cv::Mat Mat
Definition: d_opencv_typedefs.h:28
ER_okay
@ ER_okay
Definition: d_enum.h:133
D_Value_Distribution_List::D_Value_Distribution_List
D_Value_Distribution_List()
Definition: d_value_distribution_list.cpp:11
D_Value_Distribution_List
The D_Value_Distribution_List class inherits D_Component_List and calculates the statistical distribu...
Definition: d_value_distribution_list.h:46
D_Value_Distribution_List::get_CompList
D_Component_List * get_CompList()
Definition: d_value_distribution_list.h:55
Point2f
cv::Point2f Point2f
Definition: d_opencv_typedefs.h:37
D_Component_List::size
size_t size()
Definition: d_component_list.h:94
c_AXE_CARTESIAN_Y
@ c_AXE_CARTESIAN_Y
Definition: d_enum.h:2143
d_value_distribution_list.h
D_Component_List::get_Offset
Point get_Offset(int comp)
Definition: d_component_list.h:73
ER_size_missmatch
@ ER_size_missmatch
Definition: d_enum.h:141
D_Value_Distribution_List::get_Stat
vector< vector< vector< vector< double > > > > get_Stat()
Definition: d_value_distribution_list.cpp:205
c_AXE_POLAR_ANGLE
@ c_AXE_POLAR_ANGLE
Definition: d_enum.h:2145
c_FEAT_RECT_AXEPAR_WIDTH
@ c_FEAT_RECT_AXEPAR_WIDTH
Definition: d_enum.h:1370
c_AXE_NUMBER_OF
@ c_AXE_NUMBER_OF
Definition: d_enum.h:2146
D_Value_Distribution_List::get_Values
vector< vector< vector< vector< double > > > > get_Values()
Definition: d_value_distribution_list.cpp:151
ER_bitdepth_bad
@ ER_bitdepth_bad
Definition: d_enum.h:138
c_FEAT_CIRC_CIRCUMS_RADIUS
@ c_FEAT_CIRC_CIRCUMS_RADIUS
Definition: d_enum.h:1390
D_Value_Distribution_List::get_Axe
vector< vector< double > > get_Axe(int axe, int stat=c_STAT_MEAN_ARITMETIC)
Definition: d_value_distribution_list.cpp:213
ER_type_bad
@ ER_type_bad
Definition: d_enum.h:136
D_Value_Distribution_List::calc_All
void calc_All()
Definition: d_value_distribution_list.cpp:239
ER_channel_bad
@ ER_channel_bad
Definition: d_enum.h:144
d_component_list.h
D_Component_List::get_Centroid
Point2f get_Centroid(int comp)
Definition: d_component_list.h:69
c_FEAT_RECT_AXEPAR_HEIGHT
@ c_FEAT_RECT_AXEPAR_HEIGHT
Definition: d_enum.h:1378
D_Component_List::set_Mat
int set_Mat(Mat *pMA_BinaryOrLabel, int connectivity=8)
Definition: d_component_list.cpp:22
D_Value_Distribution_List::get_size
size_t get_size()
Definition: d_value_distribution_list.h:56
D_Component_List
The D_Component_List class is a list of D_Component representing the blobs in a binary image.
Definition: d_component_list.h:46
d_opencv_typedefs.h
d_enum.h
D_Value_Distribution_List::calc_ComAxeClaSta
void calc_ComAxeClaSta()
Definition: d_value_distribution_list.cpp:345
D_Component_List::get_Feature
double get_Feature(int comp, int feat)
Definition: d_component_list.h:60
c_STAT_NUMBER_OF_STATS
@ c_STAT_NUMBER_OF_STATS
Definition: d_enum.h:795
Rad2Grad
const double Rad2Grad
Definition: d_enum.h:2541
D_Value_Distribution_List::set_Mats
int set_Mats(Mat *pMA_Label, Mat *pMA_Value, int connectivity=8)
Definition: d_value_distribution_list.cpp:21
c_AXE_CARTESIAN_X
@ c_AXE_CARTESIAN_X
Definition: d_enum.h:2142
D_Stat::Calc_Stats
static int Calc_Stats(vector< double > *v_stats, vector< double > v_data, bool calc_sorted)
Definition: d_stat.cpp:16
c_STAT_MEAN_ARITMETIC
@ c_STAT_MEAN_ARITMETIC
Definition: d_enum.h:740
D_Component_List::get_Coordinates
vector< Point > get_Coordinates(int comp)
Definition: d_component_list.h:89
d_stat.h