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

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