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_makro_mitochondrien.h
Go to the documentation of this file.
1 /************************************
2  * added: 09.10.2018 *
3  * author: David Eilenstein *
4  * contact: D.Eilenstein@gsi.de *
5  * project: ImageD *
6  * facility: GSI Darmstadt, Ger *
7  ************************************/
8 
9 #ifndef D_MAKRO_MITOCHONDRIEN_H
10 #define D_MAKRO_MITOCHONDRIEN_H
11 
12 //own
13 #include <d_enum.h>
14 #include <scenemousetrack.h>
15 #include <d_img_proc.h>
16 #include <d_plot.h>
17 #include <d_storage.h>
18 #include <d_stat.h>
19 #include <d_error_handler.h>
20 #include <d_viewer.h>
21 
22 //general
23 #include <iostream>
24 #include <sstream>
25 #include <fstream>
26 #include <vector>
27 #include <algorithm>
28 #include <iomanip>
29 
30 //Qt
31 #include <QMainWindow>
32 #include <QImage>
33 #include <QPixmap>
34 #include <QGraphicsScene>
35 #include <QFileInfo>
36 #include <QDir>
37 #include <QString>
38 #include <QDebug>
39 #include <QMessageBox>
40 #include <QFileDialog>
41 #include <QFileInfo>
42 #include <QBuffer>
43 #include <QSpacerItem>
44 #include <QElapsedTimer>
45 #include <QTextDocument>
46 #include <QTextBlock>
47 #include <QGridLayout>
48 #include <QResizeEvent>
49 #include <QMouseEvent>
50 #include <QDateTime>
51 #include <QDesktopServices>
52 #include <QUrl>
53 #include <QComboBox>
54 
55 //openCV
56 #include <opencv2/core/core.hpp>
57 #include <opencv2/highgui/highgui.hpp>
58 #include <opencv2/imgproc/imgproc.hpp>
59 
60 //namespaces
61 using namespace std;
62 //using namespace cv; (prohibited because of abigous names with qtdatavisualization)
63 #include <d_opencv_typedefs.h>
64 
65 namespace Ui {
67 }
68 
69 class D_MAKRO_Mitochondrien : public QMainWindow
70 {
71  Q_OBJECT
72 
73 public:
74  explicit D_MAKRO_Mitochondrien(D_Storage *pStorage, QWidget *parent = 0);
76 
77  void closeEvent(QCloseEvent *event);
78  void set_ClosingPossible(bool closeable) {ClosingPossible = closeable;}
79 
80 public slots:
81  void Update_ImgProc_All();
82 
83 private slots:
84  void mousePressEvent(QMouseEvent *event);
85  void resizeEvent(QResizeEvent *event);
86 
87  void Populate_CB_Single(QComboBox *CB, QStringList QSL, int index_init);
88 
89  void Update_ImgProc_Photons(unsigned int start_step);
90  void Update_ImgProc_Parameters();
91  void Convert_Parameters_8bit_All();
92  void Convert_Parameters_8bit_RoI();
93  void Update_ImgProc_Results(unsigned int start_step);
94  void Update_Step_Photons(unsigned int step);
95 
96  void Update_Results_Proc();
97  void Update_Results_Proc_Force();
98 
99  void Update_Step_Results(unsigned int step);
100 
101  void Update_Combi_Results();
102  void Update_Math_Image();
103 
104  void Update_Plot_Hist_Img();
105  void Update_Plot_Hist_Cells();
106 
107  void Update_Plot_Parameter_Pixel();
108  void Update_Plot_Parameter_Cells();
109 
110  void Update_Plot_Stat_MeanMedian();
111  void Update_Plot_Stat_CvSkewKurt();
112  void Update_Plot_Stat_Quantiles();
113 
114  void Calc_Data_All();
115  int Calc_Data_Split_Img2vv();
116  void Calc_Data_Parameter_Stats();
117 
118  void Calc_T2_Handling();
119  void Calc_NADPH_NADH_All();
120  void Calc_NADPH_NADH();
121  void Calc_NADH();
122  void Calc_NADPH();
123 
124  void Stream_Stats_Start();
125  void Stream_Init();
126  void Stream_Stats();
127  void Stream_ImagesPlots();
128  void Stream_Settings();
129  void Stream_Stats_End();
130 
131  void Update_Views();
132  void Update_View_Photons();
133  void Update_View_Parameters();
134  void Update_View_Results();
135  void Update_View(QImage *QI_Show, Mat *MA_Show, QPixmap *PX_Show, SceneMouseTrack *SC_Show, QGraphicsView *GV_Show, double *x_factor, double *y_factor);
136  void Update_Ui();
137 
138  void Populate_CB_Style();
139  void Update_Style();
140 
141  void Load_Directory();
142  void Load_Images();
143  void Clear_Queue();
144  void Next_Image();
145 
146  void Save_Image_Photons();
147  void Save_Image_Parameters();
148  void Save_Image_Results();
149  void Save_Image(QImage *QI_Save, QString name_default);
150  void Save_Image(D_Viewer *ViewerSave, QString name_default);
151  void Save_Plot();
152  void Save_Plot(QChartView *pCV_Save, QString name_default);
153 
154  //Manual RoI
155  void Get_Click_Pos(int x, int y);
156  void Draw_Line();
157  void Fill_Background();
158  void CellSep_Undo();
159  void CellSep_Load();
160  void CellSep_Save();
161  void CellSep_Open();
162  void Set_Scale_Factor_View(QImage *QI, QGraphicsView *GV);
163  void Init_Cell_Regions();
164  void Export_Cell_Regions();
165 
166  //Statusbar
167  void Update_SB_ValAtPos(int x, int y, Mat *pMA);
168 
169  //UI adapt
170  void AdaptUI_NADH_p_NADPH_MinMax();
171  void AdaptUI_Results();
172 
173  void ERR(int err, QString func = "no specified", QString detail = "no specified");
174 
175  void on_spinBox_PhoCon_Blur_Size_valueChanged(int arg1);
176 
177  void on_doubleSpinBox_PhoCon_Blur_Sigma_valueChanged(double arg1);
178 
179  void on_spinBox_PhoCon_Thres_Size_valueChanged(int arg1);
180 
181  void on_doubleSpinBox_PhoCon_Thres_Offset_valueChanged(double arg1);
182 
183  void on_comboBox_PhoVie_Step_currentIndexChanged(int index);
184 
185  void on_spinBox_PhoCon_EdgCon_Size_valueChanged(int arg1);
186 
187  void on_pushButton_PhoCon_Paint_Reset_clicked();
188 
189  void on_pushButton_ResCon_Zoom_Reset_clicked();
190 
191  void on_spinBox_His_ClassCount_valueChanged(int arg1);
192 
193  void on_comboBox_ResCon_Rubberband_currentIndexChanged(int index);
194 
195  void on_pushButton_RessCon_Zoom_In_clicked();
196 
197  void on_pushButton_ResCon_Zoom_Out_clicked();
198 
199  void on_spinBox_ParAll_ClassCount_valueChanged(int arg1);
200 
201  void on_action_Autoselect_Save_Filename_triggered(bool checked);
202 
203  void on_doubleSpinBox_ParCon_T2_Min_Const_valueChanged(double arg1);
204 
205  void on_doubleSpinBox_ParCon_T2_Max_Const_valueChanged(double arg1);
206 
207  void on_doubleSpinBox_ParCon_T2_Min_Thres_valueChanged(double arg1);
208 
209  void on_doubleSpinBox_ParCon_T2_Max_Thres_valueChanged(double arg1);
210 
211  void on_action_Show_Photons_triggered(bool checked);
212 
213  void on_action_Show_Parameters_triggered(bool checked);
214 
215  void on_action_Show_Results_triggered(bool checked);
216 
217  void on_comboBox_AnalysedImage_currentIndexChanged(int index);
218 
219  void on_radioButton_PhoCon_Paint_Line_clicked(bool checked);
220 
221  void on_comboBox_PhoCon_Paint_FillStep_currentIndexChanged(int index);
222 
223  void on_radioButton_PhoCon_Paint_Fill_clicked(bool checked);
224 
225 private:
226  Ui::D_MAKRO_Mitochondrien *ui;
227 
228  bool ClosingPossible = false;
229 
230  //Data Storage
231  Mat MA_Init;
232  D_Storage *pStore;
233  unsigned int pos_dest;
234 
235  //Files
236  QDir DIR_Input_Dir;
237  QFileInfoList FIL_Input_Images;
238  QString QS_Image_BasePath;
239  QString QS_Image_BaseName;
240  bool Auto_SaveName = false;
241 
242  //Photons
243  vector<Mat> vMA_Photons;
244 
245  //Parameters
246  vector<Mat> vMA_Parameter_All_Float;
247  vector<Mat> vMA_Parameter_All_8Bit;
248  vector<Mat> vMA_Parameter_RoI_Float;
249  vector<Mat> vMA_Parameter_RoI_8Bit;
250  QStringList QSL_Parameter_Suffixes;
251  unsigned int PARAMETERS;
252  unsigned int PARAMETERS_only_input;
253  bool param_set = false;
254  void Init_Parameters();
255  void Read_Parameters_From_UI();
256  void Populate_CB_Parameters();
257  void Init_vMA_Parameter();
258 
259  //Shading Correct
260  Mat MA_Reference;
261  void Load_Reference();
262  QFileInfo FI_Reference;
263  bool Exist_Refernce = false;
264 
265  //Output Data
266  bool Calc_Done = false;
267  bool CB_Cells_Updated = false;
268  unsigned int CellCount = 0;
269  vector<int> CellColor_LUT;
270  vector<vector<vector<double>>> vvv_Data_ParNucPix;
271  vector<vector<vector<double>>> vvv_Stat_ParNucSta;
272  void Populate_CB_Cells();
273  void Check_Parameter_Existence();
274  void Norm_Parameters();
275  bool Exist_photons = false;
276  bool Exist_t1 = false;
277  bool Exist_t2 = false;
278  bool Exist_a1 = false;
279  bool Exist_a2 = false;
280  bool Exist_chi = false;
281  bool Calced_NADPH_NADH = false;
282  bool Calced_NADH = false;
283  bool Calced_NADPH = false;
284  //vector<double> v_NADH;
285  //vector<double> v_NADPH;
286  //vector<double> v_NADPH_NADH;
287  void Populate_CB_Stat();
288  QStringList QSL_Stats;
289 
290  //Results
291  vector<Mat> vMA_Results;
292  Mat MA_Color;
293  QStringList QSL_Results;
294  void Init_QSL_Results();
295  void Populate_CB_Results();
296  void Init_MatVector(vector<Mat> *vec, unsigned int l);
297 
298  //Math
299  Mat MA_Math;
300 
301  //Manual Seperation of cells
302  //Mat MA_Cell_Regions;
303  bool ManSep_Manip = false;
304  bool ManSep_Line_Begin = true;
305  double ManSep_Scale_Factor = 1.0;
306  QPoint ManSep_Pos_Last;
307  QPoint ManSep_Pos_Curr;
308  QDir DIR_CellSep;
309  QDir DIR_CellSep_Img;
310  QFileInfo FI_CellSep;
311  bool ManSep_FromFile;
312  Mat MA_CellSep_Last;
313 
314  //Display images
315  D_Viewer Viewer_Photons;
316  D_Viewer Viewer_Parameters;
317  D_Viewer Viewer_Results;
318  /*QImage QI_Photons;
319  QImage QI_Parameters;
320  QImage QI_Results;
321  QPixmap PX_Photons;
322  QPixmap PX_Parameters;
323  QPixmap PX_Results;
324  SceneMouseTrack SC_Photons;
325  SceneMouseTrack SC_Parameters;
326  SceneMouseTrack SC_Results;
327  void Init_GraphicsView(QGraphicsView *view, SceneMouseTrack *scene);
328  double scale_factor_x_photons;
329  double scale_factor_y_photons;
330  double scale_factor_x_parameters;
331  double scale_factor_y_parameters;
332  double scale_factor_x_results;
333  double scale_factor_y_results;*/
334 
335  //Display plot
336  QChartView *ChartView_Plot;
337  QChart *Chart_Plot;
338  void Init_Plot();
339 
340  //stream to output data
341  bool Stream_Open = false;
342  ofstream OS_Stream_Summary;
343  vector<ofstream>OS_Stream_Parameters;
344  QDir DIR_Stream;
345  bool Auto_ResultsProc_blocked = false;
346 
347  //Statusbar
348  QLabel *L_SB_ValAtPos;
349  QLabel *L_SB_Size;
350 
351  //CONSTANTS
352 
353  D_Error_Handler ER;
354 
355  //Result types
356  static const unsigned int
357  c_RT_IMAGE = 0,
358  c_RT_PLOT = 1;
359  static const unsigned int
360  c_RT_IMAGE_COLOR = 0,
361  c_RT_IMAGE_MATH = 1;
362  static const unsigned int
363  c_RT_PLOT_HIST_IMG = 0,
364  c_RT_PLOT_HIST_CELL = 1,
365  c_RT_PLOT_PAR_PIXEL = 2,
366  c_RT_PLOT_PAR_CELL = 3,
367  c_RT_PLOT_STAT_MM = 4,
368  c_RT_PLOT_STAT_CSK = 5,
369  c_RT_PLOT_STAT_QUANT = 6;
370 
371  //Counts
372  static const unsigned int
373  c_SC_PHOTONS = 11,
374  c_SC_PARAMETERS = 2,
375  c_SC_RESULTS = 7;
376 
377  //Photon Steps
378  static const unsigned int
379  c_ST_PH_LOAD = 0,
380  c_ST_PH_SHADE_CORRECT = 1,
381  c_ST_PH_INPUT_CONV_8bit = 2,
382  c_ST_PH_INPUT_CONTRAST = 3,
383  c_ST_PH_INPUT_BLUR = 4,
384  c_ST_PH_BIN_THRES = 5,
385  c_ST_PH_REGIONS_EDGES = 6,
386  c_ST_PH_REGIONS_CONNECT = 7,
387  c_ST_PH_REGIONS_SEP_VIEW= 8,
388  c_ST_PH_REGIONS_LABEL = 9,
389  c_ST_PH_ROI_MITO = 10;
390 
391  //Parameter Steps
392  static const unsigned int
393  c_ST_PA_ALL = 0,
394  c_ST_PA_ROI = 1;
395  unsigned int //const after first load of images
396  INDEX_NADPH_NADH = 0,
397  INDEX_NADH = 0,
398  INDEX_NADPH = 0,
399  INDEX_T1 = 0,
400  INDEX_T2 = 0,
401  INDEX_PHOTONS = 0,
402  INDEX_A2 = 0,
403  INDEX_A1 = 0,
404  INDEX_CHI = 0;
405 
406  //Results Steps
407  static const unsigned int
408  c_ST_RE_EMPTY = 0,
409  c_ST_RE_PH_INPUT = 1,
410  c_ST_RE_PH_CONTRAST = 2,
411  c_ST_RE_PH_BINARY = 3,
412  c_ST_RE_PH_EDGES = 4,
413  c_ST_RE_PH_LABEL_NUMBER = 5,
414  c_ST_RE_PH_EDGES_NUMBER = 6;
415 };
416 
417 #endif // D_MAKRO_MITOCHONDRIEN_H
D_Plot::Plot_Stat_Multi_Custom
static int Plot_Stat_Multi_Custom(QChartView *pChartView, vector< vector< vector< double >>> *vvv_ParSetSta, unsigned int par_x, unsigned int par_y, unsigned int stat_x, unsigned int stat_y, QString name_title, QString name_series, QString name_x, QString name_y)
Definition: d_plot.cpp:3803
Mat
cv::Mat Mat
Definition: d_opencv_typedefs.h:28
ER_okay
@ ER_okay
Definition: d_enum.h:133
D_Img_Proc::Type_of_Mat
static QString Type_of_Mat(Mat *pMA_In)
Definition: d_img_proc.cpp:363
D_Img_Proc::Draw_Line
static int Draw_Line(Mat *pMA_Target, unsigned int x1, unsigned int y1, unsigned int x2, unsigned int y2, unsigned int thickness=1, double value=255)
Definition: d_img_proc.cpp:17134
c_STAT_QUANTIL_90
@ c_STAT_QUANTIL_90
Definition: d_enum.h:772
D_Img_Proc::Math_ImgImg_Diff
static int Math_ImgImg_Diff(Mat *pMA_Out, Mat *pMA_In1, Mat *pMA_In2)
Definition: d_img_proc.cpp:13125
d_makro_mitochondrien.h
c_STAT_DIST_40_0_PRZ
@ c_STAT_DIST_40_0_PRZ
Definition: d_enum.h:779
c_STAT_DIST_10_0_PRZ
@ c_STAT_DIST_10_0_PRZ
Definition: d_enum.h:776
D_MAKRO_Mitochondrien::Update_ImgProc_All
void Update_ImgProc_All()
Definition: d_makro_mitochondrien.cpp:227
D_Plot::Plot_Hist_Multi_Classes
static int Plot_Hist_Multi_Classes(QChartView *pChartView, vector< vector< double >> *vv_hist, double min_x, double max_x, double max_y, double step, QString name_title, QString name_series, QString name_x, QString name_y, bool ignore_first)
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_MAKRO_Mitochondrien::~D_MAKRO_Mitochondrien
~D_MAKRO_Mitochondrien()
Definition: d_makro_mitochondrien.cpp:186
c_STAT_QUANTIL_80
@ c_STAT_QUANTIL_80
Definition: d_enum.h:770
D_Img_Proc::Math_ImgImg_Min
static int Math_ImgImg_Min(Mat *pMA_Out, Mat *pMA_In1, Mat *pMA_In2)
Definition: d_img_proc.cpp:13232
d_viewer.h
d_plot.h
D_Img_Proc::Histo_Equal
static int Histo_Equal(Mat *pMA_Out, Mat *pMA_In)
Definition: d_img_proc.cpp:14397
c_STAT_MINIMUM
@ c_STAT_MINIMUM
Definition: d_enum.h:754
D_Img_Proc::Split_img2vv_value
static int Split_img2vv_value(vector< vector< double >> *vv_data_LabPix, Mat *pMA_Value, Mat *pMA_Label, bool ignore_0)
Definition: d_img_proc.cpp:14833
D_Viewer::Type_MA
QString Type_MA()
Definition: d_viewer.h:90
c_STAT_QUANTIL_45
@ c_STAT_QUANTIL_45
Definition: d_enum.h:763
D_Img_Proc::Math_ImgImg_Max
static int Math_ImgImg_Max(Mat *pMA_Out, Mat *pMA_In1, Mat *pMA_In2)
Definition: d_img_proc.cpp:13247
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
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
CMP_GE
const int CMP_GE
Definition: d_opencv_typedefs.h:132
CMP_LT
const int CMP_LT
Definition: d_opencv_typedefs.h:133
D_Img_Proc::Math_ImgImg_Comp
static int Math_ImgImg_Comp(Mat *pMA_Out, Mat *pMA_In1, Mat *pMA_In2, int comp)
Definition: d_img_proc.cpp:13262
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_Plot::Plot_Scatter_2D_Parameter
static int Plot_Scatter_2D_Parameter(QChartView *pChartView, vector< vector< vector< double >>> *vvv_ParSetVal, unsigned int set, unsigned int par_x, unsigned int par_y, QString name_title, QString name_series, QString name_x, QString name_y)
D_Img_Proc::Math_Special_NADPH
static int Math_Special_NADPH(Mat *pMA_NADPH, Mat *pMA_I, Mat *pMA_A2, Mat *pMA_T1, Mat *pMA_T2, float k, bool ignore_0, float T2_Min_Thres, float T2_Min_Const)
Definition: d_img_proc.cpp:13924
D_Img_Proc::Math_Special_NADPH_NADH
static int Math_Special_NADPH_NADH(Mat *pMA_NADPH_NADH, Mat *pMA_T2, bool ignore_0, float T2_Min_Thres, float T2_Max_Thres, float T2_Min_Const, float T2_Max_Const)
Definition: d_img_proc.cpp:13962
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_ABS_DEV_MED
@ c_STAT_ABS_DEV_MED
Definition: d_enum.h:775
c_STAT_DIST_80_0_PRZ
@ c_STAT_DIST_80_0_PRZ
Definition: d_enum.h:784
D_MAKRO_Mitochondrien::set_ClosingPossible
void set_ClosingPossible(bool closeable)
Definition: d_makro_mitochondrien.h:78
D_Img_Proc::Labeling
static int Labeling(Mat *pMA_Out, Mat *pMA_In, int connectivity, int out_depth)
Definition: d_img_proc.cpp:12350
c_STAT_QUARTIL_LOW
@ c_STAT_QUARTIL_LOW
Definition: d_enum.h:759
c_STAT_MAXIMUM
@ c_STAT_MAXIMUM
Definition: d_enum.h:774
D_Img_Proc::Math_ImgImg_Div
static int Math_ImgImg_Div(Mat *pMA_Out, Mat *pMA_In1, Mat *pMA_In2, double scale)
Definition: d_img_proc.cpp:13171
c_STAT_QUANTIL_95
@ c_STAT_QUANTIL_95
Definition: d_enum.h:773
MORPH_CLOSE
const int MORPH_CLOSE
Definition: d_opencv_typedefs.h:92
D_Img_Proc::Duplicate
static int Duplicate(Mat *pMA_Out, Mat *pMA_In)
Definition: d_img_proc.cpp:2397
c_STAT_QUANTIL_70
@ c_STAT_QUANTIL_70
Definition: d_enum.h:768
c_STAT_COUNT
@ c_STAT_COUNT
Definition: d_enum.h:734
D_Stat::Calc_Vector2Hist_2
static int Calc_Vector2Hist_2(vector< vector< double >> *vv_hist, vector< vector< double >> *vv_data, unsigned int class_count, double *min_ext, double *max_ext, double *max_y_ext, double *step_ext, bool accumulate, bool uniform)
Definition: d_stat.cpp:3764
D_Img_Proc::Mask
static int Mask(Mat *pMA_Out, Mat *pMA_In, Mat *pMA_Mask)
Definition: d_img_proc.cpp:14098
CMP_NE
const int CMP_NE
Definition: d_opencv_typedefs.h:135
D_Img_Proc::Draw_Label_Numbers
static int Draw_Label_Numbers(Mat *pMA_Out, Mat *pMA_In, Mat *pMA_Label, double scale, double thickness, bool center)
Definition: d_img_proc.cpp:19012
CMP_GT
const int CMP_GT
Definition: d_opencv_typedefs.h:131
D_Plot::Plot_Hist_Single_Classes
static int Plot_Hist_Single_Classes(QChartView *pChartView, vector< double > *v_hist, double min, double step, QString name_title, QString name_series, QString name_x, QString name_y, bool ignore_first)
Definition: d_plot.cpp:769
D_Img_Proc::Draw_Rect
static int Draw_Rect(Mat *pMA_Target, unsigned int x1, unsigned int y1, unsigned int x2, unsigned int y2, unsigned int thickness=1, double val=255)
Definition: d_img_proc.cpp:17687
c_STAT_QUANTIL_60
@ c_STAT_QUANTIL_60
Definition: d_enum.h:766
c_STAT_QUANTIL_35
@ c_STAT_QUANTIL_35
Definition: d_enum.h:761
D_Plot::Plot_Stat_Multi_CvSkewKurt
static int Plot_Stat_Multi_CvSkewKurt(QChartView *pChartView, vector< vector< double >> *vv_SetSta, bool pl_cv, bool pl_skew, bool pl_kurt, QString name_title, QString name_categories, QString name_y)
Definition: d_plot.cpp:3684
c_STAT_DIST_90_0_PRZ
@ c_STAT_DIST_90_0_PRZ
Definition: d_enum.h:785
c_STAT_MEDIAN
@ c_STAT_MEDIAN
Definition: d_enum.h:764
CMP_EQ
const int CMP_EQ
Definition: d_opencv_typedefs.h:130
d_img_proc.h
D_Img_Proc::ValAtPix
static int ValAtPix(vector< double > *v_value, Mat *pMA_In, size_t x_pos, size_t y_pos)
Definition: d_img_proc.cpp:2192
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
D_Img_Proc::Load_From_Path_Text
static int Load_From_Path_Text(Mat *pMA_Out, string path)
Definition: d_img_proc.cpp:86
D_Img_Proc::Shading_Correct
static int Shading_Correct(Mat *pMA_Out, Mat *pMA_In, Mat *pMA_Reference)
Definition: d_img_proc.cpp:14089
c_STAT_QUANTIL_30
@ c_STAT_QUANTIL_30
Definition: d_enum.h:760
c_STAT_DIST_60_0_PRZ
@ c_STAT_DIST_60_0_PRZ
Definition: d_enum.h:781
D_MAKRO_Mitochondrien::closeEvent
void closeEvent(QCloseEvent *event)
Definition: d_makro_mitochondrien.cpp:191
Scalar
cv::Scalar Scalar
Definition: d_opencv_typedefs.h:30
c_STAT_QUANTIL_40
@ c_STAT_QUANTIL_40
Definition: d_enum.h:762
c_STAT_KURTOSIS_SAMPLE
@ c_STAT_KURTOSIS_SAMPLE
Definition: d_enum.h:749
D_Img_Proc::Calc_Hist_1C
static int Calc_Hist_1C(vector< double > *v_hist, Mat *pMA_In, bool uniform, bool accum, unsigned int class_count, double *min_ext, double *max_ext, double *step_ext)
Definition: d_img_proc.cpp:14665
c_STAT_QUANTIL_20
@ c_STAT_QUANTIL_20
Definition: d_enum.h:758
c_STAT_QUANTIL_05
@ c_STAT_QUANTIL_05
Definition: d_enum.h:755
c_STAT_QUANTIL_10
@ c_STAT_QUANTIL_10
Definition: d_enum.h:756
D_Viewer::set_GV
void set_GV(QGraphicsView *GV_ui)
Definition: d_viewer.cpp:49
c_STAT_VAR_COEF_SAMPLE
@ c_STAT_VAR_COEF_SAMPLE
Definition: d_enum.h:753
c_STAT_QUANTIL_55
@ c_STAT_QUANTIL_55
Definition: d_enum.h:765
D_Img_Proc::Value_to_MinOrMax
static int Value_to_MinOrMax(Mat *pMA_Out, Mat *pMA_In, double val_src, bool to_min)
Definition: d_img_proc.cpp:14313
c_STAT_VARIANCE_SAMPLE
@ c_STAT_VARIANCE_SAMPLE
Definition: d_enum.h:745
D_MAKRO_Mitochondrien::D_MAKRO_Mitochondrien
D_MAKRO_Mitochondrien(D_Storage *pStorage, QWidget *parent=0)
Definition: d_makro_mitochondrien.cpp:12
D_Img_Proc::Floodfill
static int Floodfill(Mat *pMA_Out, Mat *pMA_In, unsigned int seed_x, unsigned int seed_y, double new_val)
Definition: d_img_proc.cpp:16690
D_Plot::Plot_Stat_Multi_Quantiles
static int Plot_Stat_Multi_Quantiles(QChartView *pChartView, vector< vector< double >> *vv_SetSta, unsigned int steps, QString name_title, QString name_categories, QString name_y)
Definition: d_plot.cpp:3735
Ui
Definition: d_analysiswindow.h:58
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
D_Img_Proc::Math_ImgSelf_Not
static int Math_ImgSelf_Not(Mat *pMA_Out, Mat *pMA_In)
Definition: d_img_proc.cpp:12999
d_storage.h
c_STAT_STAN_DEV_SAMPLE
@ c_STAT_STAN_DEV_SAMPLE
Definition: d_enum.h:751
D_Viewer::Type_QI
QString Type_QI()
Definition: d_viewer.h:91
MORPH_ELLIPSE
const int MORPH_ELLIPSE
Definition: d_opencv_typedefs.h:87
c_STAT_QUANTIL_65
@ c_STAT_QUANTIL_65
Definition: d_enum.h:767
D_Img_Proc::Math_ImgImg_BitOr
static int Math_ImgImg_BitOr(Mat *pMA_Out, Mat *pMA_In1, Mat *pMA_In2)
Definition: d_img_proc.cpp:13202
d_opencv_typedefs.h
D_Storage::set_dir_M_Mitochondria
void set_dir_M_Mitochondria(QString path)
Definition: d_storage.h:99
c_STAT_QUANTIL_15
@ c_STAT_QUANTIL_15
Definition: d_enum.h:757
D_Viewer::connect_Zoom
void connect_Zoom(D_Viewer *viewer)
Definition: d_viewer.cpp:128
D_Img_Proc::Value_to_Value
static int Value_to_Value(Mat *pMA_Out, Mat *pMA_In, double val_src, double val_dst)
Definition: d_img_proc.cpp:14336
QSL_StatList
const QStringList QSL_StatList
Definition: d_enum.h:797
c_STAT_QUANTIL_85
@ c_STAT_QUANTIL_85
Definition: d_enum.h:771
D_Img_Proc::Convert_Mat_to_QImage
static int Convert_Mat_to_QImage(QImage *pQI_Out, Mat *pMA_In, bool use_custom_range_for_spread_non_8bit=false, double in_min=0, double in_max=1)
Definition: d_img_proc.cpp:973
d_enum.h
D_Img_Proc::Math_Special_NADH
static int Math_Special_NADH(Mat *pMA_NADH, Mat *pMA_I, Mat *pMA_A2, Mat *pMA_T1, Mat *pMA_T2, float k, bool ignore_0, float T2_Max_Thres, float T2_Max_Const)
Definition: d_img_proc.cpp:13886
D_Img_Proc::Math_ImgImg_DiffAbs
static int Math_ImgImg_DiffAbs(Mat *pMA_Out, Mat *pMA_In1, Mat *pMA_In2)
Definition: d_img_proc.cpp:13140
D_Viewer::Save_Image
QString Save_Image()
D_Viewer::Save_Image Saves the image at FI_LastSaved.
Definition: d_viewer.cpp:2157
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
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
D_Img_Proc::Merge
static int Merge(Mat *pMA_Out, Mat *pMA_In0, Mat *pMA_In1, Mat *pMA_In2, Mat *pMA_In3, unsigned int channels, bool channel_use[4])
Definition: d_img_proc.cpp:4060
D_Plot::Plot_Stat_Multi_MeanMedian
static int Plot_Stat_Multi_MeanMedian(QChartView *pChartView, vector< vector< double >> *vv_SetSta, bool pl_mean, bool pl_sd, bool pl_median, bool pl_adm, QString name_title, QString name_categories, QString name_y)
Definition: d_plot.cpp:3630
BORDER_DEFAULT
const int BORDER_DEFAULT
Definition: d_opencv_typedefs.h:78
c_STAT_DIST_QUARTIL
@ c_STAT_DIST_QUARTIL
Definition: d_enum.h:780
c_STAT_QUARTIL_UP
@ c_STAT_QUARTIL_UP
Definition: d_enum.h:769
D_Storage::get_Adress
Mat * get_Adress(size_t pos)
Definition: d_storage.h:54
D_Img_Proc::Filter_Gauss
static int Filter_Gauss(Mat *pMA_Out, Mat *pMA_In, int size_x, int size_y, int border, double sigma_x, double sigma_y)
Definition: d_img_proc.cpp:9083
c_STAT_SKEWNESS_SAMPLE
@ c_STAT_SKEWNESS_SAMPLE
Definition: d_enum.h:747
D_Img_Proc::Math_ImgImg_Mult
static int Math_ImgImg_Mult(Mat *pMA_Out, Mat *pMA_In1, Mat *pMA_In2, double scale)
Definition: d_img_proc.cpp:13155
D_MAKRO_Mitochondrien
Definition: d_makro_mitochondrien.h:70
D_Storage::dir_M_Mitochondria
QDir * dir_M_Mitochondria()
Definition: d_storage.h:71
c_STAT_DIST_30_0_PRZ
@ c_STAT_DIST_30_0_PRZ
Definition: d_enum.h:778
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_SPAN
@ c_STAT_SPAN
Definition: d_enum.h:788
SceneMouseTrack
The SceneMouseTrack class Scene to put in a QGraphicsView that emits additional signals.
Definition: scenemousetrack.h:36
c_STAT_MEAN_ARITMETIC
@ c_STAT_MEAN_ARITMETIC
Definition: d_enum.h:740
CMP_LE
const int CMP_LE
Definition: d_opencv_typedefs.h:134
c_STAT_DIST_20_0_PRZ
@ c_STAT_DIST_20_0_PRZ
Definition: d_enum.h:777
d_stat.h
c_STAT_DIST_70_0_PRZ
@ c_STAT_DIST_70_0_PRZ
Definition: d_enum.h:783
ER_empty
@ ER_empty
Definition: d_enum.h:135