 |
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_VISUALIZATION_H
10 #define D_MAKRO_VISUALIZATION_H
26 #include <QMainWindow>
27 #include <QFileDialog>
29 #include <QFileInfoList>
33 #include <QCloseEvent>
34 #include <QResizeEvent>
35 #include <QInputDialog>
36 #include <QColorDialog>
37 #include <QMouseEvent>
51 #include <opencv2/core/core.hpp>
52 #include <opencv2/highgui/highgui.hpp>
53 #include <opencv2/imgproc/imgproc.hpp>
71 void resizeEvent(QResizeEvent *event);
72 void mousePressEvent(QMouseEvent *event);
73 void closeEvent(QCloseEvent *event);
80 void Images_DefineDialog();
86 void Populate_Single(QComboBox *CB, QStringList QSL);
87 void Populate_Images();
88 void Populate_Pages();
90 void Populate_ViewImgType();
91 void Populate_Geometrics();
92 void Populate_Paint();
94 void BlockSignals_Ui(
bool block);
95 void ProcSet_SetToUi();
96 void GammaSpread_MinMax();
98 void Parameters_Init();
101 void Paint_GetClickPos(
int x,
int y);
109 void Update_ImgProc();
110 void Update_ImageInfo();
111 void Update_ColorPreview();
117 void ImgProc_PageProc(
int page);
118 void ImgProc_PseudoColor(
int page);
119 void ImgProc_Merge_Output();
120 void ImgProc_Scalebar();
124 void on_comboBox_Image_currentIndexChanged(
int index);
125 void on_comboBox_Page_currentIndexChanged(
int index);
126 void on_comboBox_Processing_currentIndexChanged(
int index);
128 void on_groupBox_Bin_Smooth_clicked(
bool checked);
129 void on_spinBox_Bin_Size_valueChanged(
int arg1);
130 void on_doubleSpinBox_Bin_Sigma_valueChanged(
double arg1);
131 void on_doubleSpinBox_Bin_Threshold_valueChanged(
double arg1);
132 void on_groupBox_Bin_Segmentation_clicked(
bool checked);
133 void on_doubleSpinBox_Bin_Distance_valueChanged(
double arg1);
134 void on_checkBox_Bin_InclNonSeed_clicked(
bool checked);
135 void on_checkBox_Bin_InclBorder_clicked(
bool checked);
136 void on_groupBox_Reduce_clicked(
bool checked);
137 void on_comboBox_Bin_Geometric_currentIndexChanged(
int index);
139 void on_spinBox_Color_Red_valueChanged(
int arg1);
140 void on_spinBox_Color_Green_valueChanged(
int arg1);
141 void on_spinBox_Color_Blue_valueChanged(
int arg1);
142 void on_spinBox_Color_Alpha_valueChanged(
int arg1);
144 void on_doubleSpinBox_Val_Gamma_valueChanged(
double arg1);
145 void on_doubleSpinBox_Val_In_Min_valueChanged(
double arg1);
146 void on_doubleSpinBox_Val_In_Max_valueChanged(
double arg1);
147 void on_doubleSpinBox_Val_Out_Min_valueChanged(
double arg1);
148 void on_doubleSpinBox_Val_Out_Max_valueChanged(
double arg1);
150 void on_comboBox_ViewImgType_currentIndexChanged(
int index);
152 void on_groupBox_Bin_Paint_clicked(
bool checked);
153 void on_comboBox_Bin_Paint_Type_currentIndexChanged(
int index);
154 void on_comboBox_Bin_Paint_FG_BG_currentIndexChanged(
int index);
155 void on_spinBox_Bin_Paint_Width_valueChanged(
int arg1);
156 void on_pushButton_Bin_Paint_Reset_clicked();
158 void on_lineEdit_Scalebar_Unit_textChanged(
const QString &arg1);
159 void on_doubleSpinBox_Scalebar_Pixelsize_valueChanged(
double arg1);
160 void on_doubleSpinBox_Scalebar_Barsize_valueChanged(
double arg1);
162 void on_groupBox_Scalebar_clicked();
165 Ui::D_MAKRO_Visualization *ui;
167 bool ClosingPossible =
false;
174 QStringList QSL_Images_Path;
175 QStringList QSL_Images_FileNames;
176 QStringList QSL_Images_BaseNames;
177 QFileInfoList FIL_Images;
178 vector<Mat> vMA_Image_Pages_In;
179 vector<Mat> vMA_Image_Pages_Out_Gray;
180 vector<Mat> vMA_Image_Pages_Out_Color;
182 bool firstRealImages =
true;
184 bool defined_dataSet =
false;
185 int pages_number = 1;
186 QStringList QSL_Pages;
187 int current_page = 0;
188 int current_image = 0;
191 bool paint_initialized =
false;
193 QFileInfo FI_Paint_FG;
194 QFileInfo FI_Paint_BG;
197 bool Paint_NewLine =
true;
202 QString Scalebar_Unit =
"px";
203 double Scalebar_Pixelsize = 1.0;
204 double Scalebar_Barsize = 100.0;
207 bool stackProcActive =
false;
211 QDir DIR_SaveCurrentImage;
214 vector<vector<double>> vvd_Parameter_PagePar;
215 bool block_parameter_update =
false;
224 void ERR(
int err, QString func =
"not specified", QString detail =
"not specified");
232 c_PAR_BIN_BLUR_SIGMA,
235 c_PAR_BIN_SEG_DISTANCE,
236 c_PAR_BIN_SEG_INCLNONSEED,
237 c_PAR_BIN_SEG_INCLBORDER,
239 c_PAR_BIN_GEO_GEOMETRIC,
263 QStringList QSL_ProcTypes =
278 QStringList QSL_ImgType =
290 QStringList QSL_Paint_Color =
301 QStringList QSL_Paint_Type =
308 #endif // D_MAKRO_VISUALIZATION_H
cv::Mat Mat
Definition: d_opencv_typedefs.h:28
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
static int Math_ImgImg_Diff(Mat *pMA_Out, Mat *pMA_In1, Mat *pMA_In2)
Definition: d_img_proc.cpp:13125
static int Load_From_Path(Mat *pMA_Out, QFileInfo FI_path)
Definition: d_img_proc.cpp:16
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_dir_M_Visualization(QString path)
Definition: d_storage.h:108
void Update_Image(Mat *MA_new)
D_Viewer::Update_Image Set and show image.
Definition: d_viewer.cpp:2079
static int Draw_Text(QImage *pQI_Target, QString text_tl, QString text_tr, QString text_bl, QString text_br, unsigned int size, QColor color)
Definition: d_img_proc.cpp:18588
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
QDir * dir_M_Visualization()
Definition: d_storage.h:80
~D_MAKRO_Visualization()
Definition: d_makro_visualization.cpp:56
static int Duplicate(Mat *pMA_Out, Mat *pMA_In)
Definition: d_img_proc.cpp:2397
cv::Point Point
Definition: d_opencv_typedefs.h:35
void closeEvent(QCloseEvent *event)
Definition: d_makro_visualization.cpp:75
static int Threshold_Relative_1C(Mat *pMA_Out, Mat *pMA_In, double max_val, double thres_rel)
Definition: d_img_proc.cpp:6352
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
static int MinMax_of_Mat(Mat *pMA_In, double *min_ext, double *max_ext)
Definition: d_img_proc.cpp:2052
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_ClosingPossible(bool closeable)
Definition: d_makro_visualization.h:74
static int GammaSpread_1C(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:4649
void set_GV(QGraphicsView *GV_ui)
Definition: d_viewer.cpp:49
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
Definition: d_analysiswindow.h:58
Definition: d_makro_visualization.h:65
static int Threshold_Absolute_1C(Mat *pMA_Out, Mat *pMA_In, double thres_abs)
Definition: d_img_proc.cpp:6553
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
static int Convert_Color(Mat *pMA_Out, Mat *pMA_In, int cvt_mode)
Definition: d_img_proc.cpp:2524
void connect_Zoom(D_Viewer *viewer)
Definition: d_viewer.cpp:128
D_MAKRO_Visualization(D_Storage *pStorage, QWidget *parent=0)
Definition: d_makro_visualization.cpp:12
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
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_Add(Mat *pMA_Out, Mat *pMA_In1, Mat *pMA_In2)
Definition: d_img_proc.cpp:13092
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
void resizeEvent(QResizeEvent *event)
Definition: d_makro_visualization.cpp:61
const int BORDER_DEFAULT
Definition: d_opencv_typedefs.h:78
static int Convert_Depth_NoScaling(Mat *pMA_Out, Mat *pMA_In, int depth)
Definition: d_img_proc.cpp:2777
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
static int Convert_Color_RGBA(Mat *pMA_Out, Mat *pMA_In, double r, double g, double b, double a, double range_rgba=255.0)
Definition: d_img_proc.cpp:2552
void mousePressEvent(QMouseEvent *event)
Definition: d_makro_visualization.cpp:67