annotate dsp/wavelet/Wavelet.h @ 84:e5907ae6de17
* Add GPL and README; some tidying
author |
Chris Cannam |
date |
Mon, 13 Dec 2010 14:55:28 +0000 |
parents |
ba4076cb1be1 |
children |
ccd2019190bf |
rev |
line source |
cannam@60
|
1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
|
cannam@60
|
2
|
cannam@60
|
3 /*
|
cannam@60
|
4 QM DSP Library
|
cannam@60
|
5
|
cannam@60
|
6 Centre for Digital Music, Queen Mary, University of London.
|
cannam@60
|
7 This file copyright 2009 Thomas Wilmering.
|
Chris@84
|
8
|
Chris@84
|
9 This program is free software; you can redistribute it and/or
|
Chris@84
|
10 modify it under the terms of the GNU General Public License as
|
Chris@84
|
11 published by the Free Software Foundation; either version 2 of the
|
Chris@84
|
12 License, or (at your option) any later version. See the file
|
Chris@84
|
13 COPYING included with this distribution for more information.
|
cannam@60
|
14 */
|
cannam@60
|
15
|
cannam@60
|
16 #ifndef _WAVELET_H_
|
cannam@60
|
17 #define _WAVELET_H_
|
cannam@60
|
18
|
cannam@60
|
19 #include <string>
|
cannam@60
|
20 #include <vector>
|
cannam@60
|
21
|
cannam@60
|
22 class Wavelet
|
cannam@60
|
23 {
|
cannam@60
|
24 public:
|
cannam@60
|
25 enum Type {
|
cannam@60
|
26 Haar = 0,
|
cannam@60
|
27 Daubechies_2,
|
cannam@60
|
28 Daubechies_3,
|
cannam@60
|
29 Daubechies_4,
|
cannam@60
|
30 Daubechies_5,
|
cannam@60
|
31 Daubechies_6,
|
cannam@60
|
32 Daubechies_7,
|
cannam@60
|
33 Daubechies_8,
|
cannam@60
|
34 Daubechies_9,
|
cannam@60
|
35 Daubechies_10,
|
cannam@60
|
36 Daubechies_20,
|
cannam@60
|
37 Daubechies_40,
|
cannam@60
|
38 Symlet_2,
|
cannam@60
|
39 Symlet_3,
|
cannam@60
|
40 Symlet_4,
|
cannam@60
|
41 Symlet_5,
|
cannam@60
|
42 Symlet_6,
|
cannam@60
|
43 Symlet_7,
|
cannam@60
|
44 Symlet_8,
|
cannam@60
|
45 Symlet_9,
|
cannam@60
|
46 Symlet_10,
|
cannam@60
|
47 Symlet_20,
|
cannam@60
|
48 Symlet_30,
|
cannam@60
|
49 Coiflet_1,
|
cannam@60
|
50 Coiflet_2,
|
cannam@60
|
51 Coiflet_3,
|
cannam@60
|
52 Coiflet_4,
|
cannam@60
|
53 Coiflet_5,
|
cannam@60
|
54 Biorthogonal_1_3,
|
cannam@60
|
55 Biorthogonal_1_5,
|
cannam@60
|
56 Biorthogonal_2_2,
|
cannam@60
|
57 Biorthogonal_2_4,
|
cannam@60
|
58 Biorthogonal_2_6,
|
cannam@60
|
59 Biorthogonal_2_8,
|
cannam@60
|
60 Biorthogonal_3_1,
|
cannam@60
|
61 Biorthogonal_3_3,
|
cannam@60
|
62 Biorthogonal_3_5,
|
cannam@60
|
63 Biorthogonal_3_7,
|
cannam@60
|
64 Biorthogonal_3_9,
|
cannam@60
|
65 Biorthogonal_4_4,
|
cannam@60
|
66 Biorthogonal_5_5,
|
cannam@60
|
67 Biorthogonal_6_8,
|
cannam@60
|
68 Meyer,
|
cannam@60
|
69
|
cannam@60
|
70 LastType = Meyer
|
cannam@60
|
71 };
|
cannam@60
|
72
|
cannam@60
|
73 static std::string getWaveletName(Type);
|
cannam@60
|
74
|
cannam@60
|
75 static void createDecompositionFilters(Type,
|
cannam@60
|
76 std::vector<float> &lpd,
|
cannam@60
|
77 std::vector<float> &hpd);
|
cannam@60
|
78 };
|
cannam@60
|
79
|
cannam@60
|
80 #endif
|