⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 flwt.h

📁 大师写的二代小波经典之作
💻 H
字号:
/* *  -*- Mode: ANSI C -*- *  $Id: flwt.h,v 1.6 1996/10/06 09:25:47 fernande Exp $ *  $Source: /sgi.acct/sweldens/cvs/liftpack/include/flwt.h,v $ *  Author: Fernandez, Gabriel * *  This file includes declarations for the Direct and Inverse Fast Lifted *  Wavelet Transform (FLWT) functions and for the Filter and Lifting *  coeffients calculation functions. *  We use the "Lifting Scheme" and the "Square 2-D Method" [1,2] which *  help to generate "Biorthogonal Wavelets" as well as "Second Generation *  Wavelets". *  The original signal can be either a 1-D or a 2-D signal. The X and Y  *  dimensions have to be given as parameters. *  N indicates the number of vanishing moments for the dual wavelet. It *  is assumed to be even to apply the interpolation subdivision on the *  interval. See [3] for further reference. *  nTilde indicates the number of vanishing moments for the real wavelet. It *  is assumed to be even for the same reasons stated before. *  Functions GetDual() and GetReal() have to be executed before applying *  any of the transforms and they arein charge of finding the filter and lifting *  coefficients, respectively, given the values of N and nTilde. *  The functions FLWT1D_Predict() FLWT1D_Update() do the prediction of the *  Gamma coefficients and the update of the Lambda coefficients, respectively, *  as stated in [4]. * *  1 Sweldens, W.: The lifting scheme: A custom-design construction of *                  biorthogonal wavelets. Technical report 1994:7, *                  Industrial Mathematics Initiative, Department of Mathematics, *                  University of South Carolina (1994). *  2 Sweldens, W.: The lifting scheme: A construction of second-generation *                  wavelets. Technical report 1995:6, Industrial Mathematics *                  Initiative, Department of Mathematics, University of South *                  Carolina (1995). *  3 Schroder, P. and Sweldens, W.: Building your own wavelets at home. Technical *                  report 1995:5, Industrial Mathematics initiative, Department *                  of Mathematics, University of South Carolina (1995). *  4 Sweldens, W.: The lifting scheme: A new philosophy in Biorthogonal wavelet *                  constructions. To appear in SPIE95 conference (1996). *//* do not edit anything above this line */#ifndef __FLWT_H__#define __FLWT_H__#include "flwtdef.h"/* Calculate filter coefficients for all possible cases and   initialize Integral-Moments for both directions */extern voidGetDual ( const int __cols, const int __rows, const int __N, const int __nTilde,          const boolean __print_coeff, const int __levels );/* Frees memory allocated by GetDual() */extern voidFreeCo ( const int __cols, const int __rows, const int __N, const int __nTilde,         const int __levels );/* Calculate all the lifting coefficients for all levels */extern voidGetReal ( const int __cols, const int __rows, const int __N, const int __nTilde,          const boolean __print_coeffs, const int __levels );/* Direct/Inverse 2D Fast Lifted Wavelet Transform */extern voidFLWT2D ( Matrix __data, const int __cols, const int __rows, const int __N,                        const int __nTilde, const int __levels,                        const boolean __inverse );/* Direct/Inverse 1D Fast Lifted Wavelet Transform */extern voidFLWT1D ( Vector __data, const int __cols, const int __N,                        const int __nTilde, const int __levels,                        const boolean __inverse );/* Direct/Inverse 2D Fast Lifted Wavelet Transform (Average) */extern voidFLWT2D_Haar ( Matrix __data, const int __cols, const int __rows,                             const int __levels, const boolean __inverse );/* Direct/Inverse 1D Fast Lifted Wavelet Transform (Average) */extern voidFLWT1D_Haar ( Vector __vect, const int __cols, const int __levels,                             const boolean __inverse );/* Prediction stage for the 1D transform */extern voidFLWT1D_Predict ( Vector __vect, const long __size, const long __incr,                                const long __step, const long __N );/* Update stage for the 1D transform */extern voidFLWT1D_Update ( Vector __vect, const long __size, const long __incr,                               const long __step, const long __nTilde,                               const Vector __liftingCoeffs );/* Haar coefficients for the 1D transform */extern voidFLWT_Haar ( Vector __vect, const long __size, const long __incr,                           const long __step );                               /* Lambda coefficients for the inverse Haar 1D transform */extern voidIFLWT_Haar ( Vector __vect, const long __size, const long __incr,                            const long __step );/* Applies the FLWT and separates the resulting regions by frequency bands */externMatrix *DSFLWT2D ( Matrix __in, const int __width, const int __height,                                const int __N, const int __nTilde );/* Applies the FLWT and separates the resulting regions by frequency bands */externVector *DSFLWT1D ( Vector __in, const int __width,                                const int __N, const int __nTilde );/* Adjoint the regions by frequency bands an apply the inverse transform */externMatrix ISFLWT2D ( Matrix *__in, const int __width, const int __height,                                const int __N, const int __nTilde );/* Adjoint the regions by frequency bands an apply the inverse transform */externVector ISFLWT1D ( Vector *__in, const int __width,                                const int __N, const int __nTilde );/* Applies the in-place inverse transform to a matrix in Mallat format */externvoid IFLWTP2D ( Matrix __in, const int __width, const int __height,                             const int __N, const int __nTilde );/* Applies the in-place inverse transform to a vector in Mallat format */externvoid IFLWTP1D ( Vector __in, const int __width,                             const int __N, const int __nTilde );#endif /* __FLWT_H__ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -