 |
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_BIO_ATTRIBUTE_FILTER_H
10 #define D_BIO_ATTRIBUTE_FILTER_H
23 #include <QFileDialog>
25 #include <QFileInfoList>
27 #include <QInputDialog>
28 #include <QTextStream>
30 #include <QGridLayout>
31 #include <QVBoxLayout>
32 #include <QHBoxLayout>
33 #include <QPushButton>
35 #include <QDoubleSpinBox>
40 #include <QMessageBox>
41 #include <QFileDialog>
51 #include <opencv2/core/core.hpp>
52 #include <opencv2/highgui/highgui.hpp>
53 #include <opencv2/imgproc/imgproc.hpp>
67 bool set_ui_groupbox(QGroupBox *ui_box);
68 bool set_filter_mode(
size_t mode);
69 bool set_channels(QStringList channels_foc, QStringList channels_val);
70 bool set_ScalePx2Um(
double scale);
71 bool set_SaveDir(QDir* pDirSave);
73 bool set_filter(
size_t i_filt,
bool is_active,
size_t i_att,
size_t i_comp,
size_t i_ch,
double thres_val);
75 bool filter_is_active(
size_t i_filter);
76 size_t filter_inactive_1st();
91 void Filter_CurrentToUi();
92 void Filter_CurrentFromUi();
93 void Filter_UpdateUi_CurrentChannelDependency();
94 void Check_ClearButtonPossible();
100 bool Populate_CB_Single(QComboBox *CB, QStringList QSL,
int index_init = 0);
103 bool Ui_Init_FilterMode();
108 QGroupBox* ui_grpbox_master;
109 QGridLayout* ui_layout_master;
111 QSpinBox* ui_spinbox_selctedFilter;
112 QSpinBox* ui_spinbox_activeFilters;
113 QPushButton* ui_button_Save;
114 QPushButton* ui_button_Load;
115 QPushButton* ui_button_Clear;
116 QPushButton* ui_button_Info;
117 QComboBox* ui_combobox_Attribute;
118 QCheckBox* ui_checkbox_Active;
119 QComboBox* ui_combobox_Channels;
120 QComboBox* ui_combobox_Comparison;
121 QDoubleSpinBox* ui_doublespinbox_Thres;
124 const size_t filter_count = 100;
125 double thres_min = -INFINITY;
126 double thres_max = INFINITY;
127 int thres_decimals = 6;
134 size_t i_channel = 0;
139 vector<Filter> vFilters;
140 vector<size_t> vFilterIndicesActive;
143 bool state_grpbox_set =
false;
144 bool state_ui_init =
false;
145 bool state_filter_mode_set =
false;
146 bool state_filter_mode_2ui =
false;
147 bool state_channels_set =
false;
148 bool state_save_dir_set =
false;
154 QStringList QSL_Channels_Val;
155 QStringList QSL_Channels_Foc;
158 QStringList QSL_Attributes;
161 double scale_px2um = 1;
162 double scale_um2px = 1;
168 #endif // D_BIO_ATTRIBUTE_FILTER_H
static bool attribute_is_focus_channel_dependent(size_t i_attrib)
Definition: d_bio_nucleuslife.cpp:386
bool Filters_Save()
Definition: d_bio_attribute_filter.cpp:249
bool set_ScalePx2Um(double scale)
Definition: d_bio_attribute_filter.cpp:66
const QStringList QSL_CompareSimple
Definition: d_enum.h:1243
bool set_SaveDir(QDir *pDirSave)
Definition: d_bio_attribute_filter.cpp:77
static bool attribute_is_focus_channel_dependent(size_t i_attrib)
Definition: d_bio_focus.cpp:125
@ ATTRIB_FILTER_MODE_FOCI
Definition: d_bio_enum.h:346
@ c_COMPARE_EQUAL
Definition: d_enum.h:1235
const QStringList QSL_Attrib_Nuc
Definition: d_bio_enum.h:246
Definition: d_bio_focus.h:48
void Filters_Clear()
Definition: d_bio_attribute_filter.cpp:236
void Filters_Info()
Definition: d_bio_attribute_filter.cpp:187
static bool attribute_is_focus_channel_dependent(size_t i_attrib)
Definition: d_bio_nucleusblob.cpp:244
double attrib_nuclife(size_t i_attrib_nuclife)
Definition: d_bio_nucleuslife.cpp:332
bool accept_Foc(D_Bio_Focus *pFoc)
Definition: d_bio_attribute_filter.cpp:126
@ ATTRIB_FILTER_MODE_NUC_BLOB
Definition: d_bio_enum.h:347
D_Bio_Attribute_Filter()
Definition: d_bio_attribute_filter.cpp:11
Definition: d_bio_nucleusblob.h:46
static bool attribute_is_value_channel_dependent(size_t i_attrib)
Definition: d_bio_focus.cpp:107
bool set_channels(QStringList channels_foc, QStringList channels_val)
Definition: d_bio_attribute_filter.cpp:50
const QStringList QSL_FilterMode
Definition: d_bio_enum.h:351
bool set_filter(size_t i_filt, bool is_active, size_t i_att, size_t i_comp, size_t i_ch, double thres_val)
Definition: d_bio_attribute_filter.cpp:89
bool set_ui_groupbox(QGroupBox *ui_box)
Definition: d_bio_attribute_filter.cpp:22
double attribute(size_t i_attrib, size_t ch_val, double scale_px2um)
Definition: d_bio_focus.cpp:72
@ ATTRIB_FILTER_MODE_NUMBER_OF
Definition: d_bio_enum.h:349
bool accept_NucBlob(D_Bio_NucleusBlob *pNucBlob)
Definition: d_bio_attribute_filter.cpp:147
@ ATTRIB_FILTER_MODE_NUC_LIFE
Definition: d_bio_enum.h:348
const QStringList QSL_Attrib_NucLife
Definition: d_bio_enum.h:316
Definition: d_bio_attribute_filter.h:61
static bool Compare(size_t compare_index, double v1, double v2)
Definition: d_math.cpp:1395
const QStringList QSL_Attrib_Foc
Definition: d_bio_enum.h:179
bool set_filter_mode(size_t mode)
Definition: d_bio_attribute_filter.cpp:35
static bool attribute_is_value_channel_dependent(size_t i_attrib)
Definition: d_bio_nucleuslife.cpp:400
bool accept_NucLife(D_Bio_NucleusLife *pNucLife)
Definition: d_bio_attribute_filter.cpp:168
static bool attribute_is_value_channel_dependent(size_t i_attrib)
Definition: d_bio_nucleusblob.cpp:226
bool Filters_Load()
Definition: d_bio_attribute_filter.cpp:324
void FilterParamsChanged()
Definition: d_bio_nucleuslife.h:45
size_t filter_inactive_1st()
Definition: d_bio_attribute_filter.cpp:117
double attribute(size_t i_attrib, size_t ch_val, double scale_px2um)
Definition: d_bio_nucleusblob.cpp:116
bool filter_is_active(size_t i_filter)
Definition: d_bio_attribute_filter.cpp:112