OpendTect  6.3
waveletextractor.h
Go to the documentation of this file.
1 #pragma once
2 /*+
3 ________________________________________________________________________
4 
5  CopyRight: (C) dGB Beheer B.V.
6  Author: Nageswara
7  Date: July 2009
8  ________________________________________________________________________
9 
10 -*/
11 
12 #include "seiscommon.h"
13 #include "executor.h"
14 #include "wavelet.h"
15 #include "uistring.h"
16 
17 namespace Fourier { class CC; }
18 class IOObj;
19 namespace Seis { class Provider; class SelData; }
20 class SeisTrc;
21 class Wavelet;
22 template <class T> class Array1DImpl;
23 
26 public:
27  WaveletExtractor(const IOObj&,int wvltsize);
29 
30  void setSelData(const Seis::SelData&); // 3D
31  void setSelData(const ObjectSet<Seis::SelData>&);//2D
32  void setPhase(int phase);
33  void setTaperParamVal(float paramval);
34  RefMan<Wavelet> getWavelet() const;
35 
36 protected:
37 
38  void initWavelet(const IOObj&);
39  void init2D();
40  void init3D();
41  bool getSignalInfo(const SeisTrc&,
42  int& start,int& signalsz) const;
43  bool getNextLine(); //2D
44  bool processTrace(const SeisTrc&,
45  int start, int signalsz);
46  void doNormalisation(Array1DImpl<float>&);
47  bool finish(int nrusedtrcs);
48  bool doWaveletIFFT(float*);
49  bool rotateWavelet(float*);
50  bool taperWavelet(float*);
51 
52  int nextStep();
53  od_int64 totalNr() const { return totalnr_; }
54  od_int64 nrDone() const { return nrdone_; }
55  uiString nrDoneText() const;
56  uiString message() const;
57 
59  const IOObj& iobj_;
64  int lineidx_;
65  float paramval_;
66  int wvltsize_;
67  int phase_;
69  int nrdone_;
73 };
#define mExpClass(module)
Definition: commondefs.h:157
const Seis::SelData * sd_
Definition: waveletextractor.h:60
Does Fourier Transforms of any size.
Definition: fourier.h:28
od_int64 totalNr() const
Definition: waveletextractor.h:53
Seismics.
Definition: segydirectdef.h:20
RefMan< Wavelet > wvlt_
Definition: waveletextractor.h:58
ObjectSet< Seis::SelData > sdset_
Definition: waveletextractor.h:61
float paramval_
Definition: waveletextractor.h:65
od_int64 nrDone() const
Definition: waveletextractor.h:54
Definition: ioobj.h:57
Seis::Provider * seisprov_
Definition: waveletextractor.h:62
is the access point for seismic traces. Instantiate a subclass and ask for what you need...
Definition: seisprovider.h:54
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
od_int64 totalnr_
Definition: waveletextractor.h:71
uiString msg_
Definition: waveletextractor.h:72
#define od_int64
Definition: plftypes.h:34
Definition: wavelet.h:22
Definition: uistring.h:88
int phase_
Definition: waveletextractor.h:67
Fourier::CC * fft_
Definition: waveletextractor.h:63
int lineidx_
Definition: waveletextractor.h:64
void message(const char *)
default: to stderr
FixedString Provider()
Definition: keystrs.h:103
int wvltsize_
Definition: waveletextractor.h:66
int nrdone_
Definition: waveletextractor.h:69
Definition: convolve2d.h:25
contains input (sub-)selection data from a cube or lineset
Definition: seisselection.h:78
Definition: waveletextractor.h:24
Seismic trace.
Definition: seistrc.h:31
int nrusedtrcs_
Definition: waveletextractor.h:68
const IOObj & iobj_
Definition: waveletextractor.h:59
Implementation of Array1D.
Definition: arrayndimpl.h:51
bool isbetweenhor_
Definition: waveletextractor.h:70
Specification to enable chunkwise execution of a process.
Definition: executor.h:38

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B. V. 2017