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_visdat_obj.h
Go to the documentation of this file.
1 /************************************
2  * added: 16.04.2019 *
3  * author: David Eilenstein *
4  * contact: D.Eilenstein@gsi.de *
5  * project: ImageD *
6  * facility: GSI Darmstadt, Ger *
7  ************************************/
8 
9 #ifndef D_VISDAT_OBJ_H
10 #define D_VISDAT_OBJ_H
11 
12 //own
13 #include <d_enum.h>
14 #include <d_error_handler.h>
15 #include <d_visdat_header.h>
16 #include <d_visdat_dim.h>
17 #include <d_visdat_range.h>
18 #include <d_visdat_slice_2d.h>
19 
20 //Qt
21 #include <QDateTime>
22 #include <QString>
23 #include <QStringList>
24 
25 //Qt::Charts
26 
27 //general
28 #include <iostream>
29 #include <sstream>
30 #include <fstream>
31 #include <vector>
32 #include <algorithm>
33 
34 //openCV
35 #include <opencv2/core/core.hpp>
36 #include <opencv2/highgui/highgui.hpp>
37 #include <opencv2/imgproc/imgproc.hpp>
38 
39 //namespaces
40 using namespace std;
41 //using namespace cv; (prohibited because of abigous names with qtdatavisualization)
42 #include <d_opencv_typedefs.h>
43 
51 {
52 public:
53  D_VisDat_Obj();
54  D_VisDat_Obj(double init_val);
55  D_VisDat_Obj(D_VisDat_Dim dim, int mat_typ = CV_8UC1);
56  D_VisDat_Obj(D_VisDat_Dim dim, int mat_typ, double init_val);
58 
59 
60  Mat MA_full () {return MA_Data;}
61  Mat* pMA_full () {return &MA_Data;}
62  Mat MA_2dMat (D_VisDat_Slice_2D Slice_2d);
63  Mat MA_SubMat (D_VisDat_Range RG);
64 
65  vector<double> at (int x, int y, int z, int t, int s, int p);
66  vector<double> at (Vec<int, c_DIM_NUMBER_OF> pos);
67 
68  size_t size_PixelCount();
69  size_t size_BitPerPixel();
70  size_t size_Bit();
71  size_t size_Byte();
72  D_VisDat_Dim Dim () {return VD_Dim;}
73  D_VisDat_Dim* pDim () {return &VD_Dim;}
74 
75  int type () {return MA_Type;}
76  int channels () {return MA_Channels;}
77 
78  QString info ();
79  QString info_short ();
80  QString Info_Dims ();
81  QString Info_Type (bool more_detail = false);
82  QString Info_TypeDetail ();
83  QString Info_Memory ();
84 
86  Mat MA_Data; //6D + Channels
87  int MA_Type = CV_8UC1;
88  int MA_Channels = 1;
89 
90  QString QS_Name = "VD_obj";
91 
92 private:
93 
94  void Init(double val = 200);
95 
96 
97 };
98 
99 #endif // D_VISDAT_OBJ_H
Mat
cv::Mat Mat
Definition: d_opencv_typedefs.h:28
QSL_Errors
const QStringList QSL_Errors
Definition: d_enum.h:183
D_VisDat_Obj::info
QString info()
Definition: d_visdat_obj.cpp:157
D_VisDat_Obj::MA_2dMat
Mat MA_2dMat(D_VisDat_Slice_2D Slice_2d)
Definition: d_visdat_obj.cpp:38
D_VisDat_Dim::size_Y
int size_Y()
Definition: d_visdat_dim.h:60
D_VisDat_Dim::size_S
int size_S()
Definition: d_visdat_dim.h:63
Vec3i
cv::Vec3i Vec3i
Definition: d_opencv_typedefs.h:54
D_VisDat_Dim::size_T
int size_T()
Definition: d_visdat_dim.h:62
Vec2i
cv::Vec2i Vec2i
Definition: d_opencv_typedefs.h:48
Vec3d
cv::Vec3d Vec3d
Definition: d_opencv_typedefs.h:52
D_VisDat_Obj::D_VisDat_Obj
D_VisDat_Obj()
Definition: d_visdat_obj.cpp:3
Vec2w
cv::Vec2w Vec2w
Definition: d_opencv_typedefs.h:50
D_VisDat_Obj::MA_Channels
int MA_Channels
Definition: d_visdat_obj.h:88
D_VisDat_Range
The D_VisDat_Range class Describes the intersect of two D_VisDat_Dim , so it is a 6D subvolume.
Definition: d_visdat_range.h:46
Vec3b
cv::Vec3b Vec3b
Definition: d_opencv_typedefs.h:51
Vec2b
cv::Vec2b Vec2b
Definition: d_opencv_typedefs.h:45
Vec3w
cv::Vec3w Vec3w
Definition: d_opencv_typedefs.h:56
D_VisDat_Dim
The D_VisDat_Dim class Represents a 6D volume.
Definition: d_visdat_dim.h:49
d_visdat_dim.h
D_VisDat_Obj::Info_Type
QString Info_Type(bool more_detail=false)
Definition: d_visdat_obj.cpp:269
D_VisDat_Obj::size_Byte
size_t size_Byte()
Definition: d_visdat_obj.cpp:152
D_VisDat_Obj::channels
int channels()
Definition: d_visdat_obj.h:76
D_VisDat_Dim::size_Z
int size_Z()
Definition: d_visdat_dim.h:61
D_VisDat_Header::Type_of_mat
int Type_of_mat()
Definition: d_visdat_header.h:43
D_VisDat_Obj
The D_VisDat_Obj class Represents a 6D image.
Definition: d_visdat_obj.h:51
D_VisDat_Header::SaveTime
QString SaveTime()
Definition: d_visdat_header.cpp:43
D_VisDat_Obj::VD_Dim
D_VisDat_Dim VD_Dim
Definition: d_visdat_obj.h:85
Vec2s
cv::Vec2s Vec2s
Definition: d_opencv_typedefs.h:49
D_VisDat_Obj::pMA_full
Mat * pMA_full()
Definition: d_visdat_obj.h:61
D_VisDat_Dim::size_PixelCount
int size_PixelCount()
Definition: d_visdat_dim.cpp:56
D_VisDat_Dim::size_P
int size_P()
Definition: d_visdat_dim.h:64
D_VisDat_Slice_Nd::extended_Dim
int extended_Dim(int ext_number)
Definition: d_visdat_slice_nd.h:63
D_VisDat_Obj::Info_TypeDetail
QString Info_TypeDetail()
d_visdat_range.h
D_VisDat_Obj::Dim
D_VisDat_Dim Dim()
Definition: d_visdat_obj.h:72
D_VisDat_Obj::MA_Type
int MA_Type
Definition: d_visdat_obj.h:87
D_VisDat_Obj::size_PixelCount
size_t size_PixelCount()
Definition: d_visdat_obj.cpp:104
ER_type_bad
@ ER_type_bad
Definition: d_enum.h:136
Vec3f
cv::Vec3f Vec3f
Definition: d_opencv_typedefs.h:53
Vec2f
cv::Vec2f Vec2f
Definition: d_opencv_typedefs.h:47
D_VisDat_Dim::size_X
int size_X()
Definition: d_visdat_dim.h:59
D_VisDat_Obj::at
vector< double > at(int x, int y, int z, int t, int s, int p)
Definition: d_visdat_obj.cpp:61
D_VisDat_Dim::size_Dim
int size_Dim(int idx)
Definition: d_visdat_dim.h:65
D_VisDat_Slice_Nd::forceToBeInRangeOf
void forceToBeInRangeOf(D_VisDat_Dim dim_container)
Definition: d_visdat_slice_nd.cpp:95
Scalar
cv::Scalar Scalar
Definition: d_opencv_typedefs.h:30
D_VisDat_Obj::MA_SubMat
Mat MA_SubMat(D_VisDat_Range RG)
Definition: d_visdat_obj.cpp:51
D_VisDat_Obj::size_BitPerPixel
size_t size_BitPerPixel()
Definition: d_visdat_obj.cpp:109
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
Vec2d
cv::Vec2d Vec2d
Definition: d_opencv_typedefs.h:46
D_VisDat_Obj::Info_Dims
QString Info_Dims()
Definition: d_visdat_obj.cpp:216
D_VisDat_Obj::info_short
QString info_short()
Definition: d_visdat_obj.cpp:162
d_visdat_slice_2d.h
D_VisDat_Obj::MA_full
Mat MA_full()
Definition: d_visdat_obj.h:60
D_VisDat_Obj::MA_Data
Mat MA_Data
Definition: d_visdat_obj.h:86
D_VisDat_Obj::type
int type()
Definition: d_visdat_obj.h:75
c_DIM_NUMBER_OF
@ c_DIM_NUMBER_OF
Definition: d_enum.h:241
D_VisDat_Obj::size_Bit
size_t size_Bit()
Definition: d_visdat_obj.cpp:147
d_opencv_typedefs.h
D_VisDat_Obj::pDim
D_VisDat_Dim * pDim()
Definition: d_visdat_obj.h:73
D_VisDat_Header
The D_VisDat_Header class Contains the meta data of a D_VisDat_Obj.
Definition: d_visdat_header.h:37
D_VisDat_Obj::QS_Name
QString QS_Name
Definition: d_visdat_obj.h:90
d_visdat_obj.h
d_enum.h
Vec
cv::Vec< T, N > Vec
Definition: d_opencv_typedefs.h:44
d_error_handler.h
D_VisDat_Range::Ranges
vector< Range > Ranges()
Definition: d_visdat_range.cpp:34
D_VisDat_Obj::Info_Memory
QString Info_Memory()
Definition: d_visdat_obj.cpp:357
Vec3s
cv::Vec3s Vec3s
Definition: d_opencv_typedefs.h:55
d_visdat_header.h