#ifndef WAVELET2D_H #define WAVELET2D_H #include #include using namespace std; // the dll exports #if defined WAVE_EXPORT #define EXPORT __declspec(dllexport) #else #define EXPORT __declspec(dllimport) #endif // 1D Functions EXPORT void* dwt1(string, vector &, vector &, vector &); EXPORT void* dyadic_zpad_1d(vector &); EXPORT double convol(vector &, vector &, vector &); EXPORT int filtcoef(string , vector &, vector &, vector &, vector &); EXPORT void downsamp(vector &, int , vector &); EXPORT void upsamp(vector &, int, vector &); EXPORT void circshift(vector &, int ); EXPORT int sign(int); EXPORT void* idwt1(string wname, vector &, vector &, vector &); EXPORT int vecsum(vector &, vector &, vector &); // 1D Symmetric Extension DWT Functions EXPORT void* dwt_sym(vector &, int ,string , vector &,vector &, vector &); EXPORT void* dwt1_sym(string , vector &, vector &, vector &); EXPORT void* idwt_sym(vector &,vector &, string,vector &, vector &); EXPORT void* symm_ext(vector &, int ); EXPORT void* idwt1_sym(string, vector &, vector &, vector &); // Not Tested // 1D Stationary Wavelet Transform EXPORT void* swt(vector &, int , string , vector &, int &) ; EXPORT void* iswt(vector &,int , string, vector &); EXPORT void* per_ext(vector &, int ); // 2D Functions EXPORT void* branch_lp_dn(string , vector &, vector &); EXPORT void* branch_hp_dn(string , vector &, vector &); EXPORT void* branch_lp_hp_up(string ,vector &, vector &, vector &); //EXPORT void* dwt_2d(vector > &, int , string , vector > & // , vector &) ; //EXPORT void* idwt_2d(vector > &,vector &, string ,vector > &); EXPORT void* dyadic_zpad_2d(vector > &,vector > &); EXPORT void* dwt_output_dim(vector >&, int &, int & ); EXPORT void* zero_remove(vector > &,vector > &) ; EXPORT void* getcoeff2d(vector > &, vector > &, vector > &,vector > &,vector &, int &); EXPORT void* idwt2(string ,vector > &, vector > &, vector > &, vector > &, vector > &); EXPORT void* dwt2(string ,vector > &, vector > &, vector > &, vector > &, vector > &); EXPORT void* downsamp2(vector > &,vector > &, int, int); EXPORT void* upsamp2(vector > &,vector > &, int, int); // 2D DWT (Symmetric Extension) Functions EXPORT void* dwt_2d_sym(vector > &, int , string , vector &, vector & , vector &); EXPORT void* dwt2_sym(string ,vector > &, vector > &, vector > &, vector > &, vector > &); EXPORT void* idwt_2d_sym(vector &,vector &, string ,vector > &, vector &); EXPORT void* circshift2d(vector > &, int , int ); EXPORT void symm_ext2d(vector > &,vector > &, int ); EXPORT void* dispDWT(vector &,vector > &, vector &, vector &, int ) ; EXPORT void* dwt_output_dim_sym(vector &,vector &, int ); //2D Stationary Wavelet Transform EXPORT void* swt_2d(vector > &,int , string , vector &); EXPORT void* per_ext2d(vector > &,vector > &, int ); // FFT functions EXPORT double convfft(vector &, vector &, vector &); EXPORT double convfftm(vector &, vector &, vector &); EXPORT void* fft(vector > &,int ,unsigned int); EXPORT void* bitreverse(vector > &); EXPORT void* freq(vector &, vector &); //New EXPORT void* dwt1_sym_m(string wname, vector &signal, vector &cA, vector &cD);//FFTW3 for 2D EXPORT void* idwt1_sym_m(string wname, vector &X, vector &app, vector &detail); EXPORT void* dwt(vector &sig, int J, string nm, vector &dwt_output , vector &flag, vector &length ); EXPORT void* idwt(vector &,vector &, string,vector &, vector &); EXPORT void* dwt_2d(vector > &, int , string , vector &, vector & , vector &); EXPORT void* dwt1_m(string wname, vector &signal, vector &cA, vector &cD) ; EXPORT void* idwt_2d(vector &dwtop,vector &flag, string nm, vector > &idwt_output, vector &length); EXPORT void* idwt1_m(string wname, vector &X, vector &cA, vector &cD); EXPORT void* dwt_output_dim2(vector &length, vector &length2, int J); #endif/* WAVELET2D_H */