1 #ifndef __CNR3C_DECON_H__
2 #define __CNR3C_DECON_H__
5 #include "mspass/utility/AntelopePf.h"
6 #include "mspass/algorithms/deconvolution/FFTDeconOperator.h"
7 #include "mspass/algorithms/deconvolution/ShapingWavelet.h"
8 #include "mspass/algorithms/deconvolution/MTPowerSpectrumEngine.h"
9 #include "mspass/algorithms/amplitudes.h"
10 #include "mspass/algorithms/Taper.h"
11 #include "mspass/algorithms/TimeWindow.h"
12 #include "mspass/seismic/PowerSpectrum.h"
13 #include "mspass/seismic/TimeSeries.h"
14 #include "mspass/seismic/Seismogram.h"
15 namespace mspass::algorithms::deconvolution{
65 enum class CNR3C_algorithms{
66 generalized_water_level,
67 colored_noise_damping,
295 CNR3C_algorithms algorithm;
301 double decon_bandwidth_cutoff;
334 std::shared_ptr<mspass::algorithms::BasicTaper> wavelet_taper;
335 std::shared_ptr<mspass::algorithms::BasicTaper> data_taper;
342 double damp, noise_floor;
349 double snr_regularization_floor;
353 double snr_bandwidth;
361 std::vector<double> wavelet_snr;
363 double band_snr_floor;
365 double signal_bandwidth_fraction[3];
367 double regularization_bandwidth_fraction;
370 void compute_gwl_inverse();
371 void compute_gdamp_inverse();
Defines a time window.
Definition: TimeWindow.h:14
Holds parameters defining a passband computed from snr.
Definition: amplitudes.h:275
Absract base class for algorithms handling full 3C data.
Definition: CNR3CDecon.h:20
virtual mspass::utility::Metadata QCMetrics()=0
Return appropriate quality measures.
virtual mspass::seismic::TimeSeries inverse_wavelet(double)=0
Return a FIR represention of the inverse filter.
virtual mspass::seismic::TimeSeries actual_output()=0
Colored Noise Regularized 3C Deconvolution opertor.
Definition: CNR3CDecon.h:98
~CNR3CDecon()
Definition: CNR3CDecon.cc:304
mspass::seismic::TimeSeries actual_output()
Definition: CNR3CDecon.cc:918
mspass::seismic::PowerSpectrum data_spectrum()
Definition: CNR3CDecon.h:290
mspass::seismic::TimeSeries inverse_wavelet(double tshift)
Return a FIR represention of the inverse filter.
Definition: CNR3CDecon.cc:955
mspass::utility::Metadata QCMetrics()
Return appropriate quality measures.
Definition: CNR3CDecon.cc:979
mspass::seismic::PowerSpectrum data_noise_spectrum()
Definition: CNR3CDecon.h:280
void loadnoise_wavelet(const mspass::seismic::TimeSeries &n)
Load noise data for wavelet directly.
Definition: CNR3CDecon.cc:577
mspass::seismic::PowerSpectrum wavelet_spectrum()
Definition: CNR3CDecon.h:285
void loaddata(mspass::seismic::Seismogram &d, const int wcomp, const bool loadnoise=false)
Load data with one component used as wavelet estimate.
Definition: CNR3CDecon.cc:374
void loadwavelet(const mspass::seismic::TimeSeries &w)
Load data defining the wavelet to use for deconvolution.
Definition: CNR3CDecon.cc:471
void loadnoise_data(const mspass::seismic::Seismogram &n)
Load noise data directly.
Definition: CNR3CDecon.cc:562
void change_parameters(const mspass::utility::BasicMetadata &md)
Change the setup of the operator on the fly.
Definition: CNR3CDecon.cc:60
mspass::seismic::PowerSpectrum wavelet_noise_spectrum()
Definition: CNR3CDecon.h:275
CNR3CDecon()
Definition: CNR3CDecon.cc:30
Definition: ComplexArray.h:29
Object to hold components needed in all fft based decon algorithms.
Definition: FFTDeconOperator.h:19
Multittaper power spectral estimator.
Definition: MTPowerSpectrumEngine.h:28
Frequency domain shaping wavelet.
Definition: ShapingWavelet.h:19
Definition: PowerSpectrum.h:13
Implemntation of Seismogram for MsPASS.
Definition: Seismogram.h:15
Implemntation of TimeSeries for MsPASS.
Definition: TimeSeries.h:15
C++ object version of a parameter file.
Definition: AntelopePf.h:62