annotate dsp/wavelet/Wavelet.h @ 60:ba4076cb1be1

* Add wavelet filters from Thomas Wilmering
author cannam
date Thu, 02 Apr 2009 11:17:45 +0000
parents
children e5907ae6de17
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.
cannam@60 8 All rights reserved.
cannam@60 9 */
cannam@60 10
cannam@60 11 #ifndef _WAVELET_H_
cannam@60 12 #define _WAVELET_H_
cannam@60 13
cannam@60 14 #include <string>
cannam@60 15 #include <vector>
cannam@60 16
cannam@60 17 class Wavelet
cannam@60 18 {
cannam@60 19 public:
cannam@60 20 enum Type {
cannam@60 21 Haar = 0,
cannam@60 22 Daubechies_2,
cannam@60 23 Daubechies_3,
cannam@60 24 Daubechies_4,
cannam@60 25 Daubechies_5,
cannam@60 26 Daubechies_6,
cannam@60 27 Daubechies_7,
cannam@60 28 Daubechies_8,
cannam@60 29 Daubechies_9,
cannam@60 30 Daubechies_10,
cannam@60 31 Daubechies_20,
cannam@60 32 Daubechies_40,
cannam@60 33 Symlet_2,
cannam@60 34 Symlet_3,
cannam@60 35 Symlet_4,
cannam@60 36 Symlet_5,
cannam@60 37 Symlet_6,
cannam@60 38 Symlet_7,
cannam@60 39 Symlet_8,
cannam@60 40 Symlet_9,
cannam@60 41 Symlet_10,
cannam@60 42 Symlet_20,
cannam@60 43 Symlet_30,
cannam@60 44 Coiflet_1,
cannam@60 45 Coiflet_2,
cannam@60 46 Coiflet_3,
cannam@60 47 Coiflet_4,
cannam@60 48 Coiflet_5,
cannam@60 49 Biorthogonal_1_3,
cannam@60 50 Biorthogonal_1_5,
cannam@60 51 Biorthogonal_2_2,
cannam@60 52 Biorthogonal_2_4,
cannam@60 53 Biorthogonal_2_6,
cannam@60 54 Biorthogonal_2_8,
cannam@60 55 Biorthogonal_3_1,
cannam@60 56 Biorthogonal_3_3,
cannam@60 57 Biorthogonal_3_5,
cannam@60 58 Biorthogonal_3_7,
cannam@60 59 Biorthogonal_3_9,
cannam@60 60 Biorthogonal_4_4,
cannam@60 61 Biorthogonal_5_5,
cannam@60 62 Biorthogonal_6_8,
cannam@60 63 Meyer,
cannam@60 64
cannam@60 65 LastType = Meyer
cannam@60 66 };
cannam@60 67
cannam@60 68 static std::string getWaveletName(Type);
cannam@60 69
cannam@60 70 static void createDecompositionFilters(Type,
cannam@60 71 std::vector<float> &lpd,
cannam@60 72 std::vector<float> &hpd);
cannam@60 73 };
cannam@60 74
cannam@60 75 #endif