SOPT
Sparse OPTimisation
wavelet_data.h
Go to the documentation of this file.
1 #ifndef SOPT_WAVELET_WAVELET_DATA_H
2 #define SOPT_WAVELET_WAVELET_DATA_H
3 
4 #include "sopt/config.h"
5 #include "sopt/types.h"
7 
8 namespace sopt::wavelets {
9 
11 struct WaveletData {
13  using t_scalar = t_real;
18 
20  struct DirectFilter {
25  } const direct_filter;
26 
28  struct {
34  } const indirect_filter;
35 
37  WaveletData(std::initializer_list<t_scalar> const &coefs);
39  WaveletData(t_vector const &coefs);
40 };
41 
43 WaveletData const &daubechies_data(t_uint);
44 } // namespace sopt::wavelets
45 #endif
WaveletData const & daubechies_data(t_uint n)
Factory function returning specific daubechie wavelet data.
double t_real
Root of the type hierarchy for real numbers.
Definition: types.h:17
size_t t_uint
Root of the type hierarchy for unsigned integers.
Definition: types.h:15
Eigen::Array< T, Eigen::Dynamic, 1 > Array
A 1-dimensional list of elements of given type.
Definition: types.h:34
Holds filters for direct transform.
Definition: wavelet_data.h:20
t_vector low
Low-pass filter for direct transform.
Definition: wavelet_data.h:22
t_vector high
High-pass filter for direct transform.
Definition: wavelet_data.h:24
Holds wavelets coefficients.
Definition: wavelet_data.h:11
t_vector low_even
High-pass filter for direct transform.
Definition: wavelet_data.h:30
t_vector const coefficients
Wavelet coefficient per-se.
Definition: wavelet_data.h:17
t_real t_scalar
Type of the underlying scalar.
Definition: wavelet_data.h:13
Array< t_real > t_vector
Type of the underlying vector.
Definition: wavelet_data.h:15
struct sopt::wavelets::WaveletData::@0 indirect_filter
Holds filters for indirect transform.
struct sopt::wavelets::WaveletData::DirectFilter direct_filter
WaveletData(std::initializer_list< t_scalar > const &coefs)
Constructs from initializers.
Definition: wavelet_data.cc:36