MsPASS C++ API  2.4.1.dev4+g92330b7a
Defines the C++ API for MsPASS
Loading...
Searching...
No Matches
WaterLevelDecon.h
1#ifndef __SIMPLE_WATER_LEVEL_DECON_H__
2#define __SIMPLE_WATER_LEVEL_DECON_H__
3#include "mspass/algorithms/deconvolution/FFTDeconOperator.h"
4#include "mspass/algorithms/deconvolution/ScalarDecon.h"
5#include "mspass/algorithms/deconvolution/ShapingWavelet.h"
6#include "mspass/seismic/CoreTimeSeries.h"
7#include "mspass/utility/Metadata.h"
8#include <boost/archive/text_iarchive.hpp>
9#include <boost/archive/text_oarchive.hpp>
10#include <boost/serialization/base_object.hpp>
11#include <vector>
12namespace mspass::algorithms::deconvolution {
19public:
22 this->wlv = 0.1;
23 this->regularization_fraction = 0.0;
24 };
26 WaterLevelDecon(const WaterLevelDecon &parent);
31 const std::vector<double> &wavelet,
32 const std::vector<double> &data);
36 void process();
71 mspass::seismic::CoreTimeSeries inverse_wavelet(const double t0parent = 0.0);
83
84private:
85 int read_metadata(const mspass::utility::Metadata &md);
86 int apply();
87 double wlv;
88 /* QC metrics. */
89 /* This is the fraction of frequencies below the water level */
90 double regularization_fraction;
91 friend boost::serialization::access;
92 template <class Archive>
93 void serialize(Archive &ar, const unsigned int version) {
94 ar &boost::serialization::base_object<FFTDeconOperator>(*this);
95 ar &boost::serialization::base_object<ScalarDecon>(*this);
96 ar & wlv;
97 ar & regularization_fraction;
98 }
99};
100} // namespace mspass::algorithms::deconvolution
101#endif
Object to hold components needed in all fft based decon algorithms.
Definition FFTDeconOperator.h:21
Base class decon operator for single station 3C decon (receiver functions).
Definition ScalarDecon.h:30
std::vector< double > data
Data vector to be deconvolved by concrete scalar methods.
Definition ScalarDecon.h:140
std::vector< double > wavelet
Source-wavelet estimate used by concrete scalar methods.
Definition ScalarDecon.h:142
Scalar water-level deconvolution operator.
Definition WaterLevelDecon.h:18
mspass::seismic::CoreTimeSeries inverse_wavelet()
Return default FIR represesentation of the inverse filter.
Definition WaterLevelDecon.cc:196
mspass::utility::Metadata QCMetrics()
Return appropriate quality measures.
Definition WaterLevelDecon.cc:203
mspass::seismic::CoreTimeSeries actual_output()
Return the actual output of the deconvolution operator.
Definition WaterLevelDecon.cc:144
void process()
Definition WaterLevelDecon.cc:72
WaterLevelDecon()
Definition WaterLevelDecon.h:21
void changeparameter(const mspass::utility::Metadata &md)
Definition WaterLevelDecon.cc:54
Scalar time series data object.
Definition CoreTimeSeries.h:17
Type-safe metadata container used throughout MsPASS.
Definition Metadata.h:101