diff --git a/src/wavelet.h b/src/wavelet.h new file mode 100644 index 0000000..6d04d22 --- /dev/null +++ b/src/wavelet.h @@ -0,0 +1,142 @@ +/* + * wavelet.h + * + * Created on: April 11, 2011 + * Author: Rafat Hussain + */ + +#ifndef WAVELET_H_ +#define WAVELET_H_ +#include +#include +using namespace std; + + +// 1D Functions +void* dwt(vector &, int ,string , vector &, vector &); + +void* dwt1(string, vector &, vector &, vector &); + +void* dyadic_zpad_1d(vector &); + +double convol(vector &, vector &, vector &); + +int filtcoef(string , vector &, vector &, vector &, + vector &); + +void downsamp(vector &, int , vector &); + +void upsamp(vector &, int, vector &); + +void circshift(vector &, int ); + +int sign(int); + +void* gnudwtplot(int); + +void* idwt(vector &,vector &, string , vector &) ; + +void* idwt1(string wname, vector &, vector &, vector &); + +int vecsum(vector &, vector &, vector &); + + + +// 1D Symmetric Extension DWT Functions + + + +void* dwt_sym(vector &, int ,string , vector &,vector &, + vector &, int ); + +void* dwt1_sym(string , vector &, vector &, vector &); + +void* idwt_sym(vector &,vector &, string,vector &, vector &); + +void* symm_ext(vector &, int ); + +void* idwt1_sym(string, vector &, vector &, vector &); // Not Tested + +// 1D Stationary Wavelet Transform + +void* swt(vector &, int , string , vector &, int &) ; + +void* iswt(vector &,int , string, vector &); + +void* gnuswtplot(int ); + +void* per_ext(vector &, int ); + + + + +// 2D Functions + +void* branch_lp_dn(string , vector &, vector &); + +void* branch_hp_dn(string , vector &, vector &); + +void* branch_lp_hp_up(string ,vector &, vector &, vector &); + +void* dwt_2d(vector > &, int , string , vector > & + , vector &) ; + +void* idwt_2d(vector > &,vector &, string ,vector > &); + +void* dyadic_zpad_2d(vector > &,vector > &); + +void* dwt_output_dim(vector >&, int &, int & ); + +void* zero_remove(vector > &,vector > &) ; + +void* getcoeff2d(vector > &, vector > &, + vector > &,vector > &,vector &, int &); + +void* idwt2(string ,vector > &, vector > &, + vector > &, vector > &, vector > &); + +void* dwt2(string ,vector > &, vector > &, + vector > &, vector > &, vector > &); + +void* downsamp2(vector > &,vector > &, int, int); + +void* upsamp2(vector > &,vector > &, int, int); + +// 2D DWT (Symmetric Extension) Functions + +void* dwt_2d_sym(vector > &, int , string , vector &, vector & , + vector &, int ); + +void* dwt2_sym(string ,vector > &, vector > &, + vector > &, vector > &, vector > &); + +void* idwt_2d_sym(vector &,vector &, string ,vector > &, + vector &); + +void* circshift2d(vector > &, int , int ); + +void symm_ext2d(vector > &,vector > &, int ); + +void* dispDWT(vector &,vector > &, vector &, vector &, int ) ; + +void* dwt_output_dim_sym(vector &,vector &, int ); + +//2D Stationary Wavelet Transform + +void* swt_2d(vector > &,int , string , vector &); + +void* per_ext2d(vector > &,vector > &, int ); + +// FFT functions + + +double convfft(vector &, vector &, vector &); + +void* fft(vector > &,int ,unsigned int); + +void* bitreverse(vector > &); + +void* freq(vector &, vector &); + + +#endif /* WAVELET_H_ */