OpendTect-6_4  6.4
specdecompattrib.h
Go to the documentation of this file.
1 #ifndef specdecompattrib_h
2 #define specdecompattrib_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8  Author: Nanne Hemstra
9  Date: Jan 2004
10  RCS: $Id$
11 ________________________________________________________________________
12 -*/
13 
14 #include "attributesmod.h"
15 #include "attribprovider.h"
16 #include "arrayndalgo.h"
17 #include "wavelettrans.h"
18 #include "fourier.h"
19 
20 namespace Attrib
21 {
22 
23 class DataHolder;
24 
48 {
49 public:
50  static void initClass();
51  SpecDecomp(Desc&);
52 
53  static const char* attribName() { return "SpecDecomp"; }
54  static const char* transformTypeStr() { return "transformtype"; }
55  static const char* windowStr() { return "window"; }
56  static const char* gateStr() { return "gate"; }
57  static const char* deltafreqStr() { return "deltafreq"; }
58  static const char* dwtwaveletStr() { return "dwtwavelet"; }
59  static const char* cwtwaveletStr() { return "cwtwavelet"; }
60  static const char* transTypeNamesStr(int);
61 
62  void getCompNames(BufferStringSet&) const;
63  bool prepPriorToOutputSetup();
64 
65 protected:
66  ~SpecDecomp();
67  static Provider* createInstance(Desc&);
68  static void updateDesc(Desc&);
69  static void updateDefaults(Desc&);
70 
72  { return false; }
73 
74  bool getInputOutput(int input,TypeSet<int>& res) const;
75  bool getInputData(const BinID&,int idx);
76  bool computeData(const DataHolder&,const BinID& relpos,
77  int t0,int nrsamples,int threadid) const;
78  bool calcDFT(const DataHolder&,int t0,int nrsamples) const;
79  bool calcDWT(const DataHolder&,int t0,int nrsamples) const;
80  bool calcCWT(const DataHolder&,int t0,int nrsamples) const;
81 
82  const Interval<float>* reqZMargin(int input, int output) const;
83  const Interval<int>* desZSampMargin(int input, int output) const;
84 
85  bool areAllOutputsEnabled() const;
86 
90  float deltafreq_;
93 
95 
99  int scalelen_;
100 
101  float df_;
102  int fftsz_;
103  int sz_;
104 
107 
108  int realidx_;
109  int imagidx_;
110 
113 };
114 
115 }; // namespace Attrib
116 
117 
118 #endif
#define mExpClass(module)
Definition: commondefs.h:160
Does Fourier Transforms of any size.
Definition: fourier.h:30
int sz_
Definition: specdecompattrib.h:103
Interval< int > samplegate_
Definition: specdecompattrib.h:94
Tapers the N-dimentional ArrayND with a windowFunction.
Definition: arrayndalgo.h:309
Interval< float > gate_
Definition: specdecompattrib.h:89
FixedString Attributes()
Definition: keystrs.h:40
static const char * deltafreqStr()
Definition: specdecompattrib.h:57
Fourier::CC * fft_
Definition: specdecompattrib.h:97
Continuous Wavelet Transform.
Definition: wavelettrans.h:134
CWT cwt_
Definition: specdecompattrib.h:98
Set of BufferString objects.
Definition: bufstringset.h:28
WaveletType
Definition: wavelettrans.h:143
const DataHolder * redata_
Definition: specdecompattrib.h:111
WindowType
Definition: arrayndalgo.h:312
ArrayNDWindow * window_
Definition: specdecompattrib.h:96
Description of an attribute in an Attrib::DescSet. Each attribute has a name (e.g. "Similarity"), a user reference (e.g. "My similarity"), and at least one output. In addition, it may have parameters and inputs. If it has multiple outputs, only one of the outputs are selected.
Definition: attribdesc.h:89
float df_
Definition: specdecompattrib.h:101
int fftsz_
Definition: specdecompattrib.h:102
static const char * attribName()
Definition: specdecompattrib.h:53
static const char * cwtwaveletStr()
Definition: specdecompattrib.h:59
static const char * transformTypeStr()
Definition: specdecompattrib.h:54
WaveletType
Definition: wavelettrans.h:35
const DataHolder * imdata_
Definition: specdecompattrib.h:112
Spectral Decomposition Attribute.
Definition: specdecompattrib.h:47
WaveletTransform::WaveletType dwtwavelet_
Definition: specdecompattrib.h:91
bool fftisinit_
Definition: specdecompattrib.h:105
Holds the attribute data.
Definition: attribdataholder.h:43
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:30
static const char * gateStr()
Definition: specdecompattrib.h:56
int scalelen_
Definition: specdecompattrib.h:99
float deltafreq_
Definition: specdecompattrib.h:90
bool allowParallelComputation() const
Definition: specdecompattrib.h:71
static const char * dwtwaveletStr()
Definition: specdecompattrib.h:58
Provides the actual output to ...
Definition: attribprovider.h:44
int realidx_
Definition: specdecompattrib.h:108
CWT::WaveletType cwtwavelet_
Definition: specdecompattrib.h:92
static const char * windowStr()
Definition: specdecompattrib.h:55
int transformtype_
Definition: specdecompattrib.h:87
static void initClass()
Semblance Attribute.
Definition: attribdataholder.h:25
Interval< int > desgate_
Definition: specdecompattrib.h:106
int imagidx_
Definition: specdecompattrib.h:109
ArrayNDWindow::WindowType windowtype_
Definition: specdecompattrib.h:88

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