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_datavolume_3d.h
Go to the documentation of this file.
1 #ifndef D_DATAVOLUME_3D_H
2 #define D_DATAVOLUME_3D_H
3 
4 //own
5 #include <d_enum.h>
6 #include <d_visdat_obj.h>
7 #include <d_stat.h>
8 
9 //general
10 #include <vector>
11 #include <thread>
12 
13 //Qt
14 #include <QObject>
15 #include <QString>
16 #include <QDebug>
17 
18 //openCV
19 #include <opencv2/core/core.hpp>
20 #include <opencv2/highgui/highgui.hpp>
21 #include <opencv2/imgproc/imgproc.hpp>
22 #include "opencv2/stitching.hpp"
23 
24 //namespaces
25 using namespace std;
26 //using namespace cv; (prohibited because of abigous names with qtdatavisualization)
27 #include <d_opencv_typedefs.h>
28 
34 {
35  //Q_OBJECT
36 public:
38 
39  bool init_VolumeSize (size_t sz, size_t sy, size_t sx);
40 
41  bool add_Value (size_t z, size_t y, size_t x, double value);
42  bool add_Values (size_t z, size_t y, size_t x, vector<double> v_values);
43  double get_Value (size_t z, size_t y, size_t x, size_t i);
44  vector<double> get_Values (size_t z, size_t y, size_t x);
45 
46  int calc_stats(D_VisDat_Obj* pVD_Out, size_t stat, bool linear, Point3i mask_size, double default_value, int min_elements_thres);
47 
48 private:
49 
50  //raw data
51  vector<vector<vector<vector<double>>>> vvvvData_ZYXI;
52 
53  static bool calc_stats_thread (D_VisDat_Obj *pVD_StatOut, vector<vector<vector<vector<double>>>>* pvvvvDataIn_ZYXI, function<double (vector<double>)> F_stat, size_t min_elements_thres, Point3i mask_size, Point3i P_start, Point3i P_end);
54 
55 };
56 
57 #endif // D_DATAVOLUME_3D_H
D_VisDat_Obj::info
QString info()
Definition: d_visdat_obj.cpp:157
ER_okay
@ ER_okay
Definition: d_enum.h:133
c_DIM_X
@ c_DIM_X
Definition: d_enum.h:235
c_DIM_Z
@ c_DIM_Z
Definition: d_enum.h:237
D_DataVolume_3D::add_Values
bool add_Values(size_t z, size_t y, size_t x, vector< double > v_values)
Definition: d_datavolume_3d.cpp:29
c_DIM_Y
@ c_DIM_Y
Definition: d_enum.h:236
D_DataVolume_3D::init_VolumeSize
bool init_VolumeSize(size_t sz, size_t sy, size_t sx)
Definition: d_datavolume_3d.cpp:8
D_DataVolume_3D::calc_stats
int calc_stats(D_VisDat_Obj *pVD_Out, size_t stat, bool linear, Point3i mask_size, double default_value, int min_elements_thres)
D_DataVolume_3D::calc_stats reduces the data volume to a D_VisDat_Obj where the px values describe th...
Definition: d_datavolume_3d.cpp:72
D_VisDat_Dim
The D_VisDat_Dim class Represents a 6D volume.
Definition: d_visdat_dim.h:49
D_Stat::Function_SingleStat
static function< double(vector< double >)> Function_SingleStat(int stat)
Definition: d_stat.cpp:683
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_DataVolume_3D::get_Value
double get_Value(size_t z, size_t y, size_t x, size_t i)
Definition: d_datavolume_3d.cpp:43
D_DataVolume_3D::get_Values
vector< double > get_Values(size_t z, size_t y, size_t x)
Definition: d_datavolume_3d.cpp:53
D_DataVolume_3D::add_Value
bool add_Value(size_t z, size_t y, size_t x, double value)
Definition: d_datavolume_3d.cpp:19
d_datavolume_3d.h
D_DataVolume_3D
The D_DataVolume_3D class abstract 3D data volume. WIP, NOT TESTED!
Definition: d_datavolume_3d.h:34
D_VisDat_Dim::size_Dim
int size_Dim(int idx)
Definition: d_visdat_dim.h:65
c_STAT_CIRC_NUMBER_OF
@ c_STAT_CIRC_NUMBER_OF
Definition: d_enum.h:922
D_Stat::Function_SingleStat_Circ_Rad
static function< double(vector< double >)> Function_SingleStat_Circ_Rad(int stat)
Definition: d_stat.cpp:2825
D_DataVolume_3D::D_DataVolume_3D
D_DataVolume_3D()
Definition: d_datavolume_3d.cpp:3
d_opencv_typedefs.h
Point3i
cv::Point3i Point3i
Definition: d_opencv_typedefs.h:39
d_visdat_obj.h
d_enum.h
c_STAT_NUMBER_OF_STATS
@ c_STAT_NUMBER_OF_STATS
Definition: d_enum.h:795
QSL_DimIndices
const QStringList QSL_DimIndices
Definition: d_enum.h:251
Vec
cv::Vec< T, N > Vec
Definition: d_opencv_typedefs.h:44
ER_index_out_of_range
@ ER_index_out_of_range
Definition: d_enum.h:146
d_stat.h
ER_empty
@ ER_empty
Definition: d_enum.h:135