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

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