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.
m_makro_foci.h
Go to the documentation of this file.
1 /************************************
2  * added: 13.11.2018 *
3  * author: Manon Nickler *
4  * contact: M.Nickler@gsi.de *
5  * project: ImageD *
6  * facility: GSI Darmstadt, Ger *
7  ************************************/
8 
9 #ifndef M_MAKRO_FOCI_H
10 #define M_MAKRO_FOCI_H
11 
12 //own
13 #include <scenemousetrack.h>
14 #include <d_img_proc.h>
15 #include <d_plot.h>
16 #include <d_storage.h>
17 #include <d_viewer.h>
18 #include <d_error_handler.h>
19 
20 //general
21 #include <iostream>
22 #include <sstream>
23 #include <fstream>
24 #include <vector>
25 #include <algorithm>
26 #include <iomanip>
27 
28 //Qt
29 #include <QMainWindow>
30 #include <QImage>
31 #include <QPixmap>
32 #include <QGraphicsScene>
33 #include <QFileInfo>
34 #include <QDir>
35 #include <QString>
36 #include <QStringList>
37 #include <QDebug>
38 #include <QMessageBox>
39 #include <QFileDialog>
40 #include <QFileInfo>
41 #include <QBuffer>
42 #include <QSpacerItem>
43 #include <QElapsedTimer>
44 #include <QDesktopServices>
45 #include <QRubberBand>
46 #include <QApplication>
47 
48 //openCV
49 #include <opencv2/core/core.hpp>
50 #include <opencv2/highgui/highgui.hpp>
51 #include <opencv2/imgproc/imgproc.hpp>
52 
53 //namespaces
54 using namespace std;
55 //using namespace cv; (prohibited because of abigous names with qtdatavisualization)
56 #include <d_opencv_typedefs.h>
57 
58 
59 #include <QMainWindow>
60 
61 namespace Ui {
62 class m_makro_foci;
63 }
64 
65 class m_makro_foci : public QMainWindow
66 {
67  Q_OBJECT
68 
69 public:
70  explicit m_makro_foci(D_Storage *pStorage,QWidget *parent = nullptr);
71  ~m_makro_foci();
72 
73  void closeEvent(QCloseEvent *event);
74  void set_ClosingPossible(bool closeable) {ClosingPossible = closeable;}
75 
76 public slots:
77 
78  void Update_ImgProc_Results();
79  void Update_Step_Results_all(int step);
80  void Update_Step_Results_av(int step);
81  void Update_Step_Results_feature();
82 
83  void Update_View();
84  void Update_Ui();
85 
86 
87 
88 private slots:
89 
90  void Update_SimpleOrMulti_Page();
91 
92  void Update_size_t();
93  void Update_nb_interval();
94  void Update_time_interval_values();
95  void Update_ComboBox_index_changes();
96  void Update_Time_scale();
97  void Ititialise_time_interval();
98 
99  // step all images
100  void step_load();
101  void Convert();
102  void Threshold();
103  void Reduction();
104  void Dilatation();
105  void Finaladd();
106 
107  int draw_circle(Mat *pMA_out, Mat *pMA_int);
108  int draw_circle(Mat *pMA_out, Mat *pMA_Out2, Mat *pMA_int,Mat *pMA_label);
109  int draw_circle_2(Mat *pMA_out, Mat *pMA_Out2, Mat *pMA_int,Mat *pMA_label,int t);
110 
111  void Update_selected_centroid();
112  void Circled_selected_centroid();
113 
114  // step average images
115  void step_average();
116  void Threshold_av();
117  void Reduction_av();
118  void Watershed_av();
119  int Image_average(vector<Mat> pvMA_In, Mat *pMA_Out);
120 // int Image_average(vector<Mat> *pvMA_In, Mat *pMA_Out);
121  int Image_proj_max_intensity(vector<Mat> pvMA_In, Mat *pMA_Out);
122  int Image_proj_max_intensity_t_positif(vector<Mat> pvMA_In, Mat *pMA_Out);
123 
124 
125  // Feature Foci
126  void Feature_Foci();
127  void Unselect_occasional_detected_foci();
128  void Interpolation_Feature_Foci();
129  void Normalization_Feature_Foci();
130  void Get_Average_Feature_Foci();
131  void Select_pertinent_Foci();
132  void Select_pertinent_Foci_Std_dev();
133  void Select_pertinent_Foci_to_unify();
134  void Select_pertinent_Foci_first_images();
135  void Unselect_decreasing_curves();
136  void Unselect_non_pertinent_Foci_User();
137  void Update_selected_Foci_array();
138  void Sort_label();
139  void Swap_foci_to_sort_label(int labelIn, int labelOut, int t);
140 
141  void Condition_emergence_time();
142  void Set_emergence_time_by_user();
143  void Vector_2_Mat(vector<vector<double>> *p_vvIn, Mat *pM_Out);
144  void Mat_2_vector(Mat *pM_In, vector<vector<double>> *p_vvOut);
145 
146  void Variance_in_time_window();
147 
148  void Filter_Intensity_values();
149  void Mean_Filter_intensity();
150  void Derivativ();
151 
152 
153  // Label Foci
154  void Label_Foci_in_time();
155  int Check_Foci_in_Circle(Mat * pIn,int* CoordX_In, int* CoordY_In, int* CoordX_Out, int* CoordY_Out,int* label_Out);
156  void Single_Circled_Focus(int label);
157  void Assigne_label_to_Foci(Mat * pIn,int label,int t, int* CoordX, int* CoordY);
158  void Update_label_state(int label, int t, const int state);
159 
160  // Histo
161  int Plot_Curves_Single_Classes(QChartView *pChartView, vector<double> *v_histx,vector<double> *v_histy, double min, double step, double time, double time_cursor,QString name_title, QString name_series, QString name_x, QString name_y, bool ignore_first);
162  void Calc_Curves();
163  void Update_Curves();
164  void Update_detail_Values();
165 
166  // Write in cvs file
167  int Save_csv_file_full();
168  void Save_info_full();
169  void Stream_Open_foci_in_time_full();
170  void Stream_Init_foci_in_time_full();
171  void Stream_End_foci_in_time_full();
172 
173  int Save_csv_file();
174  void Save_info();
175  void Save_Parameters();
176  void Save_emergence_time();
177  void Save_Picture_of_Circled_Foci();
178  void Stream_Open_foci_in_time();
179  void Stream_Init_foci_in_time();
180  void Stream_End_foci_in_time();
181 
182  // Select Background area with mouse
183  void Enable_disable_select_area();
184  void Select_bckgd_area(int, int );
185  void Delete_bckgd_area();
186  void Confirm_bckgd_area();
187  void Set_MA_area_bckgd();
188  void Get_values_backgd();
189  void Enable_Foci_Features_Tab();
190 
191  //Select foci with mouse
192  void Add_focus_user(int x, int y);
193  void Confirm_Added_focus_user();
194  void Init_add_focus_user();
195  void Delete_added_foci_user();
196 
197  // Update parameters
198  void on_pushButton_02_default_values_clicked();
199 
200  // Others
201  void Dilatation_centroid_labeled();
202  void Black_Bckgd_2_white(int step);
203 
204  void Update_displayed_time();
205 
206  //Nucleus edges
207  void Nucleus_edges();
208  int Feature_biggest_area(Mat *pMA_Out, Mat *pMA_In, int feature);
209 
210  //Parameters changed
211  void Threshold_parameters_changed();
212  void Settings_parameters_changed();
213  void Foci_tracking_parameters_changed();
214  void Foci_feature_parameters_changed();
215 
216  void on_comboBox_step_av_currentIndexChanged(int index);
217 
218  void resize_array(vector<double> *v_value, int size);
219  void resize_array(vector<vector<double>> *vv_value,int size1, int size2);
220  void resize_array(vector<vector<vector<double>>> *vvv_value, int size1, int size2, int size3);
221 
222 private:
223  Ui::m_makro_foci *ui;
224 
225  bool ClosingPossible = false;
226 
227  int Size_image_in_time;
228 
229  //error handling
230  D_Error_Handler ER;
231  void ERR(int err, QString func = "no specified", QString detail = "no specified");
232 
233  // Time interval
234  int nb_time_interval;
235  int nb_combo_time_interval=0;
236  vector<vector<int>> vv_Interval_info;
237  vector<int> v_Time_scale;
238  QStringList Time_interval_List;
239 
240  //Loaded image
241  bool Flag_loaded_image =false;
242 
243  //Data Storage
244  D_Storage *pStore;
245 
246  vector<Mat> vMA_Nuclei;
247  vector<Mat> vMA_temp;
248  vector<Mat> vMA_Average;
249  Mat MA_Average_area,MA_Average_area_without_bckgd;
250  Mat MA_Max_proj_add_focus;
251  vector<vector<Mat>> vvMA_Nuclei;
252  vector<Mat> vMA_Circled_Focus;
253  Mat MA_Result = Mat();
254 
255  unsigned int pos_dest;
256 
257  //Tracking Foci
258 
259 // vector<vector<vector<int>>> vvvCentroid_Features;
260 
261 
262  //Feature Storage
263  vector<vector<vector<double>>> vvvFeatureFoci;
264  vector<vector<vector<double>>> vvvFeatureFoci_selected;
265  int FeatureFoci_nb_label=0;
266  int FeatureFoci_nb_label_selected=0;
267  vector<int> LabelFociSelected_To_LabelFoci;
268  vector<int> LabelFoci_To_LabelFociSelected;
269 
270  vector<int> vEmergence_time;
271 
272  // Intensity values
273 
274  float IntensityMax=0,IntensityMin=0;
275  float Intensity_filter_Max=0,Intensity_filter_Min=0;
276  Mat M_foci_intensity, M_foci_intensity_filtered;
277  vector<vector<double>> vv_intensity, vv_intensity_filtered;
278 
279  //Intensity : variance in time window
280 
281  vector<vector<double>> vv_intensity_std_dev;
282 
283  // Intensity derivation
284  Mat M_foci_intensity_filter_1st_deriv, M_foci_intensity_filter_2nd_deriv;
285  vector<vector<double>> vv_intensity_filter_1st_deriv, vv_intensity_filter_2nd_deriv;
286 
287  //Statitic Intensity values
288 
289  vector<vector<vector<double>>> vvvv_stat_intensity;
290 
291  //
292  vector<double> v_labels , v_temps;
293  vector<vector<char>> vv_label_state;
294 
295  vector<vector<float>> vvFeatureFoci_Average;
296 
297  // selection Foci
298  vector<int> Foci_unselect_by_user;
299  int nb_Foci_unselect_by_user=0;
300 
301  vector<vector<int>> Foci_added_by_user;
302  int nb_Foci_added_by_user=0;
303  vector<int> vFoci_added;
304 
305  //pathes of images
306  QFileInfoList FIL_Input_Images;
307 
308 
309  //Load file name
310  QFileInfo FI_Load_File;
311  QFileInfoList FIL_Examples;
312 
313 
314  //stream to output data
315  bool Stream_Open_Foci = false;
316  ofstream OS_Stream_Foci_Info;
317 // vector<ofstream>OS_Stream_Details_Foci;
318  QDir DIR_Stream_Foci;
319 
320 
321  //Display images
322  D_Viewer V_Nuclei_tab_Average;
323  D_Viewer V_Nuclei_img_proc;
324  D_Viewer V_Nuclei_Label_Foci;
325  D_Viewer V_Nuclei_tab_Results;
326  D_Viewer V_Nuclei_tab_Add_focus;
327  D_Viewer V_Nuclei_tab_Curves;
328 
329  //Stuff needed to display hist
330  QChartView *ChartView_Hist;
331  QChart *Chart_Hist;
332 
333  //Statusbar
334  QLabel *L_SB_ValAtPos;
335  QLabel *L_SB_Path;
336  QLabel *L_SB_State;
337 
338  // Select bckgd
339 
340  bool Flag_selected_Bckgd;
341  QRubberBand* rubberBand;
342  vector<vector<int>> vv_Feature_area_bckgd;
343  int nb_area_bckgd = 0;
344  vector<double> Bckgd_in_nuclei,Bckgd_out_nuclei;
345  vector<double> v_stats_bckgd_in, v_stats_bckgd_out;
346 
347  //Tabs
348  enum e_TAB
349  {
350  e_TAB_AVERAGE,
351  e_TAB_IMG_PROC,
352  e_TAB_RESULTS,
353  e_TAB_CURVES,
354  e_TAB_SAVE
355  };
356 
357  //AV img
358  enum e_AV_IMG
359  {
360  e_AV_IMG_ORIGINAL,
361  e_AV_IMG_BLUR,
362  e_AV_IMG_AVERAGE_IMAGE,
363  e_AV_IMG_THRESHOLD,
364  e_AV_IMG_REDUCE_CENTROID,
365  e_AV_IMG_LABEL_MASK
366  };
367 
368  //Img Proc
369  enum e_IMG_PROC
370  {
371  e_IMG_PROC_ORIGINAL,
372  e_IMG_PROC_THRESHOLD,
373  e_IMG_PROC_REDUCE
374  };
375 
376 
377  //Error Codes
378  unsigned static const int
379  ER_okay = 0,
380  ER_other = 1,
381  ER_empty = 2,
382  ER_type_bad = 3,
383  ER_type_missmatch = 4,
384  ER_bitdepth_bad = 5,
386  ER_size_bad = 7,
387  ER_size_missmatch = 8,
388  ER_parameter_bad = 9,
390  ER_channel_bad = 11,
393 
394  //Single page or multi page
395  static const unsigned int
396  c_ST_single_page = 0,
397  c_ST_multi_page = 1;
398 
399  //Steps Count
400  static const int
401  c_SC_NUCLEI = 21;
402 
403  //Nuclei Steps
404  enum M_NUCLEI_STEP_PROCESS {
405  c_ST_N_LOAD ,
406  c_ST_N_INPUT_CONV_8BIT ,
407  c_sT_N_THRESHOLD ,
408  c_sT_N_REDUCTION ,
409  c_sT_N_DILATATION_WITHOUT_LABEL,
410  c_sT_N_FOCI_NO_BKGRD,
411  c_sT_N_AVERAGE_INTENSITY_FOCI,
412  c_sT_N_Label_in_time ,
413  c_sT_N_CENTROID_SELECTED,
414  c_sT_N_Label_in_time_dilated,
415  c_sT_N_Label_in_time_CIRCLED_without_labels,
416  c_sT_N_Label_in_time_CIRCLED_with_labels,
417  c_sT_N_Label_interpoled_centroid,
418  c_ST_N_INPUT_CONV_8BIT_bigger_DIM,
419  c_ST_N_INPUT_CONV_16BIT,
420  c_ST_N_TEMP,
421  c_ST_N_Otsu_threshold,
422  c_ST_N_Convex_hull,
423  c_ST_N_Contour_nuclei
424 };
425 
426  //vMA_Average step
427  enum M_AVERAGE_STEP {
428  c_sT_Max_Proj,
429  c_sT_Max_Proj_T_positives,
430  c_sT_Max_Proj_Threshold,
431  c_sT_Max_Proj_Reducted,
432  c_sT_Max_Proj_Watershed
433  };
434 
435  // Feature image Processing
436  static const unsigned int
437  c_sT_thickness_centroid =1;
438 
439  // Displayed Nuclei Steps Tab 1
440  static const unsigned int
441  c_sT_N_AVERAGE_IMAGE = 2,
442  c_sT_N_THRESHOLD_AVERAGE_IMG = 3,
443  c_sT_N_REDUCTION_AVERAGE_IMG = 4,
444  c_sT_N_WATERSHED_AVERAGE_IMG = 5,
445  c_sT_N_AVERAGE_INTENSITY = 6;
446 
447  // Displayed Nuclei Steps Tab 2
448  static const unsigned int
449  c_ST_N_INPUT_CONV_8BIT_VIEW = 0,
450  c_sT_N_THRESHOLD_VIEW = 1,
451  c_sT_N_REDUCTION_VIEW = 2,
452  c_sT_N_CIRCLED_NUCLEUS = 3;
453 
454  // Displayed Nuclei Steps Tab 4
455  static const unsigned int
456  c_sT_N_CIRCLED_FOCI_VIEW =0,
457  c_sT_N_ADD_FOCUS =1;
458 
459  //Time intervals values
460 
461  static const int
462  c_sT_interval_info_number =3,
463 
464  c_sT_Interval_info_From =0,
465  c_sT_Interval_info_To =1,
466  c_sT_Interval_info_Value =2;
467 
468 
469 
470  //Number of image in time
471  static const int
472  c_size_time = 80;
473 
474  // FeatureFoci
475 
476  static const unsigned int
477  c_sT_N_FEATURE_AVERAGE_IMG = 0;
478 
479  //
480  const int c_nb_Array_intensity= 4;
481 
482  static const unsigned int
483  c_sT_Array_intensity_normalized =0,
484  c_sT_Array_intensity_normalized_filter =1,
485  c_sT_Array_intensity_normalized_filter_1st_deriv =2,
486  c_sT_Array_intensity_normalized_filter_2nd_deriv =3;
487 
488 
489  //Foci
490  static const int
491 
492  c_sT_Nb_label_max =10000;
493 
494  // Background value
495  static const int
496  c_sT_Value_bckgd_centroid =0,
497  c_sT_Value_centroid =255,
498 
499  c_sT_Value_bckgd_foci_labeled =0;
500 
501  // FeatureFoci Storage
502  //vvvFeatureFoci[label][time][c_sT_Feature_Foci]
503  //vvvFeatureFoci_selected[label][time][c_sT_Feature_Foci]
504  static const int
505  c_sT_Feature_Foci =8,
506 
507  c_sT_Feature_Foci_state =0,
508  c_sT_state_unassigned =0,
509  c_sT_state_assigned =1,
510  c_sT_state_lost =2,
511  c_sT_state_interpolated =3,
512  c_sT_Feature_Foci_coordX =1,
513  c_sT_Feature_Foci_coordY =2,
514  c_ST_Feature_Foci_Nb_pixels =3,
515  c_ST_Feature_Foci_Intensity =4,
516  c_ST_Feature_Foci_Intensity_norm=5,
517  c_sT_Feature_Foci_label =6,
518  c_sT_Feature_Foci_selected =7;
519 
520  //Feature Foci with foci tracking
521  static const int
522  c_ST_interval_time =10,// 15
523 // c_sT_radius_circle = 4, -->set by user
524 
525  c_sT_Minimum_count_foci =3, // Unselect_occasional_detected_foci
526  c_sT_Minimum_average_dist =7; // Select_pertinent_Foci_to_unify
527 
528  // Condition variance
529  static const int
530  c_sT_variance_min =1;
531 
532  // Feature Foci Average Storage
533  // vvFeatureFoci_Average[label][c_sT_Feature_Foci_Average]
534  static const int
535  c_sT_Feature_Foci_Average =5,
536 
537  c_sT_Feature_Foci_Average_intensity =0,
538  c_sT_Feature_Foci_Average_min_value =1,
539  c_sT_Feature_Foci_Average_max_value =2,
540  c_sT_Feature_Foci_Average_variance =3,
541  c_sT_Feature_Foci_Average_appear_time =4;
542 
543  // Area Background
544  static const int
545  c_sT_nb_Feature_area_bckgd =4,
546 
547  c_sT_area_bckgd_label =0,
548  c_sT_label_bckgd_foci =255,
549  c_sT_label_bckgd_nuclei =125,
550  c_sT_area_bckgd_coord_X =1,
551  c_sT_area_bckgd_coord_Y =2,
552  c_sT_area_bckgd_radius =3;
553 
554 };
555 
556 #endif // M_MAKRO_FOCI_H
Mat
cv::Mat Mat
Definition: d_opencv_typedefs.h:28
ER_okay
@ ER_okay
Definition: d_enum.h:133
D_Img_Proc::Fill_Holes
static int Fill_Holes(Mat *pMA_Out, Mat *pMA_In)
Definition: d_img_proc.cpp:12257
BORDER_CONSTANT
const int BORDER_CONSTANT
Definition: d_opencv_typedefs.h:77
ADAPTIVE_THRESH_MEAN_C
const int ADAPTIVE_THRESH_MEAN_C
Definition: d_opencv_typedefs.h:145
D_Img_Proc::GammaSpread
static int GammaSpread(Mat *pMA_Out, Mat *pMA_In, double gamma, double in_min, double in_max, double out_min=0, double out_max=255, bool force_8bit=false)
Definition: d_img_proc.cpp:4903
D_Img_Proc::Threshold_Adaptive
static int Threshold_Adaptive(Mat *pMA_Out, Mat *pMA_In, int out_mode, double max_val, int adapt_mode, unsigned int mask_size, double offset)
Definition: d_img_proc.cpp:6669
d_viewer.h
d_plot.h
c_STAT_MINIMUM
@ c_STAT_MINIMUM
Definition: d_enum.h:754
D_Img_Proc::Load_From_Path
static int Load_From_Path(Mat *pMA_Out, QFileInfo FI_path)
Definition: d_img_proc.cpp:16
D_Viewer
The D_Viewer class Display images (Mat) in QGraphicsView in the user interface.
Definition: d_viewer.h:58
ER_channel_missmatch
@ ER_channel_missmatch
Definition: d_enum.h:145
D_Storage
The D_Storage class Used for storing data. There is only one instance in D_MainWindow .
Definition: d_storage.h:49
scenemousetrack.h
ER_size_missmatch
@ ER_size_missmatch
Definition: d_enum.h:141
LINE_8
const int LINE_8
Definition: d_opencv_typedefs.h:141
D_Img_Proc::Normalize
static int Normalize(Mat *pMA_Out, Mat *pMA_In, unsigned int norm, unsigned int type, double min, double max)
Definition: d_img_proc.cpp:3814
D_Img_Proc::Reduce_Centroid
static int Reduce_Centroid(Mat *pMA_Out, Mat *pMA_In, int thickness=1)
Definition: d_img_proc.cpp:16524
D_Viewer::Update_Image
void Update_Image(Mat *MA_new)
D_Viewer::Update_Image Set and show image.
Definition: d_viewer.cpp:2079
c_STAT_VARIANCE_TOTAL
@ c_STAT_VARIANCE_TOTAL
Definition: d_enum.h:744
m_makro_foci::Update_ImgProc_Results
void Update_ImgProc_Results()
Definition: m_makro_foci.cpp:394
m_makro_foci::Update_Step_Results_av
void Update_Step_Results_av(int step)
Definition: m_makro_foci.cpp:470
m_makro_foci::closeEvent
void closeEvent(QCloseEvent *event)
Definition: m_makro_foci.cpp:229
D_Storage::dir_M_FociTimeNuclei
QDir * dir_M_FociTimeNuclei()
Definition: d_storage.h:76
NORM_MINMAX
const int NORM_MINMAX
Definition: d_opencv_typedefs.h:149
D_Component_List::get_pMatLabels
Mat * get_pMatLabels()
Definition: d_component_list.h:67
D_Error_Handler::ERR
void ERR(int err, QString sender, QString func, QString detail)
D_Error_Handler::ERR pops an error message if an error occured and/or streams it to a csv file.
Definition: d_error_handler.cpp:23
c_STAT_MAXIMUM
@ c_STAT_MAXIMUM
Definition: d_enum.h:774
QSL_FeatureList
const QStringList QSL_FeatureList
Definition: d_enum.h:1457
D_Img_Proc::Reduce_Contours
static int Reduce_Contours(Mat *pMA_Out, Mat *pMA_In, int thickness=1)
Definition: d_img_proc.cpp:16575
D_Img_Proc::Combi_8UC1_binary
static int Combi_8UC1_binary(Mat *pMA_Out, Mat *pMA_In)
Definition: d_img_proc.cpp:4592
IMREAD_ANYCOLOR
const int IMREAD_ANYCOLOR
Definition: d_opencv_typedefs.h:108
D_Img_Proc::LUT_Apply_to_Label_Binary
static int LUT_Apply_to_Label_Binary(Mat *pMA_Out, Mat *pMA_Label, vector< int > vLUT, bool ignore_BG=true)
Definition: d_img_proc.cpp:15448
Point
cv::Point Point
Definition: d_opencv_typedefs.h:35
ER_bitdepth_bad
@ ER_bitdepth_bad
Definition: d_enum.h:138
ER_parameter_missmatch
@ ER_parameter_missmatch
Definition: d_enum.h:143
INTER_LINEAR
const int INTER_LINEAR
Definition: d_opencv_typedefs.h:150
c_STAT_STAN_DEV_TOTAL
@ c_STAT_STAN_DEV_TOTAL
Definition: d_enum.h:750
D_Img_Proc::Draw_Circle
static int Draw_Circle(Mat *pMA_Out, Mat *pMA_In, int x, int y, int r, int val=255, int thickness=1, bool filled=false)
Definition: d_img_proc.cpp:18255
ER_type_bad
@ ER_type_bad
Definition: d_enum.h:136
IMREAD_ANYDEPTH
const int IMREAD_ANYDEPTH
Definition: d_opencv_typedefs.h:109
d_img_proc.h
D_Viewer::set_Name
void set_Name(QString viewer_name)
Definition: d_viewer.cpp:69
D_Error_Handler
The D_Error_Handler class takes error codes from D_ERROR_ENUM and shows a popup if an error occures.
Definition: d_error_handler.h:38
FILLED
const int FILLED
Definition: d_opencv_typedefs.h:143
ER_channel_bad
@ ER_channel_bad
Definition: d_enum.h:144
D_Img_Proc::Filter_Box
static int Filter_Box(Mat *pMA_Out, Mat *pMA_In, int size_x, int size_y, int border, int out_depth, bool norm)
Definition: d_img_proc.cpp:9052
m_makro_foci.h
m_makro_foci::Update_Step_Results_all
void Update_Step_Results_all(int step)
Definition: m_makro_foci.cpp:499
MORPH_DILATE
const int MORPH_DILATE
Definition: d_opencv_typedefs.h:88
Scalar
cv::Scalar Scalar
Definition: d_opencv_typedefs.h:30
D_Component_List::get_FeatureVector_BG
vector< double > get_FeatureVector_BG(int feature)
Definition: d_component_list.cpp:132
ER_size_bad
@ ER_size_bad
Definition: d_enum.h:140
m_makro_foci::Update_Ui
void Update_Ui()
Definition: m_makro_foci.cpp:355
D_Viewer::set_GV
void set_GV(QGraphicsView *GV_ui)
Definition: d_viewer.cpp:49
D_Component_List::set_Mat
int set_Mat(Mat *pMA_BinaryOrLabel, int connectivity=8)
Definition: d_component_list.cpp:22
m_makro_foci::Update_Step_Results_feature
void Update_Step_Results_feature()
Definition: m_makro_foci.cpp:576
m_makro_foci
Definition: m_makro_foci.h:66
Ui
Definition: d_analysiswindow.h:58
ER_other
@ ER_other
Definition: d_enum.h:134
D_Img_Proc::Morphology_Elemental
static int Morphology_Elemental(Mat *pMA_Out, Mat *pMA_In, int morph_type, int elem_type, unsigned int elem_size_X, unsigned int elem_size_Y, int border_type, unsigned int iterations)
Definition: d_img_proc.cpp:7041
ER_bitdepth_missmatch
@ ER_bitdepth_missmatch
Definition: d_enum.h:139
m_makro_foci::~m_makro_foci
~m_makro_foci()
Definition: m_makro_foci.cpp:224
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
ADAPTIVE_THRESH_GAUSSIAN_C
const int ADAPTIVE_THRESH_GAUSSIAN_C
Definition: d_opencv_typedefs.h:146
FONT_HERSHEY_TRIPLEX
const int FONT_HERSHEY_TRIPLEX
Definition: d_opencv_typedefs.h:138
d_storage.h
c_FEAT_CONVEX_AREA
@ c_FEAT_CONVEX_AREA
Definition: d_enum.h:1348
ER_type_missmatch
@ ER_type_missmatch
Definition: d_enum.h:137
MORPH_ELLIPSE
const int MORPH_ELLIPSE
Definition: d_opencv_typedefs.h:87
c_GEO_CONVEX_HULL
@ c_GEO_CONVEX_HULL
Definition: d_enum.h:2054
d_opencv_typedefs.h
m_makro_foci::m_makro_foci
m_makro_foci(D_Storage *pStorage, QWidget *parent=nullptr)
Definition: m_makro_foci.cpp:12
D_Img_Proc::Reduce_Geometric
static int Reduce_Geometric(Mat *pMA_Out, Mat *pMA_In, int geometric, int connectivity=8, int thickness=1, uchar value=255)
Definition: d_img_proc.cpp:16215
D_Img_Proc::Math_ImgImg_BitAnd
static int Math_ImgImg_BitAnd(Mat *pMA_Out, Mat *pMA_In1, Mat *pMA_In2)
Definition: d_img_proc.cpp:13187
d_error_handler.h
ER_parameter_bad
@ ER_parameter_bad
Definition: d_enum.h:142
D_Img_Proc::Math_ImgImg_Add
static int Math_ImgImg_Add(Mat *pMA_Out, Mat *pMA_In1, Mat *pMA_In2)
Definition: d_img_proc.cpp:13092
D_Img_Proc::Math_ImgScal_Div
static int Math_ImgScal_Div(Mat *pMA_Out, Mat *pMA_In, double divisor)
Definition: d_img_proc.cpp:13046
BORDER_DEFAULT
const int BORDER_DEFAULT
Definition: d_opencv_typedefs.h:78
D_Storage::get_Adress
Mat * get_Adress(size_t pos)
Definition: d_storage.h:54
m_makro_foci::Update_View
void Update_View()
Definition: m_makro_foci.cpp:247
D_Storage::dir_Load
QDir * dir_Load()
Definition: d_storage.h:68
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_FEAT_NUMBER_OF_FEATS
@ c_FEAT_NUMBER_OF_FEATS
Definition: d_enum.h:1455
m_makro_foci::set_ClosingPossible
void set_ClosingPossible(bool closeable)
Definition: m_makro_foci.h:74
Size
cv::Size Size
Definition: d_opencv_typedefs.h:31
c_STAT_MEAN_ARITMETIC
@ c_STAT_MEAN_ARITMETIC
Definition: d_enum.h:740
ER_index_out_of_range
@ ER_index_out_of_range
Definition: d_enum.h:146
ER_empty
@ ER_empty
Definition: d_enum.h:135
D_Storage::set_dir_Load
void set_dir_Load(QString path)
Definition: d_storage.h:96