version
0.0.1
Defines the C++ API for MsPASS
|
Public Member Functions | |
WaterLevelDecon (const WaterLevelDecon &parent) | |
WaterLevelDecon (const mspass::utility::Metadata &md) | |
WaterLevelDecon (const mspass::utility::Metadata &md, const std::vector< double > &wavelet, const std::vector< double > &data) | |
void | changeparameter (const mspass::utility::Metadata &md) |
void | process () |
mspass::seismic::CoreTimeSeries | actual_output () |
Return the actual output of the deconvolution operator. More... | |
mspass::seismic::CoreTimeSeries | inverse_wavelet (const double t0parent=0.0) |
Return a FIR respresentation of the inverse filter. More... | |
mspass::seismic::CoreTimeSeries | inverse_wavelet () |
Return default FIR represesentation of the inverse filter. More... | |
mspass::utility::Metadata | QCMetrics () |
Return appropriate quality measures. More... | |
Public Member Functions inherited from mspass::algorithms::deconvolution::FFTDeconOperator | |
FFTDeconOperator (const mspass::utility::Metadata &md) | |
FFTDeconOperator (const FFTDeconOperator &parent) | |
FFTDeconOperator & | operator= (const FFTDeconOperator &parent) |
void | changeparameter (const mspass::utility::Metadata &md) |
void | change_size (const int nfft_new) |
void | change_shift (const int shift) |
int | get_size () |
int | get_shift () |
int | operator_size () |
int | operator_shift () |
double | df (const double dt) |
mspass::seismic::CoreTimeSeries | FourierInverse (const ComplexArray &winv, const ComplexArray &sw, const double dt, const double t0parent) |
Return inverse wavelet for Fourier methods. More... | |
Public Member Functions inherited from mspass::algorithms::deconvolution::ScalarDecon | |
ScalarDecon (const mspass::utility::Metadata &md) | |
ScalarDecon (const std::vector< double > &d, const std::vector< double > &w) | |
ScalarDecon (const ScalarDecon &parent) | |
int | load (const std::vector< double > &wavelet, const std::vector< double > &data) |
Load all data required for decon. More... | |
int | loaddata (const std::vector< double > &data) |
int | loadwavelet (const std::vector< double > &wavelet) |
ScalarDecon & | operator= (const ScalarDecon &parent) |
std::vector< double > | getresult () |
void | change_shaping_wavelet (const ShapingWavelet &nsw) |
mspass::seismic::CoreTimeSeries | ideal_output () |
Additional Inherited Members | |
Protected Attributes inherited from mspass::algorithms::deconvolution::FFTDeconOperator | |
int | nfft |
int | sample_shift |
gsl_fft_complex_wavetable * | wavetable |
gsl_fft_complex_workspace * | workspace |
ComplexArray | winv |
Protected Attributes inherited from mspass::algorithms::deconvolution::ScalarDecon | |
std::vector< double > | data |
std::vector< double > | wavelet |
std::vector< double > | result |
ShapingWavelet | shapingwavelet |
|
virtual |
Return the actual output of the deconvolution operator.
The actual output is defined as w^-1*w and is compable to resolution kernels in linear inverse theory. Although not required we would normally expect this function to be peaked at 0. Offsets from 0 would imply a bias.
Implements mspass::algorithms::deconvolution::ScalarDecon.
References mspass::seismic::CoreTimeSeries::s, mspass::seismic::CoreTimeSeries::set_dt(), mspass::seismic::BasicTimeSeries::set_live(), mspass::seismic::CoreTimeSeries::set_npts(), mspass::seismic::CoreTimeSeries::set_t0(), and mspass::seismic::BasicTimeSeries::set_tref().
|
virtual |
Return default FIR represesentation of the inverse filter.
This is an overloaded version of the parameterized method. It is equivalent to this->inverse_wavelet(0.0,0.0);
Implements mspass::algorithms::deconvolution::ScalarDecon.
|
virtual |
Return a FIR respresentation of the inverse filter.
An inverse filter has an impulse response. For some wavelets this can be respresented by a FIR filter with finite numbers of coefficients. Since this is a Fourier method the best we can do is return the inverse fft of the regularized operator. The output usually needs to be phase shifted to be most useful. For typical seismic source wavelets that are approximately minimum phase the shift can be small, but for zero phase input it should be approximately half the window size. This method also has an optional argument for t0parent. Because this processor was written to be agnostic about a time standard it implicitly assumes time 0 is sample 0 of the input waveforms. If the original data have a nonzero start time this should be passed as t0parent or the output will contain a time shift of t0parent. Note that tshift and t0parent do very different things. tshift is used to apply circular phase shift to the output (e.g. a shift of 10 samples causes the last 10 samples in the wavelet to be wrapped to the first 10 samples). t0parent only changes the time standard so the output has t0 -= parent.t0.
Output wavelet is always circular shifted with 0 lag at center.
t0parent | - time zero of parent seismograms (see above). |
SeisppError | is thrown if the tshift value is more than half the length of the data (nfft*dt). Reason is justified above. |
Implements mspass::algorithms::deconvolution::ScalarDecon.
|
virtual |
Return appropriate quality measures.
Each operator commonly has different was to measure the quality of the result. This method should return these in a generic Metadata object.
Implements mspass::algorithms::deconvolution::ScalarDecon.