Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00038 #ifndef segDTWT_H
00039 #define segDTWT_H
00040
00041
00042 #define ALIGN_TO_BYTES 16
00043 #define SUBBAND_COUNT 3
00044 #define SUBSAMPLING 1
00045
00046
00047 #define pow2(x) ((1)<<(x)) // makro pro mocninu 2 pomocí bitového posunu
00048 #define r(k,m) (pow2(k)-(1))*((m)-(1))
00049 #define max(x,y) x>y?x:y
00050 #define min(x,y) x<y?x:y
00051 #define odd(x) (x%2)!=0
00052 #define even(x) (x%2)==0
00053
00054 typedef enum {
00055 ZEROS_PADDING = 0,
00056 CONST_PADDING = 1,
00057 SYMETRIC_HP = 2,
00058 SYMETRIC_WP = 3
00059 } wrapType;
00060
00061 typedef struct {
00062 int x;
00063 int y;
00064 int width;
00065 int height;
00066 }Rect;
00067
00068 typedef enum {
00069 RESULT_OK = 0,
00070 RESULT_UNKNOWN_ERROR = -1
00071 }WRESULT;
00072
00073 typedef struct {
00074 int width;
00075 int height;
00076 }Size;
00077
00078 #include "cppTypes.h"
00079 #include "memoryAllocation.h"
00080 #include "imageLoad.h"
00081 #include "tbb/tbb.h"
00082 #include "rangeSegDTWTauto.h"
00083 #include "bodySegDTWT2D.h"
00084 #include "bodySegIDTWT2D.h"
00085
00086
00087
00088
00089
00090 extern wrapType extensionType;
00091
00096 extern Size segSize;
00097
00098
00099
00100
00101 extern char* waveletFile;
00102
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112
00150 WRESULT segDTWTfwd_32f_C1(float* i_data, int i_widthStep, float* subbands[], int widthSteps[], int levels, Size size, separableWavelet* w);
00151
00152
00153
00154
00155
00182 WRESULT segDTWTinv_32f_C1(float* subbands[],int widthSteps[], float* o_data, int o_widthStep, int levels, Size size, separableWavelet* w);
00183
00184
00185 #endif