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_dnafiber.h
Go to the documentation of this file.
1 /************************************
2  * added: 29.07.2019 *
3  * author: David Eilenstein *
4  * contact: D.Eilenstein@gsi.de *
5  * project: ImageD *
6  * facility: GSI Darmstadt, Ger *
7  ************************************/
8 
9 #ifndef D_MAKRO_DNAFIBER_H
10 #define D_MAKRO_DNAFIBER_H
11 
12 //own
13 #include <d_enum.h>
14 #include <d_error_handler.h>
15 #include <d_visdat_proc.h>
16 #include <d_plot.h>
17 #include <d_stat.h>
18 #include <d_viewer.h>
19 #include <d_storage.h>
20 #include <d_table.h>
21 
22 //Qt
23 #include <QMainWindow>
24 #include <QFileDialog>
25 #include <QFileInfo>
26 #include <QFileInfoList>
27 #include <QDir>
28 #include <QDateTime>
29 #include <QComboBox>
30 #include <QCloseEvent>
31 #include <QResizeEvent>
32 #include <QInputDialog>
33 
34 //Qt::Charts
35 #include <QChartView>
36 #include <QChart>
37 
38 //general
39 #include <iostream>
40 #include <sstream>
41 #include <fstream>
42 #include <vector>
43 #include <algorithm>
44 
45 //openCV
46 #include <opencv2/core/core.hpp>
47 #include <opencv2/highgui/highgui.hpp>
48 #include <opencv2/imgproc/imgproc.hpp>
49 
50 //namespaces
51 using namespace std;
52 //using namespace cv; (prohibited because of abigous names with qtdatavisualization)
53 #include <d_opencv_typedefs.h>
54 
55 
56 
57 namespace Ui {
58 class D_MAKRO_DnaFiber;
59 }
60 
61 class D_MAKRO_DnaFiber : public QMainWindow
62 {
63  Q_OBJECT
64 
65 public:
66  explicit D_MAKRO_DnaFiber(D_Storage *pStorage, QWidget *parent = 0);
68 
69  void closeEvent(QCloseEvent *event);
70  void resizeEvent(QResizeEvent *event);
71  void set_ClosingPossible(bool closeable) {ClosingPossible = closeable;}
72 
73 private slots:
74  void Load_Images();
75 
76  void Param_SetToDefault();
77  bool Param_LoadFromFile();
78  void Param_SaveInFile();
79  void Param_FromUi();
80  void Param_ToUi();
81 
82  void Update_Views();
83  void Update_View_ImgProc();
84  void Update_View_Results();
85  void Update_Ui();
86 
87  void Update_ImgProc(int step_start = 0);
88  void Update_ImgProc_Step(int step);
89  void Update_ImgProc_Visualization();
90 
91  void UpdateSave_AllSingle();
92  void UpdateSave_AllStack();
93 
94  void Calc_DiaHist_Single();
95  void Calc_DiaHist_Stack();
96  void Calc_DiaHist_ClassCount();
97  void Calc_Results_All();
98  void Calc_Results_InputHist();
99  void Calc_Results_DataVector();
100  void Calc_Results_EulerNumber();
101  void Calc_Results_StatVector();
102 
103  void Update_Results();
104  void Update_Results_Visualization();
105  void Update_Results_InputHist();
106  void Update_Results_DiameterHist();
107  void Update_Results_DiameterStat();
108  void Update_Results_Euler();
109  void Update_Results_PixelRatio();
110 
111  void Save_Image_Proc();
112  void Save_Image_Vis();
113  void Save_Plot_DiaHist();
114  void Save_Plot_InputHist();
115  void Save_Table_DiaStat();
116  void Save_Table_Euler();
117  void Save_Table_PixelRatio();
118 
119  void Save_Image_Proc(QString path);
120  void Save_Image_Vis(QString path);
121  void Save_Plot_DiaHist(QString path);
122  void Save_Plot_InputHist(QString path);
123  void Save_Table_DiaStat(QString path);
124  void Save_Table_Euler(QString path);
125  void Save_Table_PixelRatio(QString path);
126 
127  D_VisDat_Slice_2D Slice2D_fromUI();
128 
129  void Populate_CB_Single(QComboBox *CB, QStringList QSL, int index_init);
130  void Populate_CB();
131 
132  void Init_Images();
133 
134  void BlockSignals_ImgProc(bool block);
135  void BlockSignals_Viewer(bool block);
136  void SpacingAdapt_XY_to_Z();
137  void SpacingAdapt_Z_to_XY();
138  void SpacingAdapt_Viewer();
139  void Skelleton_ThresOfVol_Adapt();
140  void SizeAdapt();
141 
142  void on_doubleSpinBox_Controls_Spacing_XY_valueChanged(double arg1);
143  void on_doubleSpinBox_Controls_Spacing_Z_valueChanged(double arg1);
144 
145  void on_spinBox_Controls_Median_Size_XY_valueChanged(int arg1);
146  void on_spinBox_Controls_Median_Size_Z_valueChanged(int arg1);
147  void on_spinBox_Controls_Binary_Thres_valueChanged(int arg1);
148  void on_spinBox_Controls_Eilenstein_XY_valueChanged(int arg1);
149  void on_spinBox_Controls_Eilenstein_Z_valueChanged(int arg1);
150  void on_spinBox_Controls_Skelleton_Thres_valueChanged(int arg1);
151 
152  void on_comboBox_ImgProc_View_Plane_currentIndexChanged(int index);
153  void on_spinBox_ImgProc_View_X_valueChanged(int arg1);
154  void on_spinBox_ImgProc_View_Y_valueChanged(int arg1);
155  void on_spinBox_ImgProc_View_Z_valueChanged(int arg1);
156 
157  void on_comboBox_ImgProc_Img_currentIndexChanged(int index);
158  void on_comboBox_ImgProc_Step_currentIndexChanged(int index);
159 
160 
161  void on_action_Update_Image_Processing_triggered();
162 
163  void on_action_Update_Results_triggered();
164 
165 
166  void on_pushButton_Controls_SaveParam_clicked();
167 
168  void on_comboBox_ResAna_SingleStack_currentIndexChanged(int index);
169 
170 private:
171  Ui::D_MAKRO_DnaFiber *ui;
172  bool ClosingPossible = false;
173 
174  //Spacing Ratio
175  double Spacing_XY_nm = 2;
176  double Spacing_Z_nm = 3;
177  double Spacing_XY_to_Z = Spacing_Z_nm / Spacing_XY_nm;
178  double Spacing_Z_to_XY = Spacing_XY_nm / Spacing_Z_nm;
179 
180  //Paths
181  QStringList QSL_InputImages;
182  QStringList QSL_InputImages_Names;
183  QFileInfoList FIL_InputImages;
184  QFileInfoList FIL_RoiImages;
185  QFileInfoList FIL_Parameters;
186 
187  //Images
189  vector<D_VisDat_Obj> vVD_ProcSteps;
190  D_VisDat_Obj VD_ROI;
191 
192  //Data
193  vector<double> v_Data_Single;
194  vector<double> v_Data_Stack;
195  vector<double> v_Stat_Single;
196  vector<double> v_Stat_Stack;
197  vector<size_t> v_Volume;
198  size_t count_pixels_single = 0;
199  size_t count_pixels_stack = 0;
200  size_t count_zeros_single = 0;
201  size_t count_zeros_stack = 0;
202  double euler_number_single = 0;
203  vector<double> v_euler_number_stack;
204  vector<double> v_hist_input_single;
205  vector<double> v_hist_input_stack;
206 
207  vector<vector<double>> vv_hist_diameters_single;
208  vector<vector<double>> vv_hist_diameters_single_acc;
209  vector<double> v_hist_diameters_stack_equal;
210  vector<double> v_hist_diameters_stack_equal_acc;
211  vector<double> v_hist_diameters_stack_vol;
212  vector<double> v_hist_diameters_stack_vol_acc;
213  const double hist_diameters_min = 0.0;
214  const double hist_diameters_max = 201.0;
215  const double hist_diameters_step = 1.0;
216  size_t hist_diameters_class_count;
217 
218  //Storage
219  D_Storage *pStore;
220 
221  //Viewer
222  Mat MA_Proc_Show;
223  D_Viewer View_Proc;
224  int ViewPlane = c_PLANE_XY;
225  D_VisDat_Obj VD_ResultsVis;
226  Mat MA_ResultsVis;
227  D_Viewer View_Results;
228 
229  //Table
230  D_Table Table_DiameterStat;
231  D_Table Table_Euler;
232  D_Table Table_PixelRatio;
233 
234  //Plot
235  QChartView *pChartView_DiameterHist;
236  QChartView *pChartView_InputHist;
237 
238  //paths
239  QDir DIR_SaveDefault;
240  QDir DIR_SaveSingle;
241  QDir DIR_SaveStack;
242  QDir DIR_SaveStack_Sub;
243 
244  //States
245  bool state_cur_img_loaded = false;
246  bool state_cur_img_processed = false;
247  bool state_cur_img_visualization = false;
248  bool state_cur_res_calced = false;
249  bool state_stack_processed = false;
250  bool state_stack_res_calced = false;
251  bool state_analyse_single = false;
252  bool state_analyse_stack = false;
253 
254  //Param vector
255  vector<double> vParam;
256 
257  //Error handler
258  D_Error_Handler ER;
259  void ERR(int err, QString func = "not specified", QString detail = "not specified");
260 
261  //CONSTANTS
262 
263  //Parameters
264  enum PARAM {
265  PARAM_Spacing_Size_XY,
266  PARAM_Spacing_Size_Z,
267  PARAM_Blur_Size_XY,
268  PARAM_Blur_Size_Z,
269  PARAM_Binary_Thresh,
270  PARAM_Eilenstein_Size_XY,
271  PARAM_Eilenstein_Size_Z,
272  PARAM_Skelleton_Thresh,
273  PARAM_NUMBER_OF
274  };
275  const QStringList QSL_PARAM {
276  "Spacing_Size_XY",
277  "Spacing_Size_Z",
278  "Blur_Size_XY",
279  "Blur_Size_Z",
280  "Binary_Thresh",
281  "Eilenstein_Size_XY",
282  "Eilenstein_Size_Z",
283  "Skelleton_Thresh"
284  };
285 
286  //Planes
287  enum xyzPlanes
288  {
289  c_PL_XY,
290  c_PL_XZ,
291  c_PL_YZ,
293  };
294  const QStringList QSL_XYZ_Planes
295  {
296  "XY",
297  "XZ",
298  "YZ"
299  };
300 
301  //Proc Steps
302  enum ProcSteps
303  {
304  c_ST_LOAD,
305  c_ST_INVERT,
306  c_ST_BLUR,
307  c_ST_ROI_LOAD,
308  c_ST_ROI_CROP,
309  c_ST_BINARY,
310  c_ST_DISTANCE,
311  c_ST_EILENSTEIN,
312  c_ST_SKELLETON,
313  c_ST_DIAMETERS,
314  c_ST_NUMBER_OF
315  };
316  const QStringList QSL_ProcSteps =
317  {
318  "0 - Load Image",
319  "1 - White Foreground",
320  "2 - Median Blur",
321  "3 - Load Region of Interest",
322  "4 - Crop Region of Interest",
323  "5 - Binary",
324  "6 - Distance Map",
325  "7 - Eilenstein Filter",
326  "8 - Skelleton",
327  "9 - Diameters"
328  };
329 
330  //Results
331 
332  enum ResultStyles
333  {
334  c_RES_STYLE_VIS,
335  c_RES_STYLE_PLOT,
336  c_RES_STYLE_NUMBER_OF
337  };
338 
339  enum ResultsTypes
340  {
341  c_RES_TYPE_INPUT_HIST,
342  c_RES_TYPE_DIAMETER_HIST,
343  c_RES_TYPE_DIAMETER_STAT,
344  c_RES_TYPE_EULER,
345  c_RES_TYPE_PIXEL_RATIO,
346  c_RES_TYPE_NUMBER_OF
347  };
348  const QStringList QSL_ResultsTypes =
349  {
350  "Input Histogram",
351  "Diameter Histogram",
352  "Diameter Statistics",
353  "Euler Number",
354  "Pixel Ratio"
355  };
356 
357  enum ResultsPool
358  {
359  c_RES_POOL_SINGLE,
360  c_RES_POOL_STACK,
361  c_RES_POOL_NUMBER_OF
362  };
363  const QStringList QSL_ResultsPool =
364  {
365  "Single Image (3D)",
366  "Stack of Images (3D each)"
367  };
368 
369  enum PoolingWeights
370  {
371  c_POOL_WEIGHT_EQUAL,
372  c_POOL_WEIGHT_VOLUME,
373  c_POOL_WEIGHT_NUMBER_OF
374  };
375  const QStringList QSL_PoolingWeights = {
376  "Pooling weight equal",
377  "Pooling weight by analysed volume"
378  };
379 
380  enum PixelRatio
381  {
382  c_RES_PX_RATIO_ALL,
383  c_RES_PX_RATIO_FG,
384  c_RES_PX_RATIO_FG_ALL,
385  c_RES_PX_RATIO_FG_BG,
386  c_RES_PX_RATIO_BG,
387  c_RES_PX_RATIO_BG_ALL,
388  c_RES_PX_RATIO_BG_FG,
389  c_RES_PX_RATIO_NUMBER_OF
390  };
391  QStringList QSL_PixelRatio =
392  {
393  "Overall Pixels",
394  "Foreground Pixels",
395  "FG/All Pixel Ratio",
396  "FG/BG Pixel Ratio",
397  "Background Pixels",
398  "BG/All Pixel Ratio",
399  "BG/FG Pixel Ratio"
400  };
401 
402  const double euler_average_edges_per_knot = 4;
403  enum EulerStat
404  {
405  c_RES_EULER_NUM,
406  c_RES_EULER_NUM_PER_VX,
407  c_RES_EULER_KN4_PER_LN_VX,
408  c_RES_EULER_KN4,
409  c_RES_EULER_NUMBER_OF
410  };
411  QStringList QSL_Euler =
412  {
413  "Euler Number",
414  "Euler Number per Voxel",
415  "Connections per Voxel (if 2 Fibers per Connection)",
416  "Connections (if 2 Fibers per Connection)"
417  };
418 };
419 
420 #endif // D_MAKRO_DNAFIBER_H
D_MAKRO_DnaFiber::closeEvent
void closeEvent(QCloseEvent *event)
Definition: d_makro_dnafiber.cpp:78
Mat
cv::Mat Mat
Definition: d_opencv_typedefs.h:28
ER_okay
@ ER_okay
Definition: d_enum.h:133
D_Math::Function_2D_to_1D_8bit
static function< uchar(double x, double y)> Function_2D_to_1D_8bit(int type, double a=1, double b=0, double c=1, double d=0, double e=0, double f=0, uchar nan_val=0, uchar inf_val=0)
Definition: d_math.cpp:527
D_VisDat_Proc::Calc_DataVector_1C
static int Calc_DataVector_1C(vector< double > *v_data_out, D_VisDat_Obj *pVD_In, bool ignore_zeros)
Definition: d_visdat_proc.cpp:8278
D_Math::Function_2D_to_1D
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
d_makro_dnafiber.h
c_DIM_X
@ c_DIM_X
Definition: d_enum.h:235
c_DIM_Z
@ c_DIM_Z
Definition: d_enum.h:237
c_PLANE_XY
@ c_PLANE_XY
Definition: d_enum.h:293
d_viewer.h
d_plot.h
D_VisDat_Proc::Create_VD_SinglePaged
static int Create_VD_SinglePaged(D_VisDat_Obj *pVD_New, QString QS_Path, int DimPage=c_DIM_P, int DimImgX=c_DIM_X, int DimImgY=c_DIM_Y)
Definition: d_visdat_proc.cpp:1485
D_VisDat_Proc::Math_2img_Function
static int Math_2img_Function(D_VisDat_Obj *pVD_Out, D_VisDat_Obj *pVD_In0, D_VisDat_Obj *pVD_In1, function< double(double, double)> function_img1_img2)
Definition: d_visdat_proc.cpp:5938
D_Viewer
The D_Viewer class Display images (Mat) in QGraphicsView in the user interface.
Definition: d_viewer.h:58
c_MATH_2D_TO_1D_X_times_Y
@ c_MATH_2D_TO_1D_X_times_Y
Definition: d_enum.h:1037
D_Storage
The D_Storage class Used for storing data. There is only one instance in D_MainWindow .
Definition: d_storage.h:49
c_DIM_Y
@ c_DIM_Y
Definition: d_enum.h:236
D_Viewer::Update_Image
void Update_Image(Mat *MA_new)
D_Viewer::Update_Image Set and show image.
Definition: d_viewer.cpp:2079
d_table.h
c_MATH_2D_TO_1D_Y
@ c_MATH_2D_TO_1D_Y
Definition: d_enum.h:1033
D_VisDat_Proc::Channels_Merge
static int Channels_Merge(D_VisDat_Obj *pVD_Out, D_VisDat_Obj *pVD_In0, D_VisDat_Obj *pVD_In1, D_VisDat_Obj *pVD_In2, D_VisDat_Obj *pVD_In3, int channels_count, bool channels_use[4])
D_VisDat_Proc::Read_2D_Plane
static int Read_2D_Plane(Mat *pMA_Out, D_VisDat_Obj *pVD_In, D_VisDat_Slice_2D InPlane)
Definition: d_visdat_proc.cpp:2946
D_VisDat_Proc::Math_2img_Function_UnequalSize_8bit
static int Math_2img_Function_UnequalSize_8bit(D_VisDat_Obj *pVD_Out, D_VisDat_Obj *pVD_In0, D_VisDat_Obj *pVD_In1, function< uchar(double, double)> function_img1_img2)
Definition: d_visdat_proc.cpp:6121
D_Table::Save_Table
QString Save_Table()
Definition: d_table.cpp:186
D_MAKRO_DnaFiber::~D_MAKRO_DnaFiber
~D_MAKRO_DnaFiber()
Definition: d_makro_dnafiber.cpp:73
NORM_MINMAX
const int NORM_MINMAX
Definition: d_opencv_typedefs.h:149
D_VisDat_Dim
The D_VisDat_Dim class Represents a 6D volume.
Definition: d_visdat_dim.h:49
D_VisDat_Proc::Write_2D_Plane
static int Write_2D_Plane(D_VisDat_Obj *pVD_Out, Mat *pMA_In, D_VisDat_Slice_2D OutPlane)
Definition: d_visdat_proc.cpp:2303
D_Table::set_TW
void set_TW(QTableWidget *TW)
Definition: d_table.cpp:16
c_PLANE_XZ
@ c_PLANE_XZ
Definition: d_enum.h:294
D_Viewer::Save_Image_Dialog
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
D_VisDat_Proc::Math_1img_Inversion
static int Math_1img_Inversion(D_VisDat_Obj *pVD_Out, D_VisDat_Obj *pVD_In)
Definition: d_visdat_proc.cpp:5735
D_VisDat_Obj
The D_VisDat_Obj class Represents a 6D image.
Definition: d_visdat_obj.h:51
D_VisDat_Obj::pMA_full
Mat * pMA_full()
Definition: d_visdat_obj.h:61
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
c_MATH_2D_TO_1D_X
@ c_MATH_2D_TO_1D_X
Definition: d_enum.h:1032
D_Table::set_data_d_1D_qs_qsl
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_STAT_MEDIAN
@ c_STAT_MEDIAN
Definition: d_enum.h:764
c_PL_NUMBER_OF
@ c_PL_NUMBER_OF
Definition: d_enum.h:43
D_Table
The D_Table class Display tables in QTableWidget in the user interface.
Definition: d_table.h:42
D_VisDat_Proc::Filter_Function
static int Filter_Function(D_VisDat_Slicing slice, D_VisDat_Obj *pVD_Out, D_VisDat_Obj *pVD_In, D_VisDat_Obj *pVD_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_visdat_proc.cpp:5371
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
BORDER_REPLICATE
const int BORDER_REPLICATE
Definition: d_opencv_typedefs.h:82
D_VisDat_Proc::Transformation_Distance
static int Transformation_Distance(D_VisDat_Slicing slice, D_VisDat_Obj *pVD_Out, D_VisDat_Obj *pVD_In, int metric, int precision, double spacing_x3d=1.0, double spacing_y3d=1.0, double spacing_z3d=1.0)
Definition: d_visdat_proc.cpp:6401
D_VisDat_Proc::Euler_Number
static int Euler_Number(D_VisDat_Slicing slice, D_VisDat_Obj *pVD_Out, double *euler_number, D_VisDat_Obj *pVD_In)
Definition: d_visdat_proc.cpp:7016
D_Table::set_data_d_2D_qsl_qsl
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
D_VisDat_Proc::Create_VD_Single
static int Create_VD_Single(D_VisDat_Obj *pVD_New, QString QS_Path, int DimImgX=c_DIM_X, int DimImgY=c_DIM_Y)
Definition: d_visdat_proc.cpp:1413
Scalar
cv::Scalar Scalar
Definition: d_opencv_typedefs.h:30
D_Stat::Function_SingleStat_8bit
static function< uchar(vector< double >)> Function_SingleStat_8bit(int stat)
Definition: d_stat.cpp:1779
D_VisDat_Slice_2D
The D_VisDat_Slice_2D class Represents a 2D slice through a D_VisDat_Obj.
Definition: d_visdat_slice_2d.h:18
D_VisDat_Proc::Calc_Hist_1C_8bit
static int Calc_Hist_1C_8bit(vector< double > *v_hist, D_VisDat_Obj *pVD_In, bool uniform, bool accum)
Definition: d_visdat_proc.cpp:8248
D_MAKRO_DnaFiber::D_MAKRO_DnaFiber
D_MAKRO_DnaFiber(D_Storage *pStorage, QWidget *parent=0)
Definition: d_makro_dnafiber.cpp:4
D_VisDat_Proc::Threshold_Absolute
static int Threshold_Absolute(D_VisDat_Obj *pVD_Out, D_VisDat_Obj *pVD_In, double thresh)
Definition: d_visdat_proc.cpp:4875
D_Viewer::set_GV
void set_GV(QGraphicsView *GV_ui)
Definition: d_viewer.cpp:49
D_VisDat_Slicing
The D_VisDat_Slicing class Describes how a D_VisDat_Obj shall be sliced.
Definition: d_visdat_slicing.h:50
c_SLICE_3D_XYZ
@ c_SLICE_3D_XYZ
Definition: d_enum.h:270
Ui
Definition: d_analysiswindow.h:58
c_PLANE_YZ
@ c_PLANE_YZ
Definition: d_enum.h:298
D_VisDat_Proc::Math_2img_SubtractionAbsolute
static int Math_2img_SubtractionAbsolute(D_VisDat_Obj *pVD_Out, D_VisDat_Obj *pVD_In0, D_VisDat_Obj *pVD_In1)
Definition: d_visdat_proc.cpp:5845
d_storage.h
D_Plot::Plot_Line_XY_Single
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
D_VisDat_Proc::Morphology_Dilation
static int Morphology_Dilation(D_VisDat_Slicing slice, D_VisDat_Obj *pVD_Out, D_VisDat_Obj *pVD_In, int elem_size_X, int elem_size_Y, int elem_size_Z)
Definition: d_visdat_proc.cpp:5563
d_opencv_typedefs.h
D_Storage::set_dir_M_DnaFibre
void set_dir_M_DnaFibre(QString path)
Definition: d_storage.h:110
D_Viewer::connect_Zoom
void connect_Zoom(D_Viewer *viewer)
Definition: d_viewer.cpp:128
QSL_StatList
const QStringList QSL_StatList
Definition: d_enum.h:797
D_VisDat_Proc::Filter_Eilenstein_Greater_Sum
static int Filter_Eilenstein_Greater_Sum(D_VisDat_Slicing slice, D_VisDat_Obj *pVD_Out, D_VisDat_Obj *pVD_In, int size_x=3, int size_y=3, int size_z=3)
Definition: d_visdat_proc.cpp:5350
D_MAKRO_DnaFiber
Definition: d_makro_dnafiber.h:62
D_MAKRO_DnaFiber::set_ClosingPossible
void set_ClosingPossible(bool closeable)
Definition: d_makro_dnafiber.h:71
d_enum.h
D_Viewer::Save_Image
QString Save_Image()
D_Viewer::Save_Image Saves the image at FI_LastSaved.
Definition: d_viewer.cpp:2157
d_error_handler.h
D_Table::Save_Table_Dialog
QString Save_Table_Dialog()
Definition: d_table.cpp:158
D_VisDat_Proc::Normalize
static int Normalize(D_VisDat_Obj *pVD_Out, D_VisDat_Obj *pVD_In, int norm, int type, double min, double max)
Definition: d_visdat_proc.cpp:4647
D_MAKRO_DnaFiber::resizeEvent
void resizeEvent(QResizeEvent *event)
Definition: d_makro_dnafiber.cpp:92
d_visdat_proc.h
D_Storage::dir_M_DnaFibre
QDir * dir_M_DnaFibre()
Definition: d_storage.h:82
D_Stat::Calc_Stats
static int Calc_Stats(vector< double > *v_stats, vector< double > v_data, bool calc_sorted)
Definition: d_stat.cpp:16
D_VisDat_Proc::Convert_Depth_NoScaling
static int Convert_Depth_NoScaling(D_VisDat_Obj *pVD_Out, D_VisDat_Obj *pVD_In, int depth)
Definition: d_visdat_proc.cpp:4666
d_stat.h