1#ifndef __TIME_DOMAIN_LEAST_SQUARE_DECON_H__
2#define __TIME_DOMAIN_LEAST_SQUARE_DECON_H__
3#include "mspass/algorithms/deconvolution/ScalarDecon.h"
4#include "mspass/algorithms/deconvolution/ShapingWavelet.h"
5#include "mspass/seismic/CoreTimeSeries.h"
6#include "mspass/utility/Metadata.h"
7#include <boost/archive/text_iarchive.hpp>
8#include <boost/archive/text_oarchive.hpp>
9#include <boost/serialization/base_object.hpp>
12namespace mspass::algorithms::deconvolution {
45 const std::vector<double> &
wavelet,
46 const std::vector<double> &
data);
64 int diagnostic_length()
const;
65 std::vector<double> solve_for(
const std::vector<double> &rhs_data)
const;
66 std::vector<double> apply_wavelet(
const std::vector<double> &model)
const;
67 std::vector<double> apply_shaping_wavelet(
68 const std::vector<double> &model);
73 mutable double residual_norm;
74 mutable double data_norm;
75 mutable double regularization_parameter;
77 friend boost::serialization::access;
78 template <
class Archive>
79 void serialize(Archive &ar,
const unsigned int version) {
80 ar &boost::serialization::base_object<ScalarDecon>(*
this);
87 ar & regularization_parameter;
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
Time-domain damped least-squares deconvolution.
Definition TimeDomainLeastSquareDecon.h:35
mspass::utility::Metadata QCMetrics()
Definition TimeDomainLeastSquareDecon.cc:338
void changeparameter(const mspass::utility::Metadata &md)
Definition TimeDomainLeastSquareDecon.cc:136
TimeDomainLeastSquareDecon()
Definition TimeDomainLeastSquareDecon.cc:64
mspass::seismic::CoreTimeSeries output_shaping_wavelet()
Definition TimeDomainLeastSquareDecon.cc:233
mspass::seismic::CoreTimeSeries actual_output()
Definition TimeDomainLeastSquareDecon.cc:276
void process()
Definition TimeDomainLeastSquareDecon.cc:258
mspass::seismic::CoreTimeSeries inverse_wavelet()
Definition TimeDomainLeastSquareDecon.cc:334
Scalar time series data object.
Definition CoreTimeSeries.h:17