3 #ifndef __wtn_filter_hpp
4 #define __wtn_filter_hpp
7 #include <s2proc/wave_field.hpp>
8 #include <mix/General.h>
12 enum { MULT, PRD, AVER };
14 #warning "New extrapolation is not finished/tested."
17 #define WTNF_REAL_ZERO 1e-20
21 char sOutMdfR[NMOD_LEN], sOutMdfN[NMOD_LEN];
52 typedef std::vector<TrDat> TrDataSet;
58 WOutPar() : nwavs(0), nsrat(0.) {}
64 int calcPredOper(
double *opr,
double *acf,
int lopr);
66 int TrExtrapol(
float *tr,
int lgate,
int ibwav,
int iewav,
int extra_side);
68 float WavNsSigRat(
const Trace& trin,
const Trace& trout);
114 std::vector<WOutPar>& outPar,
122 int AWavNsFil(
int jr,
int ntr, TrDataSet *trb,
float *trout,
int *nwavs);
124 void fill2DMaxAmplMatrix(
int jbeg, TrDataSet *trb, AmpTr **&aTr2D);
126 void fillMedianData(
int jra,
Trace& body, AmpTr **aTr2D);
128 void waveletNoisesProcessing(
int jr,
int ntr, TrDataSet *trb, AmpTr *aTr1D,
float *trout,
int *nwavs);
130 void traceAmplRecovery(
int nwav,
int nwav3, AmpTr *aTr1D,
float *trout,
int *ist,
int *ift,
bool *lnm,
int *ibam,
int *ieam);
132 int countZeroSamples(
const Trace& body);
145 int TrRightExtrapol(
int lgate,
float *tr,
int ibwav,
int iewav);
146 int TrLeftExtrapol(
int lgate,
float *tr,
int ibwav,
int iewav);
Definition: wtn_filter.hpp:74
bool m_ready
Definition: wtn_filter.hpp:134
Definition: wtn_filter.hpp:81
bool ready()
Definition: wtn_filter.hpp:103
Definition: wtn_filter.hpp:20
int filterSeism(std::vector< WOutPar > &outPar, WaveField &wf_res, WaveField &wf_init)
WletFl m_wltf
Definition: wtn_filter.hpp:136
void setFilterData(WletFl wltf)
Definition: wave_field.hpp:13
void setWFData(WaveField *wf)
int insp1
urij///UDBSeis::OSType sgType;
Definition: wtn_filter.hpp:24
Definition: wtn_filter.hpp:55
Definition: wtn_filter.hpp:44
Definition: wtn_filter.hpp:70
WaveField * m_wf
Definition: wtn_filter.hpp:138