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

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