 |
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.
|
Go to the documentation of this file.
9 #ifndef D_MAKRO_COREFOCI_H
10 #define D_MAKRO_COREFOCI_H
33 #include <QMainWindow>
36 #include <QGraphicsScene>
41 #include <QMessageBox>
42 #include <QFileDialog>
45 #include <QSpacerItem>
46 #include <QElapsedTimer>
51 #include <opencv2/core/core.hpp>
52 #include <opencv2/highgui/highgui.hpp>
53 #include <opencv2/imgproc/imgproc.hpp>
72 void resizeEvent(QResizeEvent* event);
73 void closeEvent(QCloseEvent *event);
76 Mat *get_pMA_Substep(
unsigned int vec_number,
unsigned int pos);
84 void Update_ImgProc_All();
89 void Update_View_Cores();
90 void Update_View_Plasma();
91 void Update_View_Foci();
92 void Update_View_Results();
95 void Update_ImgProc_Cores(
unsigned int start_step);
96 void Update_ImgProc_Plasma(
unsigned int start_step);
97 void Update_ImgProc_Foci(
unsigned int start_step);
98 void Update_ImgProc_Results(
unsigned int start_step);
99 void Update_Step_Cores(
unsigned int step);
100 void Update_Step_Plasma(
unsigned int step);
101 void Update_Step_Foci(
unsigned int step);
102 void Update_Step_Results(
unsigned int step);
103 void Update_Combi_Results();
104 void Update_Combi_Results_Preset(
int preset);
106 void Update_Results();
108 void Plot_Cells_Attribute();
109 void Plot_Cells_Attribute_Hist();
110 void Plot_Cells_Attribute_Scatter();
111 void Plot_Image_Attribute();
112 void Plot_Image_Attribute_Hist();
113 void Plot_Image_Attribute_Scatter();
115 void Table_Cells_AttCel();
116 void Table_Cells_AttSta();
117 void Table_Image_AttImg();
118 void Table_Image_AttSta();
120 void Table_Summary();
122 void Parameters_Init();
123 void Parameters_ActivatePreset();
124 void Parameters_ParamSetToUi(vector<double> vParams);
127 void Calc_Cells_Attrib();
128 void Calc_Cells_Stats();
134 bool LoadParams_CurrentDir();
136 bool LoadParams(QString QS_FileName);
139 void Stack_Attributes_AskUpdate();
140 void Stack_Attributes_Process();
141 void Stack_Attributes_Init();
142 void Stack_Attributes_Calc();
143 void Stack_Attributes_Calc_Stats();
144 bool Stack_Attributes_Stream_Init();
145 void Stack_Attributes_Stream_Parameters();
147 void Stack_Attributes_Stream_Cells();
148 void Stack_Attributes_Stream_Cells_Images();
149 void Stack_Attributes_Stream_Cells_Tables();
150 void Stack_Attributes_Stream_Cells_Plots();
152 void Stack_Attributes_Stream_Images();
153 void Stack_Attributes_Stream_Images_Images();
154 void Stack_Attributes_Stream_Images_Tables();
155 void Stack_Attributes_Stream_Images_Plots();
157 void Save_Image_Cores();
158 void Save_Image_Plasma();
159 void Save_Image_Foci();
160 void Save_Image_Results();
161 void Save_Plot_Cells();
162 void Save_Plot_Image();
163 void Save_Plot(QChartView *pCV, QString path);
166 void Populate_CB(QComboBox *CB, QStringList QSL);
168 void View_BlockSignals(
bool block);
169 void Proc_BlocSignals(
bool block);
171 void ERR(
int err, QString func =
"not specified", QString detail =
"not specified");
173 void on_spinBox_SetFoci_02_Size_valueChanged(
int arg1);
174 void on_doubleSpinBox_SetFoci_02_Sigma_valueChanged(
double arg1);
175 void on_spinBox_SetFoci_03_Size_valueChanged(
int arg1);
176 void on_doubleSpinBox_SetFoci_03_Offset_valueChanged(
double arg1);
177 void on_spinBox_SetFoci_04_Size_valueChanged(
int arg1);
178 void on_spinBox_SetFoci_05_Size_valueChanged(
int arg1);
179 void on_spinBox_SetFoci_06_Size_Min_valueChanged(
int arg1);
180 void on_spinBox_SetFoci_06_Size_Max_valueChanged(
int arg1);
182 void on_spinBox_SetCore_02_Gauss_Size_valueChanged(
int arg1);
183 void on_doubleSpinBox_SetCore_02_Gauss_Sigma_valueChanged(
double arg1);
184 void on_spinBox_SetCore_04_Thres_Size_valueChanged(
int arg1);
185 void on_doubleSpinBox_SetCore_04_Thres_Offset_valueChanged(
double arg1);
186 void on_spinBox_SetCore_05_Fill_Area_valueChanged(
int arg1);
187 void on_spinBox_SetCore_09_Eilenstein_Size_valueChanged(
int arg1);
188 void on_doubleSpinBox_Set_Core_09_Eilenstein_Offset_valueChanged(
double arg1);
189 void on_spinBox_SetCore_11_Thresh_Thres_valueChanged(
int arg1);
190 void on_spinBox_SetCore_12_Open_Area_valueChanged(
int arg1);
191 void on_spinBox_SetCore_13_Dilation_Size_valueChanged(
int arg1);
193 void on_doubleSpinBox_SetCyto_Gauss_Sigma_valueChanged(
double arg1);
194 void on_spinBox_SetCyto_Gauss_Size_valueChanged(
int arg1);
195 void on_spinBox_SetCyto_Closing_Size_valueChanged(
int arg1);
196 void on_spinBox_SetCyto_Dilation_Size_valueChanged(
int arg1);
198 void on_pushButton_ResCol_Preset_ContrastAll_clicked();
199 void on_pushButton_ResCol_Preset_NormalAll_clicked();
200 void on_pushButton_ResCol_Preset_NucSegmentation_clicked();
201 void on_pushButton_ResCol_Preset_Regions_clicked();
202 void on_pushButton_ResCol_Preset_Foci_clicked();
203 void on_pushButton_ResCol_Preset_Plasma_clicked();
205 void on_spinBox_Results_SpreadMax_valueChanged(
int arg1);
207 void on_comboBox_FileName_currentIndexChanged(
int index);
209 void on_spinBox_SetCyto_Thresh_Size_valueChanged(
int arg1);
210 void on_doubleSpinBox_SetCyto_Thresh_Offset_valueChanged(
double arg1);
212 void on_checkBox_SetFoci_13_ExcludeBordered_clicked();
213 void on_checkBox_SetCore_13_ExcludeBordered_clicked();
215 void on_pushButton_PresetActivate_clicked();
217 void on_spinBox_SetCore_14_AreaDistMin_valueChanged(
int arg1);
218 void on_spinBox_SetCore_14_AreaDistMax_valueChanged(
int arg1);
219 void on_spinBox_SetCore_14_AreaMaxOfSmall_valueChanged(
int arg1);
220 void on_spinBox_SetCore_14_AreaMinOfBig_valueChanged(
int arg1);
222 void on_pushButton_ParamsLoad_clicked();
223 void on_pushButton_ParamsSave_clicked();
226 Ui::D_MAKRO_CoreFoci *ui;
228 bool ClosingPossible =
false;
232 vector<Mat> vMA_Cores;
233 vector<Mat> vMA_Plasma;
234 vector<Mat> vMA_Foci;
235 vector<Mat> vMA_Results;
237 unsigned int pos_dest;
240 bool calced_AttCel_cel =
false;
241 vector<vector<double>> vvd_AttCel_cel;
242 bool calced_AttSta_cel =
false;
243 vector<vector<double>> vvd_AttSta_cel;
246 bool stack_processing =
false;
247 int stack_img_curent = 0;
248 bool stack_processed =
false;
249 bool calced_AttCel_cel_stack =
false;
250 vector<vector<double>> vvd_AttCel_cel_stack;
251 bool calced_AttSta_cel_stack =
false;
252 vector<vector<double>> vvd_AttSta_cel_stack;
256 QStringList QSL_Input_Images;
257 QStringList QSL_BaseNames;
258 QStringList QSL_FileNames;
259 QFileInfoList FIL_Input_Images;
260 QString QS_BaseName_Current;
261 QString QS_FileName_Current;
270 QChartView *ChartView_Cells;
272 QChartView *ChartView_Image;
279 D_Table Table_Summary_Quotients;
282 QDir DIR_Stream_Main;
283 QDir DIR_Stream_Stack;
284 QDir DIR_Stream_Stack_Images;
285 QDir DIR_Stream_Stack_Tables;
286 QDir DIR_Stream_Stack_Plots;
287 QDir DIR_Stream_Images;
288 QDir DIR_Stream_Images_Sub;
289 QDir DIR_Stream_Other;
290 bool B_Stream_Out =
false;
291 vector<int> v_StreamImage_Images;
292 vector<int> v_StreamImage_PlotAttrib;
293 vector<int> v_StreamStack_Images;
294 vector<int> v_StreamStack_PlotAttrib;
295 bool dont_stream =
false;
301 vector<vector<double>> vvd_ParameterPresets_SetPar;
313 QStringList QSL_PresetNames =
322 c_PAR_NUC_BLUR_SIGMA,
323 c_PAR_NUC_THRES_SIZE,
324 c_PAR_NUC_THRES_OFFSET,
326 c_PAR_NUC_EILENSTEIN_SIZE,
327 c_PAR_NUC_EILENSTEIN_OFFSET,
328 c_PAR_NUC_LOCMAX_THRES,
329 c_PAR_NUC_REMOVE_SMALL,
330 c_PAR_NUC_CONNECT_NEAR,
331 c_PAR_NUC_EXCULDE_BORDER,
332 c_PAR_NUC_AREA_DIST_MIN,
333 c_PAR_NUC_AREA_DIST_MAX,
334 c_PAR_NUC_AREA_MAX_SMALL,
335 c_PAR_NUC_AREA_MIN_BIG,
337 c_PAR_CYT_BLUR_SIGMA,
338 c_PAR_CTT_THRES_SIZE,
339 c_PAR_CYT_THRES_SIGMA,
340 c_PAR_CYT_CLOSE_HOLES,
342 c_PAR_FOCI_BLUR_SIZE,
343 c_PAR_FOCI_BLUR_SIGMA,
344 c_PAR_FOCI_THRES_SIZE,
345 C_PAR_FOCI_THRES_SIGMA,
347 C_PAR_FOCI_CONNECT_NEAR,
350 C_PAR_FOCI_EXCLUDE_BORDER,
351 C_PAR_FOCI_RES_MAX_EXPECTED,
355 const QStringList QSL_ParameterNames = {
357 "Nuclei, blur sigma",
358 "Nuclei, local adaptive threshold filter size",
359 "Nuclei, local adaptive threshold offset",
360 "Nuclei, fill holes",
361 "Nuclei, local adaptive contrast equilibration (eilenstein filter) size",
362 "Nuclei, local adaptive contrast equilibration (eilenstein filter) offset",
363 "Nuclei, threshold for local maxima",
364 "Nuclei, remove small seeds",
365 "Nuclei, connect near seeds",
366 "Nuclei, eclude border connected",
367 "Nuclei, merge by area context - dist min",
368 "Nuclei, merge by area context - dist max",
369 "Nuclei, merge by area context - max area of small",
370 "Nuclei, merge by area context - min area of big",
371 "Cytoplasma, blur size",
372 "Cytoplasma, blur sigma",
373 "Cytoplasma, local adaptive threshold filter size",
374 "Cytoplasma, local adaptive threshold offset",
375 "Cytoplasma, fill holes",
376 "Cytoplasma, add margin",
379 "Foci, local adaptive threshold filter size",
380 "Foci, local adaptive threshold offset",
381 "Foci, add margin to nuclei",
382 "Foci, connect near foci",
383 "Foci, area selection min",
384 "Foci, area selection max",
385 "Foci, exclude border connected",
386 "Results, visualization max value expected",
387 "Calc, px area to um area factor"
393 c_RES_PLOT_CELLS = 1,
394 c_RES_TABLE_CELLS = 2,
395 c_RES_PLOT_IMAGE = 3,
396 c_RES_TABLE_IMAGE = 4,
406 QStringList QSL_TabeleTypes =
413 enum c_ColorCombiResults {
414 c_RES_COLOR_NORMAL = 0,
415 c_RES_COLOR_CONTRAST = 1,
416 c_RES_COLOR_NUCLEI = 2,
417 c_RES_COLOR_PLASMA = 3,
418 c_RES_COLOR_FOCI = 4,
419 c_RES_COLOR_REGIONS = 5,
420 c_RES_COLOR_NUMBER_OF = 6
422 QStringList QSL_ResColor_Presets =
436 c_RESPLOCEL_ATT_HIST = 1,
437 c_RESPLOCEL_ATT_SCATTER = 2
439 QStringList QSL_ResPloCel =
442 "Attributes Histogram",
447 enum c_ResPlotImage {
449 c_RESPLOIMG_ATT_HIST = 1,
450 c_RESPLOIMG_ATT_SCATTER = 2
452 QStringList QSL_ResPloImg =
455 "Attributes Histogram",
463 c_ATT_CELL_NUCLEUS_AREA_PX,
464 c_ATT_CELL_NUCLEUS_AREA_UM,
465 c_ATT_CELL_CYTO_AREA_PX,
466 c_ATT_CELL_CYTO_AREA_UM,
467 c_ATT_CELL_FOCI_COUNT,
468 c_ATT_CELL_FOCI_AREA_PX,
469 c_ATT_CELL_FOCI_AREA_UM,
470 c_ATT_CELL_NUCLEUS_MEAN_I,
473 QStringList QSL_AttCel =
475 "Area of Nucleus px x px",
476 "Area of Nucleus um x um",
477 "Area of Cytoplasma px x px",
478 "Area of Cytoplasma um x um",
480 "Area of Foci px x px",
481 "Area of Foci um x um",
482 "Mean Nucleus Intensity"
525 c_ST_C_INPUT_CONV_8BIT,
526 c_ST_C_INPUT_CONTRAST,
531 c_ST_C_DIST_TRANSFORM,
532 c_ST_C_RANK_EILENSTEIN,
533 c_ST_C_RANK_CONV_8BIT,
536 c_ST_C_LMAX_DILATION,
537 c_ST_C_SEGM_WATERSHADE,
539 c_ST_C_SEGM_AREA_CONNECT,
540 c_ST_C_SEGM_LABELS_FINAL,
544 const QStringList QSL_StepNuclei =
547 "01 Convert to 8bit",
548 "02 Contrast Improvement",
550 "04 Local adaptive Threshold",
551 "05 Fill Holes selected by Area",
553 "07 Distance Transformation",
554 "08 Local Rank Eilenstein Filter",
555 "09 Convert to 8bit",
556 "10 Binarize to get initial Seeds",
557 "11 Remove Small Seeds",
558 "12 Connect Near Seeds",
559 "13 Watershed Segmentation",
561 "15 Connect small Nuclei to nearby big Nuclei",
562 "16 Final Nuclei Segmentation",
563 "17 Edges of segmented Nuclei"
569 c_ST_P_INPUT_CONV_8BIT,
570 c_ST_P_INPUT_CONTRAST,
576 c_ST_P_REG_PLASMA_EDGES,
579 const QStringList QSL_StepPlasma =
582 "01 Convert to 8bit",
583 "02 Contrast Improvement",
585 "04 Local adaptive Threshold",
588 "07 Cytoplasma Regions",
589 "08 Edges of Cytoplasma Regions"
595 c_ST_F_INPUT_CONV_8BIT,
596 c_ST_F_INPUT_CONTRAST,
599 c_ST_F_ROI_NUC_MARGIN,
603 c_ST_F_OUT_CORES_CLOSE,
604 c_ST_F_OUT_CORES_AREA,
606 c_ST_F_REGIONS_NUCLEI,
607 c_ST_F_REGIONS_SEEDS,
608 c_ST_F_REGIONS_ROI2LABEL,
609 c_ST_F_REGIONS_CELLS_APPROX,
611 c_ST_F_CENTROID_CORES,
614 const QStringList QSL_StepFoci =
617 "01 Convert to 8bit",
618 "02 Contrast Improvement",
620 "04 Local adaptive Threshold",
621 "05 Nuclei with additional Margin",
622 "06 Cytoplasmatic Region but without Nuclei",
623 "07 Edges of ROI to detect Foci in it",
624 "08 Apply ROI to binary Foci Image",
625 "09 Connect near Foci",
626 "10 Select Foci by Area",
627 "11 Reduce Foci to Centroids",
628 "12 Nuclei as initial Seed for Cells",
630 "14 Possible Cell Area",
631 "15 Watershed Segmentation of Nuclei in Cytoplasma to approximate Cells",
632 "16 Convert to 8bit",
633 "17 Assign Foci to Cells"
660 #endif // D_MAKRO_COREFOCI_H
cv::Mat Mat
Definition: d_opencv_typedefs.h:28
@ ER_okay
Definition: d_enum.h:133
static function< double(double x, double y)> Function_2D_to_1D(int type, double a=1, double b=0, double c=1, double d=0, double e=0, double f=0, double nan_val=0, double inf_val=0)
Definition: d_math.cpp:88
static int Math_ImgImg_Diff(Mat *pMA_Out, Mat *pMA_In1, Mat *pMA_In2)
Definition: d_img_proc.cpp:13125
const QString D_QS_Version
Definition: d_enum.h:18
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
unsigned int get_StepCount_Plasma()
Definition: d_makro_corefoci.h:78
static int Spread_16_bit_to_8bit(Mat *pMA_Out, Mat *pMA_In, double in_max, double out_max)
Definition: d_img_proc.cpp:3903
static int Histo_Equal(Mat *pMA_Out, Mat *pMA_In)
Definition: d_img_proc.cpp:14397
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
The D_Viewer class Display images (Mat) in QGraphicsView in the user interface.
Definition: d_viewer.h:58
The D_Storage class Used for storing data. There is only one instance in D_MainWindow .
Definition: d_storage.h:49
void set_data_d_2D_qsl_count(vector< vector< double >> vv_data, QStringList qsl_col_names)
Definition: d_table.cpp:98
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
void closeEvent(QCloseEvent *event)
Definition: d_makro_corefoci.cpp:196
static int Reduce_Centroid(Mat *pMA_Out, Mat *pMA_In, int thickness=1)
Definition: d_img_proc.cpp:16524
void Update_Image(Mat *MA_new)
D_Viewer::Update_Image Set and show image.
Definition: d_viewer.cpp:2079
const int BORDER_REFLECT
Definition: d_opencv_typedefs.h:79
static function< bool(double x, double y)> Condition_2D(int type, double a=1, double b=0, double c=1, double d=0, double e=0, double f=0, double g=0, double h=0)
Definition: d_math.cpp:944
QString Save_Table()
Definition: d_table.cpp:186
static int Labeling(Mat *pMA_Out, Mat *pMA_In, int connectivity, int out_depth)
Definition: d_img_proc.cpp:12350
static int Transformation_Distance(Mat *pMA_Out, Mat *pMA_In, int metric, int precision)
Definition: d_img_proc.cpp:7486
unsigned int get_StepCount_Results()
Definition: d_makro_corefoci.h:80
Mat * get_pMA_Substep(unsigned int vec_number, unsigned int pos)
Definition: d_makro_corefoci.cpp:209
static int Split_ObjectAreas(vector< double > *v_objects, vector< double > *v_areas, Mat *pMA_Label, Mat *pMA_Objects, int connectivity)
Definition: d_img_proc.cpp:15179
void set_TW(QTableWidget *TW)
Definition: d_table.cpp:16
QDir * dir_M_dsDNA()
Definition: d_storage.h:70
const QString D_QS_Release
Definition: d_enum.h:19
static function< double(vector< double >)> Function_SingleStat(int stat)
Definition: d_stat.cpp:683
QString Save_Image_Dialog()
D_Viewer::Save_Image_Dialog Opens a dialog to save the show image (generated default path)
Definition: d_viewer.cpp:2105
const int MORPH_CLOSE
Definition: d_opencv_typedefs.h:92
static int Filter_Function(Mat *pMA_Out, Mat *pMA_In, Mat *pMA_Mask, function< double(double cur, double nei)> F1_CenterImage, function< double(double f1r, double msk)> F2_f1mask, function< double(vector< double > vf2r)> F3_Combine, function< double(double f3r, double cen)> F4_f3center, int border_type=BORDER_CONSTANT, bool DoNonZeroMaskOnly=false)
Definition: d_img_proc.cpp:11397
static int Duplicate(Mat *pMA_Out, Mat *pMA_In)
Definition: d_img_proc.cpp:2397
@ c_STAT_COUNT
Definition: d_enum.h:734
void Update_ImgProc_All()
Definition: d_makro_corefoci.cpp:279
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
@ c_MATH_2D_TO_1D_X
Definition: d_enum.h:1032
void set_data_d_1D_qs_qsl(vector< double > v_data, QString qs_col_name, QStringList qsl_row_names)
Definition: d_table.cpp:23
@ c_COND_INTERVALS_IN_INCL_AND
Definition: d_enum.h:1211
const int MORPH_RECT
Definition: d_opencv_typedefs.h:86
The D_Table class Display tables in QTableWidget in the user interface.
Definition: d_table.h:42
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
const int MORPH_ERODE
Definition: d_opencv_typedefs.h:89
static int Mask_1C(Mat *pMA_Out, Mat *pMA_In, Mat *pMA_Mask)
Definition: d_img_proc.cpp:14214
void set_data_d_2D_qsl_qsl(vector< vector< double >> vv_data, QStringList qsl_col_names, QStringList qsl_row_names)
Definition: d_table.cpp:74
const int MORPH_OPEN
Definition: d_opencv_typedefs.h:91
@ c_CONNECT_IN_RANGE
Definition: d_enum.h:1267
const int MORPH_DILATE
Definition: d_opencv_typedefs.h:88
cv::Scalar Scalar
Definition: d_opencv_typedefs.h:30
@ c_STAT_SUM
Definition: d_enum.h:737
static int Transformation_Watershed_Auto(Mat *pMA_Out, Mat *pMA_In, Mat *pMA_Marker, bool include_not_seeded, bool conv_8bit, bool exclude_border)
Definition: d_img_proc.cpp:7573
void set_dir_M_dsDNA(QString path)
Definition: d_storage.h:98
static int Plot_BarCore_Single(QChartView *pChartView, vector< double > v_data, QString name_title, QString name_series, QStringList name_categories, QString name_x, QString name_y)
Definition: d_plot.cpp:1333
void clear_data()
Definition: d_table.cpp:148
void set_GV(QGraphicsView *GV_ui)
Definition: d_viewer.cpp:49
@ c_MATH_2D_TO_1D_X_greater_Y
Definition: d_enum.h:1041
static int Plot_Empty(QChartView *pChartView, QString QS_Text="No_Additional_Information")
Definition: d_plot.cpp:16
void clear_Image()
Definition: d_viewer.cpp:74
Definition: d_analysiswindow.h:58
@ ER_other
Definition: d_enum.h:134
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
static int Math_ImgSelf_Not(Mat *pMA_Out, Mat *pMA_In)
Definition: d_img_proc.cpp:12999
static int Plot_Scatter_2D_Single_Y(QChartView *pChartView, vector< double > v_X_Val, vector< double > v_Y_Val, QString name_title, QString name_series, QString name_x, QString name_y, bool man_axis_style_x=false, bool man_axis_style_y=false, double man_min_x=0, double man_max_x=1, double man_min_y=0, double man_max_y=1, int ticks_x=AXE_TICK_COUNT_MAJOR_DEFAULT, int ticks_y=AXE_TICK_COUNT_MAJOR_DEFAULT)
Definition: d_plot.cpp:1690
@ ER_type_missmatch
Definition: d_enum.h:137
const int MORPH_ELLIPSE
Definition: d_opencv_typedefs.h:87
static int Threshold_Absolute_1C(Mat *pMA_Out, Mat *pMA_In, double thres_abs)
Definition: d_img_proc.cpp:6553
static int Math_ImgImg_BitOr(Mat *pMA_Out, Mat *pMA_In1, Mat *pMA_In2)
Definition: d_img_proc.cpp:13202
static int Load_From_Path_Multi(Mat *pMA_Out, QString path, unsigned int page)
Definition: d_img_proc.cpp:315
@ c_GEO_CONTOUR
Definition: d_enum.h:2052
D_MAKRO_CoreFoci(D_Storage *pStorage, QWidget *parent=0)
Definition: d_makro_corefoci.cpp:12
@ c_COMPDIST_CONTOUR
Definition: d_enum.h:2087
void connect_Zoom(D_Viewer *viewer)
Definition: d_viewer.cpp:128
const QStringList QSL_StatList
Definition: d_enum.h:797
unsigned int get_StepCount_Foci()
Definition: d_makro_corefoci.h:79
static int Select_Area(Mat *pMA_Out, Mat *pMA_In, unsigned int area_min, unsigned int area_max, int connectivity)
Definition: d_img_proc.cpp:16167
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
QString Save_Image()
D_Viewer::Save_Image Saves the image at FI_LastSaved.
Definition: d_viewer.cpp:2157
static int Math_ImgImg_BitAnd(Mat *pMA_Out, Mat *pMA_In1, Mat *pMA_In2)
Definition: d_img_proc.cpp:13187
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
const int BORDER_DEFAULT
Definition: d_opencv_typedefs.h:78
Mat * get_Adress(size_t pos)
Definition: d_storage.h:54
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
void resizeEvent(QResizeEvent *event)
Definition: d_makro_corefoci.cpp:190
static int Calc_Vector2Hist_1(vector< double > *v_hist, vector< double > *v_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:3688
static int Threshold_Value(Mat *pMA_Out, Mat *pMA_In, int out_mode, double max_val, double thres)
Definition: d_img_proc.cpp:6638
unsigned int get_StepCount_Cores()
Definition: d_makro_corefoci.h:77
static int Calc_Stats(vector< double > *v_stats, vector< double > v_data, bool calc_sorted)
Definition: d_stat.cpp:16
void set_ClosingPossible(bool closeable)
Definition: d_makro_corefoci.h:74
static int Threshold_Absolute(Mat *pMA_Out, Mat *pMA_In, double thres_abs)
Definition: d_img_proc.cpp:6440
static int Feature_Connect(Mat *pMA_Out, Mat *pMA_In, int pt_type1, int pt_type2, double dist_min, double dist_max, int feat1, int feat2, function< bool(double, double)> comp, int connect_mode=c_CONNECT_CLOSEST, int connectivity=4, int thickness=2)
Definition: d_img_proc.cpp:15901
~D_MAKRO_CoreFoci()
Definition: d_makro_corefoci.cpp:185
Definition: d_makro_corefoci.h:65
@ c_FEAT_AREA
Definition: d_enum.h:1347
@ c_STAT_MEAN_ARITMETIC
Definition: d_enum.h:740
static int Filter_Laplace(Mat *pMA_Out, Mat *pMA_In, int size, int border, int out_depth, double scale, double delta)
Definition: d_img_proc.cpp:10694
@ ER_empty
Definition: d_enum.h:135