 |
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.
10 #define D_VISDAT_DIM_H
19 #include <QStringList>
31 #include <opencv2/core/core.hpp>
32 #include <opencv2/highgui/highgui.hpp>
33 #include <opencv2/imgproc/imgproc.hpp>
53 D_VisDat_Dim(
int X,
int Y,
int Z = 1,
int T = 1,
int S = 1,
int P = 1);
58 int size_PixelCount ();
65 int size_Dim (
int idx) {
return idx < vSizes.size() && idx >= 0 ? vSizes[idx] : 1;}
70 Size size_Plane (
int i,
int j) {
return i < c_DIM_NUMBER_OF && i >= 0 && j < c_DIM_NUMBER_OF && j >= 0 ?
Size(vSizes[i], vSizes[j]) : size_XY();}
78 QString
unit_Dim (
int d) {
return d < c_DIM_NUMBER_OF && d >= 0 ? QSL_Units[d] :
"error";}
87 double step_Dim (
int d) {
return d < c_DIM_NUMBER_OF && d >= 0 ? vSteps[d] : 1;}
96 void set_size_Dim (
int idx,
int val) {
if(idx < vSizes.size() && idx >= 0) vSizes[idx] = val;}
97 void set_size_Dims (vector<int> sizes) {
if(sizes.size() == vSizes.size()) vSizes = sizes;}
105 void set_unit_Dim (
int d,
double step = 1, QString unit =
"u") {
if(step > 0 && d < c_DIM_NUMBER_OF && d >= 0) {vSteps[d] = step; QSL_Units[d] = unit;}}
107 int extended_DimsCount ();
108 QString extended_DimsString ();
109 bool is_Dims (
int dims) {
return extended_DimsCount() == dims ? true :
false;}
110 bool is_DimsAtLeast (
int dims) {
return extended_DimsCount() >= dims ? true :
false;}
137 vector<int> vSizes = {1, 1, 1, 1, 1, 1};
138 vector<double> vSteps = {1, 1, 1, 1, 1, 1};
139 QStringList QSL_Units = {
"px",
"px",
"px",
"f",
"",
""};
143 #endif // D_VISDAT_DIM_H
void set_unit_Z(double step=1, QString unit="px")
Definition: d_visdat_dim.h:101
bool is_Dims(int dims)
Definition: d_visdat_dim.h:109
@ ER_okay
Definition: d_enum.h:133
double step_S()
Definition: d_visdat_dim.h:85
Vec< int, c_DIM_NUMBER_OF > ForcePosInRange(Vec< int, c_DIM_NUMBER_OF > pos)
Definition: d_visdat_dim.cpp:111
int size_Y()
Definition: d_visdat_dim.h:60
int size_S()
Definition: d_visdat_dim.h:63
QString unit_Y()
Definition: d_visdat_dim.h:73
@ c_DIM_X
Definition: d_enum.h:235
int size_T()
Definition: d_visdat_dim.h:62
@ c_DIM_Z
Definition: d_enum.h:237
void set_size_X(int X)
Definition: d_visdat_dim.h:90
@ c_DIM_T
Definition: d_enum.h:238
bool is_1D()
Definition: d_visdat_dim.h:111
double step_X()
Definition: d_visdat_dim.h:81
@ c_DIM_Y
Definition: d_enum.h:236
@ ER_dim_Z_out_of_range
Definition: d_enum.h:153
vector< int > size_DimsVec()
Definition: d_visdat_dim.h:66
void loop_Reset()
Definition: d_visdat_dim.h:125
QStringList unit_Dims()
Definition: d_visdat_dim.h:79
void set_size_Dims(vector< int > sizes)
Definition: d_visdat_dim.h:97
bool is_6D()
Definition: d_visdat_dim.h:116
QString extended_DimsString()
Definition: d_visdat_dim.cpp:75
The D_VisDat_Dim class Represents a 6D volume.
Definition: d_visdat_dim.h:49
void set_size_P(int P)
Definition: d_visdat_dim.h:95
void set_unit_Dim(int d, double step=1, QString unit="u")
Definition: d_visdat_dim.h:105
@ c_DIM_S
Definition: d_enum.h:239
void loop_SetOffset(Vec< int, c_DIM_NUMBER_OF > offset)
Definition: d_visdat_dim.h:126
int size_Z()
Definition: d_visdat_dim.h:61
QString unit_Z()
Definition: d_visdat_dim.h:74
@ ER_dim_P_out_of_range
Definition: d_enum.h:159
QString unit_X()
Definition: d_visdat_dim.h:72
Size size_XZ()
Definition: d_visdat_dim.h:68
@ ER_dim_Y_out_of_range
Definition: d_enum.h:151
bool is_5D()
Definition: d_visdat_dim.h:115
int size_PixelCount()
Definition: d_visdat_dim.cpp:56
int size_P()
Definition: d_visdat_dim.h:64
QString unit_S()
Definition: d_visdat_dim.h:76
int DimOutRanged(D_VisDat_Dim VD_container)
Definition: d_visdat_dim.cpp:120
double step_T()
Definition: d_visdat_dim.h:84
double step_Dims()
Definition: d_visdat_dim.h:88
QString unit_P()
Definition: d_visdat_dim.h:77
void set_size_Y(int Y)
Definition: d_visdat_dim.h:91
D_VisDat_Dim()
Definition: d_visdat_dim.cpp:11
void set_size_T(int T)
Definition: d_visdat_dim.h:93
int extended_DimsCount()
Definition: d_visdat_dim.cpp:65
int size_X()
Definition: d_visdat_dim.h:59
int size_Dim(int idx)
Definition: d_visdat_dim.h:65
void set_unit_T(double step=1, QString unit="px")
Definition: d_visdat_dim.h:102
void set_unit_Y(double step=1, QString unit="px")
Definition: d_visdat_dim.h:100
bool is_4D()
Definition: d_visdat_dim.h:114
Size size_Plane(int i, int j)
Definition: d_visdat_dim.h:70
void set_size_Z(int Z)
Definition: d_visdat_dim.h:92
QString unit_Dim(int d)
Definition: d_visdat_dim.h:78
void set_unit_S(double step=1, QString unit="px")
Definition: d_visdat_dim.h:103
void set_size_S(int S)
Definition: d_visdat_dim.h:94
double step_Y()
Definition: d_visdat_dim.h:82
@ c_DIM_P
Definition: d_enum.h:240
double step_Z()
Definition: d_visdat_dim.h:83
bool is_3D()
Definition: d_visdat_dim.h:113
@ c_DIM_NUMBER_OF
Definition: d_enum.h:241
double step_P()
Definition: d_visdat_dim.h:86
bool loop_Next()
Definition: d_visdat_dim.cpp:151
bool isEqual(D_VisDat_Dim VD_compare)
Definition: d_visdat_dim.cpp:132
void set_size_Dim(int idx, int val)
Definition: d_visdat_dim.h:96
Vec< int, c_DIM_NUMBER_OF > loop_PosCurrent_Offset()
Definition: d_visdat_dim.cpp:168
const QStringList QSL_DimIndices
Definition: d_enum.h:251
cv::Vec< T, N > Vec
Definition: d_opencv_typedefs.h:44
Vec< int, c_DIM_NUMBER_OF > loop_PosCurrent()
Definition: d_visdat_dim.h:128
bool is_2D()
Definition: d_visdat_dim.h:112
QString unit_T()
Definition: d_visdat_dim.h:75
bool inRangeOf(D_VisDat_Dim VD_container)
Definition: d_visdat_dim.cpp:102
QString info()
Definition: d_visdat_dim.cpp:141
@ ER_dim_S_out_of_range
Definition: d_enum.h:157
@ ER_dim_X_out_of_range
Definition: d_enum.h:149
void set_unit_P(double step=1, QString unit="px")
Definition: d_visdat_dim.h:104
Size size_XY()
Definition: d_visdat_dim.h:67
@ ER_dim_T_out_of_range
Definition: d_enum.h:155
double step_Dim(int d)
Definition: d_visdat_dim.h:87
void set_unit_X(double step=1, QString unit="px")
Definition: d_visdat_dim.h:99
bool is_DimsAtLeast(int dims)
Definition: d_visdat_dim.h:110
cv::Size Size
Definition: d_opencv_typedefs.h:31
Size size_YZ()
Definition: d_visdat_dim.h:69