Main Page | Class Hierarchy | Class List | File List | Class Members

wavelet.h

00001 /* 00002 * This file is part of libCP 00003 * FILE: wavelet.h 00004 * AUTHOR: Harald Studer (hs@lexip.ch) 00005 * 00006 * 00007 * Copyright (c) 2004, The libCP project 00008 * 00009 * This program is free software; you can redistribute it and/or modify 00010 * it under the terms of the GNU Public License as published by 00011 * the Free Software Foundation; either version 2 of the License, or 00012 * (at your opinion) any later version. 00013 * 00014 * This program is distributed in the hope that it will be useful, 00015 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00017 * General Public License for more details. 00018 * 00019 * You should have received a copy of the GNU General Public License 00020 * along with this program; see the file COPYING. If not, write to 00021 * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 00022 * Boston, MA 02111-1307, USA. 00023 */ 00024 00025 #ifndef _LIBCP_WAVELET_H_ 00026 #define _LIBCP_WAVELET_H_ 00027 00028 #include <cstdlib> 00029 #include <iostream> 00030 00031 using namespace std; 00032 00033 #include "globals.h" 00034 #include "image.h" 00035 #include "doubleimage.h" 00036 00037 namespace LIBCP{ 00038 00039 #define FORWARD 1 00040 #define INVERSE -1 00041 00046 class Wavelet 00047 { 00048 public: 00049 static int fastWaveletTransform( DoubleImage* dst, Image* src ); 00050 static int inverseFastWaveletTransform( Image* dst, DoubleImage* src ); 00051 static int limitCoefficients( DoubleImage* dst, DoubleImage* src, 00052 int coefficients ); 00053 private: 00054 static void fwt_1d( float* data, int N, int direction ); 00055 static void wavelet( float* data, int N, int direction ); 00056 static void Haar_2( float* data, int N, int direction ); 00057 static void fwt_2d( float** result, Image* src ); 00058 static void fwti_2d( Image* dst, float** result ); 00059 static float** f2d( int i, int j ); 00060 00061 }; //end of class Wavelet 00062 } //end of namespace LIBCP 00063 00064 #endif //_LIBCP_WAVELET_H_

Generated on Wed May 26 16:43:53 2004 for libcp by doxygen 1.3.7