panwave
src
WaveletPacketTree.h
1
//-------------------------------------------------------------------------------------------------------
2
// Copyright (C) Taylor Woll and panwave contributors. All rights reserved.
3
// Licensed under the MIT license. See LICENSE.txt file in the project root for
4
// full license information.
5
//-------------------------------------------------------------------------------------------------------
6
7
#ifndef WAVELETPACKETTREE_H
8
#define WAVELETPACKETTREE_H
9
10
#include "WaveletMath.h"
11
#include "WaveletPacketTreeTemplateBase.h"
12
13
namespace
panwave {
14
15
class
Wavelet;
16
25
class
WaveletPacketTree
:
public
WaveletPacketTreeTemplateBase
<2> {
26
public
:
43
WaveletPacketTree
(
size_t
height,
const
Wavelet
* wavelet,
44
DyadicMode dyadic_mode = DyadicMode::Odd,
45
PaddingMode padding_mode = PaddingMode::Zeroes);
46
~
WaveletPacketTree
()
override
=
default
;
47
48
void
Decompose
()
override
;
49
void
Reconstruct
(
size_t
level)
override
;
50
51
protected
:
52
void
IsolateLevel(
size_t
level);
53
54
void
DecomposeNode(
size_t
node);
55
void
ReconstructNode(
size_t
node);
56
57
private
:
58
DyadicMode dyadic_mode_;
59
PaddingMode padding_mode_;
60
};
61
62
}
// namespace panwave
63
64
#endif // WAVELETPACKETTREE_H
panwave::Wavelet
Definition:
Wavelet.h:21
panwave::WaveletPacketTree::Reconstruct
void Reconstruct(size_t level) override
Definition:
WaveletPacketTree.cc:32
panwave::WaveletPacketTree
Definition:
WaveletPacketTree.h:25
panwave::WaveletPacketTreeTemplateBase
Definition:
WaveletPacketTreeTemplateBase.h:22
panwave::WaveletPacketTree::Decompose
void Decompose() override
Definition:
WaveletPacketTree.cc:30
panwave::WaveletPacketTree::WaveletPacketTree
WaveletPacketTree(size_t height, const Wavelet *wavelet, DyadicMode dyadic_mode=DyadicMode::Odd, PaddingMode padding_mode=PaddingMode::Zeroes)
Definition:
WaveletPacketTree.cc:23
Generated by
1.8.17