OpendTect-6_4  6.4
volstatsattrib.h
Go to the documentation of this file.
1 #ifndef volstatsattrib_h
2 #define volstatsattrib_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 
18 namespace Attrib
19 {
20 
27 public:
28  static void initDesc(Desc&);
29 
30  static const char* nrvolumesStr() { return "nrvolumes"; }
31  static const char* stepoutStr() { return "stepout"; }
32  static const char* shapeStr() { return "shape"; }
33  static const char* gateStr() { return "gate"; }
34  static const char* absolutegateStr() { return "absolutegate"; }
35  static const char* nrtrcsStr() { return "nrtrcs"; }
36  static const char* steeringStr() { return "steering"; }
37  static const char* shapeTypeStr(int);
38 
39  virtual void prepPriorToBoundsCalc();
40  virtual void initSteering() { stdPrepSteering(stepout_); }
41  bool isSingleTrace() const
42  { return !stepout_.inl() && !stepout_.crl(); }
43 
44 protected:
46 
47  void init();
48  int* outputTypes() const;
49 
50  static void updateDefaults(Desc&);
51 
53  { return true; }
54 
55  virtual bool getInputOutput(int,TypeSet<int>& res) const;
56  virtual bool getInputData(const BinID&,int zintv);
57 
58  virtual bool computeData(const DataHolder&,
59  const BinID& relpos,
60  int z0,int nrsamples,
61  int threadid) const = 0;
62 
63  const BinID* desStepout(int input,int output) const;
64  const Interval<float>* desZMargin( int inp, int ) const;
65  virtual const Interval<float>* reqZMargin(int input,int output) const;
66 
68  int shape_;
72 
74  int dataidx_;
75 
78 };
79 
80 
115 public:
116  static void initClass();
117  VolStats(Desc&);
118 
119  static const char* attribName() { return "VolumeStatistics"; }
120  static const char* allowEdgeEffStr() { return "allowedgeeffects"; }
121  static const char* optstackstepStr() { return "optstackstep"; }
122  static const char* optstackdirStr() { return "optstackdir"; }
123  static const char* optStackDirTypeStr(int);
124 
125  void prepPriorToBoundsCalc();
126  void setRdmPaths( TypeSet<BinID>* truepos,
127  TypeSet<BinID>* snappedpos )
128  { linetruepos_ = truepos
129  ? new TypeSet<BinID>(*truepos)
130  : new TypeSet<BinID>();
131  linepath_ = snappedpos
132  ? new TypeSet<BinID>(*snappedpos)
133  : new TypeSet<BinID>(); }
134 
135 protected:
136  ~VolStats();
137 
138  static Provider* createInstance(Desc&);
139  static void updateDesc(Desc&);
140 
141  virtual bool getInputData(const BinID&,int zintv);
142  virtual bool getInputOutput(int,TypeSet<int>& res) const;
143 
144  virtual bool computeData(const DataHolder&,
145  const BinID& relpos,
146  int z0,int nrsamples,
147  int threadid) const;
148 
149  void getStackPositions(TypeSet<BinID>&) const;
150  void getIdealStackPos(
151  const BinID&,const BinID&,const BinID&,
152  TypeSet< Geom::Point2D<float> >&) const;
153  void reInitPosAndSteerIdxes();
154 
155  const Interval<float>* reqZMargin(int input,int output) const;
156 
157  bool dosteer_;
159 
165 };
166 
167 } // namespace Attrib
168 
169 
170 #endif
#define mExpClass(module)
Definition: commondefs.h:160
bool dosteer_
Definition: volstatsattrib.h:157
int dataidx_
Definition: volstatsattrib.h:74
bool isSingleTrace() const
Definition: volstatsattrib.h:41
static const char * optstackdirStr()
Definition: volstatsattrib.h:122
static const char * stepoutStr()
Definition: volstatsattrib.h:31
int optstackstep_
Definition: volstatsattrib.h:164
#define mODTextTranslationClass(clss)
Definition: uistring.h:38
int minnrtrcs_
Definition: volstatsattrib.h:71
int shape_
Definition: volstatsattrib.h:68
bool init()
static const char * nrvolumesStr()
Definition: volstatsattrib.h:30
FixedString Attributes()
Definition: keystrs.h:40
static const char * allowEdgeEffStr()
Definition: volstatsattrib.h:120
Use VolStats instead.
Definition: volstatsattrib.h:25
static const char * attribName()
Definition: volstatsattrib.h:119
TypeSet< BinID > positions_
Definition: volstatsattrib.h:73
bool allowParallelComputation() const
Definition: volstatsattrib.h:52
ObjectSet< const DataHolder > inputdata_
Definition: volstatsattrib.h:76
void setRdmPaths(TypeSet< BinID > *truepos, TypeSet< BinID > *snappedpos)
For directional attributes.
Definition: volstatsattrib.h:126
TypeSet< BinID > * linetruepos_
Definition: volstatsattrib.h:162
Set of pointers to objects.
Definition: commontypes.h:32
static const char * steeringStr()
Definition: volstatsattrib.h:36
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
const DataHolder * steeringdata_
Definition: volstatsattrib.h:77
Volume Statistics Attribute.
Definition: volstatsattrib.h:113
Interval< float > desgate_
Definition: volstatsattrib.h:70
TypeSet< BinID > * linepath_
Definition: volstatsattrib.h:161
TypeSet< int > steerindexes_
Definition: volstatsattrib.h:160
Holds the attribute data.
Definition: attribdataholder.h:43
bool allowedgeeffects_
Definition: volstatsattrib.h:158
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:30
static const char * nrtrcsStr()
Definition: volstatsattrib.h:35
static const char * optstackstepStr()
Definition: volstatsattrib.h:121
static const char * gateStr()
Definition: volstatsattrib.h:33
Provides the actual output to ...
Definition: attribprovider.h:44
Interval< float > gate_
Definition: volstatsattrib.h:69
virtual void initSteering()
Definition: volstatsattrib.h:40
static const char * shapeStr()
Definition: volstatsattrib.h:32
static const char * absolutegateStr()
Definition: volstatsattrib.h:34
BinID stepout_
Definition: volstatsattrib.h:67
static void initClass()
Semblance Attribute.
Definition: attribdataholder.h:25
int optstackdir_
Definition: volstatsattrib.h:163

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