OpendTect-6_4  6.4
coherencyattrib.h
Go to the documentation of this file.
1 #ifndef coherencyattrib_h
2 #define coherencyattrib_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8  Author: Kristofer Tingdahl
9  Date: 07-10-1999
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 -*/
14 
15 #include "attributesmod.h"
16 #include "attribprovider.h"
17 #include "valseries.h"
18 #include "valseriesinterpol.h"
19 #include "arrayndimpl.h"
20 
21 namespace Attrib
22 {
23 
24 class DataHolder;
25 
43 {
44 public:
45  static void initClass();
46  Coherency( Desc& );
47 
48  static const char* attribName() { return "Coherency"; }
49  static const char* sKeyType() { return "type"; }
50  static const char* sKeyGate() { return "gate"; }
51  static const char* sKeyMaxDip() { return "maxdip"; }
52  static const char* sKeyDDip() { return "ddip"; }
53  static const char* sKeyStepout() { return "stepout"; }
54 
55  virtual void prepPriorToBoundsCalc();
56  virtual void prepareForComputeData();
57 
58 protected:
59  ~Coherency();
60  static Provider* createInstance(Desc&);
61  static void updateDesc(Desc&);
62 
63  bool getInputOutput(int input,TypeSet<int>& res) const;
64  bool getInputData(const BinID&,int idx);
65  bool computeData(const DataHolder&,const BinID& relpos,
66  int t0,int nrsamples,int threadid) const;
67  bool computeData1(const DataHolder&,
68  int t0,int nrsamples) const;
69  bool computeData2(const DataHolder&,
70  int t0,int nrsamples) const;
71 
72  float calc1(float s1,float s2,const Interval<int>& sg,
73  const DataHolder&,const DataHolder&) const;
74  float calc2(float t,const Interval<int>& rsg,
75  float,float,const Array2DImpl<DataHolder*>& re,
76  const Array2DImpl<DataHolder*>& im) const;
77 
78  bool allowParallelComputation() const { return true; }
79 
80 
81  const BinID* reqStepout(int input,int output) const;
82  const Interval<float>* reqZMargin(int input,int output) const;
83 
84  int type_;
85  float maxdip_;
86  float ddip_;
90 
91  float distinl_;
92  float distcrl_;
93 
97 
98  int realidx_;
99  int imagidx_;
100 };
101 
102 }; // namespace Attrib
103 
104 
105 #endif
#define mExpClass(module)
Definition: commondefs.h:160
Interval< float > gate_
Definition: coherencyattrib.h:88
float ddip_
Definition: coherencyattrib.h:86
static const char * sKeyMaxDip()
Definition: coherencyattrib.h:51
int type_
Definition: coherencyattrib.h:84
Implementation of Array2D.
Definition: arrayndimpl.h:102
FixedString Attributes()
Definition: keystrs.h:40
Array2DImpl< DataHolder * > * imagdataholder_
Definition: coherencyattrib.h:96
static const char * sKeyDDip()
Definition: coherencyattrib.h:52
int imagidx_
Definition: coherencyattrib.h:99
Set of pointers to objects.
Definition: commontypes.h:32
ObjectSet< const DataHolder > inputdata_
Definition: coherencyattrib.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:89
Calculates coherency.
Definition: coherencyattrib.h:42
Interval< float > desgate_
Definition: coherencyattrib.h:89
static const char * sKeyStepout()
Definition: coherencyattrib.h:53
int realidx_
Definition: coherencyattrib.h:98
static const char * attribName()
Definition: coherencyattrib.h:48
Array2DImpl< DataHolder * > * realdataholder_
Definition: coherencyattrib.h:95
Holds the attribute data.
Definition: attribdataholder.h:43
static const char * sKeyGate()
Definition: coherencyattrib.h:50
float maxdip_
Definition: coherencyattrib.h:85
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:30
bool allowParallelComputation() const
Definition: coherencyattrib.h:78
BinID stepout_
Definition: coherencyattrib.h:87
Provides the actual output to ...
Definition: attribprovider.h:44
float distcrl_
Definition: coherencyattrib.h:92
static const char * sKeyType()
Definition: coherencyattrib.h:49
static void initClass()
Semblance Attribute.
Definition: attribdataholder.h:25
float distinl_
Definition: coherencyattrib.h:91

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