OpendTect  6.3
specdecompattrib.h
Go to the documentation of this file.
1 #pragma once
2 
3 /*+
4 ________________________________________________________________________
5 
6  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
7  Author: Nanne Hemstra
8  Date: Jan 2004
9 ________________________________________________________________________
10 -*/
11 
12 #include "attributesmod.h"
13 #include "attribprovider.h"
14 #include "arrayndalgo.h"
15 #include "wavelettrans.h"
16 #include "fourier.h"
17 
18 namespace Attrib
19 {
20 
21 class DataHolder;
22 
46 {
47 public:
48  static void initClass();
49  SpecDecomp(Desc&);
50 
51  static const char* attribName() { return "SpecDecomp"; }
52  static const char* transformTypeStr() { return "transformtype"; }
53  static const char* windowStr() { return "window"; }
54  static const char* gateStr() { return "gate"; }
55  static const char* deltafreqStr() { return "deltafreq"; }
56  static const char* dwtwaveletStr() { return "dwtwavelet"; }
57  static const char* cwtwaveletStr() { return "cwtwavelet"; }
58  static const char* transTypeNamesStr(int);
59 
60  void getCompNames(BufferStringSet&) const;
61  bool prepPriorToOutputSetup();
62 
63 protected:
64  ~SpecDecomp();
65  static Provider* createInstance(Desc&);
66  static void updateDesc(Desc&);
67  static void updateDefaults(Desc&);
68 
70  { return false; }
71 
72  bool getInputOutput(int input,TypeSet<int>& res) const;
73  bool getInputData(const BinID&,int idx);
74  bool computeData(const DataHolder&,const BinID& relpos,
75  int t0,int nrsamples,int threadid) const;
76  bool calcDFT(const DataHolder&,int t0,int nrsamples) const;
77  bool calcDWT(const DataHolder&,int t0,int nrsamples) const;
78  bool calcCWT(const DataHolder&,int t0,int nrsamples) const;
79 
80  const Interval<float>* reqZMargin(int input, int output) const;
81  const Interval<int>* desZSampMargin(int input, int output) const;
82 
83  bool areAllOutputsEnabled() const;
84 
88  float deltafreq_;
91 
93 
97  int scalelen_;
98 
99  float df_;
100  int fftsz_;
101  int sz_;
102 
105 
106  int realidx_;
107  int imagidx_;
108 
111 };
112 
113 }; // namespace Attrib
#define mExpClass(module)
Definition: commondefs.h:157
Does Fourier Transforms of any size.
Definition: fourier.h:28
int sz_
Definition: specdecompattrib.h:101
Interval< int > samplegate_
Definition: specdecompattrib.h:92
Tapers the N-dimentional ArrayND with a windowFunction.
Definition: arrayndalgo.h:870
Interval< float > gate_
Definition: specdecompattrib.h:87
FixedString Attributes()
Definition: keystrs.h:38
static const char * deltafreqStr()
Definition: specdecompattrib.h:55
Fourier::CC * fft_
Definition: specdecompattrib.h:95
Continuous Wavelet Transform.
Definition: wavelettrans.h:132
CWT cwt_
Definition: specdecompattrib.h:96
Set of BufferString objects.
Definition: bufstringset.h:25
WaveletType
Definition: wavelettrans.h:141
const DataHolder * redata_
Definition: specdecompattrib.h:109
WindowType
Definition: arrayndalgo.h:873
ArrayNDWindow * window_
Definition: specdecompattrib.h:94
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:87
float df_
Definition: specdecompattrib.h:99
int fftsz_
Definition: specdecompattrib.h:100
static const char * attribName()
Definition: specdecompattrib.h:51
static const char * cwtwaveletStr()
Definition: specdecompattrib.h:57
static const char * transformTypeStr()
Definition: specdecompattrib.h:52
WaveletType
Definition: wavelettrans.h:33
const DataHolder * imdata_
Definition: specdecompattrib.h:110
Spectral Decomposition Attribute.
Definition: specdecompattrib.h:45
WaveletTransform::WaveletType dwtwavelet_
Definition: specdecompattrib.h:89
bool fftisinit_
Definition: specdecompattrib.h:103
Holds the attribute data.
Definition: attribdataholder.h:39
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:28
static const char * gateStr()
Definition: specdecompattrib.h:54
int scalelen_
Definition: specdecompattrib.h:97
float deltafreq_
Definition: specdecompattrib.h:88
bool allowParallelComputation() const
Definition: specdecompattrib.h:69
static const char * dwtwaveletStr()
Definition: specdecompattrib.h:56
Provides the actual output to ...
Definition: attribprovider.h:40
int realidx_
Definition: specdecompattrib.h:106
CWT::WaveletType cwtwavelet_
Definition: specdecompattrib.h:90
static const char * windowStr()
Definition: specdecompattrib.h:53
int transformtype_
Definition: specdecompattrib.h:85
static void initClass()
Semblance Attribute.
Definition: attribdataholder.h:21
Interval< int > desgate_
Definition: specdecompattrib.h:104
int imagidx_
Definition: specdecompattrib.h:107
ArrayNDWindow::WindowType windowtype_
Definition: specdecompattrib.h:86

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