 |
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_AIRDRAGTRACK_H
10 #define D_MAKRO_AIRDRAGTRACK_H
23 #include <QMainWindow>
24 #include <QFileDialog>
32 #include <QGridLayout>
40 #include <opencv2/core/core.hpp>
41 #include <opencv2/highgui/highgui.hpp>
42 #include <opencv2/imgproc/imgproc.hpp>
61 void closeEvent(QCloseEvent *event);
62 void resizeEvent(QResizeEvent *event);
68 void Data_SelectVideo();
73 void Update_Image_Proc();
75 void Update_ImgProc_All();
76 void Update_ImgProc(
int step_start);
77 void Update_ImgProc_Step(
int step);
79 void Update_ImgProc_FullVideo();
84 void Populate_CB_Single(QComboBox *CB, QStringList QSL,
int index_init);
85 void Populate_CB_Start();
87 void BlockSignals_FrameSelection(
bool block);
89 void on_horizontalSlider_T_Frame_valueChanged(
int value);
90 void on_spinBox_T_Frame_valueChanged(
int arg1);
91 void on_doubleSpinBox_T_Sec_valueChanged(
double arg1);
93 void on_comboBox_ProcStep_currentIndexChanged(
int index);
95 void on_spinBox_CropStart_valueChanged(
int arg1);
97 void on_spinBox_CropEnd_valueChanged(
int arg1);
99 void on_pushButton_ProcVideo_clicked();
101 void on_pushButton_ProcAllVideos_clicked();
103 void on_action_View_Results_Big_triggered(
bool checked);
105 void on_action_Save_Screenshot_Full_Window_triggered();
108 Ui::D_MAKRO_AirDragTrack *ui;
109 bool ClosingPossible =
false;
115 bool state_video_valid =
false;
116 bool state_frame_img_proc_ready =
false;
117 bool state_video_analysed =
false;
120 QFileInfoList FIL_Videos;
121 QStringList QSL_Videos_Names;
122 QStringList QSL_Videos_Paths;
123 QStringList QSL_Videos_Suffix;
129 vector<vector<Point2f>> vv_CentersVF;
132 vector<vector<vector<double>>> vvv_PositionsVSF;
135 vector<Mat> vMA_ProcSteps;
145 const size_t S_Count = 5;
146 vector<QGridLayout*> vPLot_Grids_S;
147 vector<QChartView*> vPlot_ChartViews_S;
148 QStringList QSL_S_Names = {
"location",
"speed",
"accelaration",
"change of acceleration",
"change of change of acceleration"};
149 QChartView* Plot_Results;
153 void ERR(
int err, QString func =
"not specified", QString detail =
"not specified");
165 const QStringList QSL_ProcSteps = {
175 #endif // D_MAKRO_AIRDRAGTRACK_H
@ ER_okay
Definition: d_enum.h:133
static int Crop_Rect_Abs(Mat *pMA_Out, Mat *pMA_In, int x, int y, int width, int height)
Definition: d_img_proc.cpp:5514
void Update_View()
D_Viewer::Update_View Starts the workflow to show an image.
Definition: d_viewer.cpp:2096
@ c_COL2MONO_RED
Definition: d_enum.h:654
void closeEvent(QCloseEvent *event)
Definition: d_makro_airdragtrack.cpp:96
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
Mat get_FramePos(int frame_number)
Definition: d_videoslicer.cpp:95
QDir * dir_Save()
Definition: d_storage.h:69
int get_Height()
Definition: d_videoslicer.h:83
void Update_Image(Mat *MA_new)
D_Viewer::Update_Image Set and show image.
Definition: d_viewer.cpp:2079
static int Exclude_BorderConnected(Mat *pMA_Out, Mat *pMA_In)
Definition: d_img_proc.cpp:12318
void set_dir_Save(QString path)
Definition: d_storage.h:97
The D_VideoSlicer class Extracts frames from videos as images.
Definition: d_videoslicer.h:54
int set_VideoPath(string S_VideoPath)
Definition: d_videoslicer.cpp:31
int get_Width()
Definition: d_videoslicer.h:82
void resizeEvent(QResizeEvent *event)
Definition: d_makro_airdragtrack.cpp:109
double get_FrameRateFps()
Definition: d_videoslicer.h:75
void set_dir_M_CiliaSphereTracker(QString path)
Definition: d_storage.h:115
const QStringList QSL_Color2Mono
Definition: d_enum.h:667
double get_FrameTimeSec()
Definition: d_videoslicer.h:77
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
void set_ClosingPossible(bool closeable)
Definition: d_makro_airdragtrack.h:63
static int Plot_Line_XY_Multi(QChartView *pChartView, vector< vector< double >> vv_XY_Data, QString name_title, QString name_series, QString name_x, QString name_y, int x_trans=c_AXE_TRANS_LIN, int y_trans=c_AXE_TRANS_LIN, bool dots_visible=false, bool heat_color=false, bool heat_color_AllColors=false, Qt::Alignment legend_pos=Qt::AlignTop)
D_MAKRO_AirDragTrack(D_Storage *pStorage, QWidget *parent=nullptr)
Definition: d_makro_airdragtrack.cpp:12
void set_GV(QGraphicsView *GV_ui)
Definition: d_viewer.cpp:49
static int Plot_Empty(QChartView *pChartView, QString QS_Text="No_Additional_Information")
Definition: d_plot.cpp:16
Definition: d_analysiswindow.h:58
The D_Component_List class is a list of D_Component representing the blobs in a binary image.
Definition: d_component_list.h:46
double get_DurationSec()
Definition: d_videoslicer.h:79
static int Plot_Line_XY_Single(QChartView *pChartView, vector< double > v_XY_Data, QString name_title, QString name_series, QString name_x, QString name_y, int x_trans=c_AXE_TRANS_LIN, int y_trans=c_AXE_TRANS_LIN, bool dots_visible=false, 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:3432
static int Threshold_Absolute_1C(Mat *pMA_Out, Mat *pMA_In, double thres_abs)
Definition: d_img_proc.cpp:6553
const int BORDER_DEFAULT
Definition: d_opencv_typedefs.h:78
QDir * dir_M_CiliaSphereTracker()
Definition: d_storage.h:87
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
Definition: d_makro_airdragtrack.h:54
static int Convert_Color2Mono(Mat *pMA_Out, Mat *pMA_In, int col2mono_code)
Definition: d_img_proc.cpp:2662
@ c_FEAT_AREA
Definition: d_enum.h:1347
long int get_FrameCount()
Definition: d_videoslicer.h:81
~D_MAKRO_AirDragTrack()
Definition: d_makro_airdragtrack.cpp:91