 |
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_VISDAT_SLICING_H
10 #define D_VISDAT_SLICING_H
24 #include <QStringList>
36 #include <opencv2/core/core.hpp>
37 #include <opencv2/highgui/highgui.hpp>
38 #include <opencv2/imgproc/imgproc.hpp>
58 int ProcDims_Count ();
59 bool is_0D () {
return (ProcDims_Count() == 0);}
60 bool is_1D () {
return (ProcDims_Count() == 1);}
61 bool is_2D () {
return (ProcDims_Count() == 2);}
62 bool is_3D () {
return (ProcDims_Count() == 3);}
63 bool is_4D () {
return (ProcDims_Count() == 4);}
64 bool is_5D () {
return (ProcDims_Count() == 5);}
65 bool is_6D () {
return (ProcDims_Count() == 6);}
87 void set_proc_Dims (vector<int> v_proc) {
if(v_proc.size() == v_ProcDims.size()) v_ProcDims = v_proc;}
93 int loop_SliceCount ();
105 vector<int> v_ProcDims;
106 void Init_Slicing ();
108 vector<int> v_LoopSize;
109 vector<int> v_LoopCur;
110 bool Loop_Init =
false;
113 #endif // D_VISDAT_SLICING_H
bool is_4D()
Definition: d_visdat_slicing.h:63
bool loop_Next()
Definition: d_visdat_slicing.cpp:268
bool loop_Init(D_VisDat_Dim dim2loop)
Definition: d_visdat_slicing.cpp:235
@ c_DIM_X
Definition: d_enum.h:235
@ c_DIM_Z
Definition: d_enum.h:237
@ c_PLANE_XY
Definition: d_enum.h:293
@ c_DIM_T
Definition: d_enum.h:238
void set_proc_T(bool proc)
Definition: d_visdat_slicing.h:83
bool is_2D()
Definition: d_visdat_slicing.h:61
@ c_SLICE_2D_YZ
Definition: d_enum.h:269
bool is_proc_S()
Definition: d_visdat_slicing.h:70
QString QS_info()
Definition: d_visdat_slicing.cpp:217
@ c_DIM_Y
Definition: d_enum.h:236
@ c_PLANE_XS
Definition: d_enum.h:296
@ c_SLICE_4D_XYZT
Definition: d_enum.h:272
bool is_5D()
Definition: d_visdat_slicing.h:64
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
void set_proc_Dim(int d, bool proc)
Definition: d_visdat_slicing.h:86
@ c_SLICE_6D_ALL
Definition: d_enum.h:273
bool is_proc_Dim(int d)
Definition: d_visdat_slicing.h:72
@ c_PLANE_YP
Definition: d_enum.h:301
D_VisDat_Slice_1D loop1D_SliceByIndex(int i)
Definition: d_visdat_slicing.cpp:325
@ c_SLICE_1D_Y
Definition: d_enum.h:262
The D_VisDat_Dim class Represents a 6D volume.
Definition: d_visdat_dim.h:49
bool is_proc_T()
Definition: d_visdat_slicing.h:69
@ c_DIM_S
Definition: d_enum.h:239
@ c_PLANE_ZP
Definition: d_enum.h:304
@ c_PLANE_XZ
Definition: d_enum.h:294
@ c_PLANE_XP
Definition: d_enum.h:297
bool is_proc_XYZ()
Definition: d_visdat_slicing.h:74
D_VisDat_Slicing()
Definition: d_visdat_slicing.cpp:11
@ c_PLANE_XT
Definition: d_enum.h:295
void set_proc_Z(bool proc)
Definition: d_visdat_slicing.h:82
@ c_SLICE_3D_XYT
Definition: d_enum.h:271
D_VisDat_Slice_3D loop3D_SliceByIndex(int i)
Definition: d_visdat_slicing.cpp:405
bool is_6D()
Definition: d_visdat_slicing.h:65
@ c_SLICE_1D_X
Definition: d_enum.h:261
@ c_PLANE_TP
Definition: d_enum.h:306
bool is_0D()
Definition: d_visdat_slicing.h:59
int loop_SliceCount()
Definition: d_visdat_slicing.cpp:288
int size_Dim(int idx)
Definition: d_visdat_dim.h:65
int ProcDims_Count()
Definition: d_visdat_slicing.cpp:190
bool is_3D()
Definition: d_visdat_slicing.h:62
@ c_PLANE_TS
Definition: d_enum.h:305
The D_VisDat_Slice_2D class Represents a 2D slice through a D_VisDat_Obj.
Definition: d_visdat_slice_2d.h:18
The D_VisDat_Slice_1D class Represents a 1D slice through a D_VisDat_Obj.
Definition: d_visdat_slice_1d.h:18
void Init()
Definition: d_visdat_range.cpp:99
The D_VisDat_Slice_3D class Represents a 3D slice through a D_VisDat_Obj.
Definition: d_visdat_slice_3d.h:18
bool is_1D()
Definition: d_visdat_slicing.h:60
@ c_PLANE_YT
Definition: d_enum.h:299
D_VisDat_Slice_3D loop3D_SliceCurrent()
Definition: d_visdat_slicing.cpp:317
The D_VisDat_Slicing class Describes how a D_VisDat_Obj shall be sliced.
Definition: d_visdat_slicing.h:50
vector< int > ProcDims()
Definition: d_visdat_slicing.h:77
@ c_SLICE_3D_XYZ
Definition: d_enum.h:270
D_VisDat_Slice_1D loop1D_SliceCurrent()
Definition: d_visdat_slicing.cpp:301
@ c_PLANE_ZT
Definition: d_enum.h:302
bool is_proc_XY()
Definition: d_visdat_slicing.h:73
@ c_PLANE_YZ
Definition: d_enum.h:298
@ c_DIM_P
Definition: d_enum.h:240
void set_proc_P(bool proc)
Definition: d_visdat_slicing.h:85
@ c_DIM_NUMBER_OF
Definition: d_enum.h:241
@ c_SLICE_1D_Z
Definition: d_enum.h:263
void set_proc_Dims(vector< int > v_proc)
Definition: d_visdat_slicing.h:87
@ c_SLICE_1D_T
Definition: d_enum.h:264
@ c_PLANE_ZS
Definition: d_enum.h:303
void set_proc_Y(bool proc)
Definition: d_visdat_slicing.h:81
bool is_proc_P()
Definition: d_visdat_slicing.h:71
void set_proc_S(bool proc)
Definition: d_visdat_slicing.h:84
bool is_proc_XYT()
Definition: d_visdat_slicing.h:75
D_VisDat_Slice_2D loop2D_SliceCurrent()
Definition: d_visdat_slicing.cpp:309
void set_proc_X(bool proc)
Definition: d_visdat_slicing.h:80
const QStringList QSL_DimIndices
Definition: d_enum.h:251
bool is_proc_Z()
Definition: d_visdat_slicing.h:68
bool is_proc_X()
Definition: d_visdat_slicing.h:66
@ c_SLICE_1D_S
Definition: d_enum.h:265
int ProcDim(int p)
Definition: d_visdat_slicing.cpp:200
bool is_proc_Y()
Definition: d_visdat_slicing.h:67
@ c_SLICE_1D_P
Definition: d_enum.h:266
@ c_PLANE_YS
Definition: d_enum.h:300
@ c_SLICE_2D_XY
Definition: d_enum.h:267
D_VisDat_Slice_2D loop2D_SliceByIndex(int i)
Definition: d_visdat_slicing.cpp:365
@ c_SLICE_2D_XZ
Definition: d_enum.h:268
@ c_PLANE_SP
Definition: d_enum.h:307