OpendTect-6_4  6.4
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
similarityattrib.h
Go to the documentation of this file.
1 #ifndef similarityattrib_h
2 #define similarityattrib_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 "mathfunc.h"
20 
21 namespace Attrib
22 {
23 
67 {
68 public:
69  static void initClass();
70  Similarity(Desc&);
71 
72  static const char* attribName() { return "Similarity"; }
73  static const char* gateStr() { return "gate"; }
74  static const char* pos0Str() { return "pos0"; }
75  static const char* pos1Str() { return "pos1"; }
76  static const char* stepoutStr() { return "stepout"; }
77  static const char* steeringStr() { return "steering"; }
78  static const char* browsedipStr() { return "browsedip"; }
79  static const char* normalizeStr() { return "normalize"; }
80  static const char* extensionStr() { return "extension"; }
81  static const char* maxdipStr() { return "maxdip"; }
82  static const char* ddipStr() { return "ddip"; }
83  static const char* extensionTypeStr(int);
84  void initSteering() { stdPrepSteering(stepout_); }
85 
86  void prepPriorToBoundsCalc();
87 
88 protected:
90  static Provider* createInstance(Desc&);
91  static void updateDesc(Desc&);
92  static void updateDefaults(Desc&);
93 
95  { return true; }
96 
97  bool getInputOutput(int inp,TypeSet<int>& res) const;
98  bool getInputData(const BinID&,int zintv);
99  bool computeData(const DataHolder&,
100  const BinID& relpos,
101  int z0,int nrsamples,
102  int threadid) const;
103 
104  const BinID* reqStepout(int input,int output) const;
105  const BinID* desStepout(int input,int output) const;
106  const Interval<float>* reqZMargin(int input,int output) const;
107  const Interval<float>* desZMargin(int input,int output) const;
108  bool getTrcPos();
109 
116  float maxdip_;
117  float ddip_;
118 
120 
122  bool dosteer_;
125  int dataidx_;
129 
130  float distinl_;
131  float distcrl_;
132 
135 
137  {
138  public:
139  SimiFunc(const ValueSeries<float>& func, int sz)
140  : func_( func )
141  , sz_(sz)
142  {}
143 
144  virtual float getValue( float x ) const
145  {
146  ValueSeriesInterpolator<float> interp(sz_);
147  //We can afford using extrapolation with polyReg1DWithUdf because even if
148  //extrapolation is needed,position will always be close to v0;
149  //it is only supposed to be used for extraz compensation
150  //in case needinterp==true, DO NOT REMOVE checks on s0&s1 in .cc file!
151  if ( (-1<x && x<0) || (sz_<x && x<sz_+1) )
152  interp.extrapol_ = true;
153  return interp.value(func_,x);
154  }
155  virtual float getValue( const float* p ) const
156  { return getValue(*p); }
157 
158  protected:
160  int sz_;
161  };
162 
163 };
164 
165 } // namespace Attrib
166 
167 
168 #endif
#define mExpClass(module)
Definition: commondefs.h:160
static const char * pos1Str()
Definition: similarityattrib.h:75
Similarity Attribute
Definition: similarityattrib.h:66
static const char * gateStr()
Definition: similarityattrib.h:73
const DataHolder * steeringdata_
Definition: similarityattrib.h:134
Definition: similarityattrib.h:136
bool donormalize_
Definition: similarityattrib.h:124
static const char * stepoutStr()
Definition: similarityattrib.h:76
static const char * attribName()
Definition: similarityattrib.h:72
virtual float getValue(const float *p) const
Definition: similarityattrib.h:155
Interval< float > desgate_
Definition: similarityattrib.h:119
FixedString Attributes()
Definition: keystrs.h:40
int dataidx_
Definition: similarityattrib.h:125
Mathematical function.
Definition: mathfunc.h:61
ObjectSet< const DataHolder > inputdata_
Definition: similarityattrib.h:133
bool dobrowsedip_
Definition: similarityattrib.h:121
T value(const ValueSeries< T > &, T pos) const
Definition: valseriesinterpol.h:60
Interval< float > gate_
Definition: similarityattrib.h:113
void initSteering()
Definition: similarityattrib.h:84
Set of pointers to objects.
Definition: commontypes.h:32
~Similarity()
Definition: similarityattrib.h:89
float distinl_
Definition: similarityattrib.h:130
TypeSet< int > pos1s_
Definition: similarityattrib.h:128
bool dosteer_
Definition: similarityattrib.h:122
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
TypeSet< int > steerindexes_
Definition: similarityattrib.h:123
static const char * extensionStr()
Definition: similarityattrib.h:80
virtual float getValue(float x) const
Definition: similarityattrib.h:144
float ddip_
Definition: similarityattrib.h:117
BinID pos1_
Definition: similarityattrib.h:111
int extension_
Definition: similarityattrib.h:114
bool extrapol_
Definition: valseriesinterpol.h:45
SimiFunc(const ValueSeries< float > &func, int sz)
Definition: similarityattrib.h:139
int sz_
Definition: similarityattrib.h:160
static const char * normalizeStr()
Definition: similarityattrib.h:79
static const char * browsedipStr()
Definition: similarityattrib.h:78
float maxdip_
Definition: similarityattrib.h:116
Holds the attribute data.
Definition: attribdataholder.h:43
static const char * maxdipStr()
Definition: similarityattrib.h:81
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:30
static const char * pos0Str()
Definition: similarityattrib.h:74
const ValueSeries< float > & func_
Definition: similarityattrib.h:159
float distcrl_
Definition: similarityattrib.h:131
Provides the actual output to ...
Definition: attribprovider.h:44
bool allowParallelComputation() const
Definition: similarityattrib.h:94
int imdataidx_
Definition: similarityattrib.h:126
static const char * ddipStr()
Definition: similarityattrib.h:82
TypeSet< int > pos0s_
Definition: similarityattrib.h:127
BinID pos0_
Definition: similarityattrib.h:110
TypeSet< BinID > trcpos_
Definition: similarityattrib.h:115
BinID stepout_
Definition: similarityattrib.h:112
static void initClass()
static const char * steeringStr()
Definition: similarityattrib.h:77
Semblance Attribute.
Definition: attribdataholder.h:25

Generated at 12/02/2019 10:55:40 for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B. V. 2019