OpendTect-6_4  6.4
prestackattrib.h
Go to the documentation of this file.
1 #ifndef prestackattrib_h
2 #define prestackattrib_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8  Author: B.Bril & H.Huck
9  Date: 14-01-2008
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 -*/
14 
15 
16 #include "attributesmod.h"
17 #include "attribprovider.h"
18 #include "prestackprop.h"
19 #include "multiid.h"
20 #include "datapack.h"
21 
22 class SeisPSReader;
23 class IOObj;
24 
25 namespace PreStack { class AngleComputer; class Gather;
26  class GatherSetDataPack; class ProcessManager; }
27 
28 
29 namespace Attrib
30 {
31 
54 public:
55 
56  static void initClass();
57 
58  PSAttrib(Desc&);
59 
60  static const char* attribName() { return "PreStack"; }
61  static const char* offStartStr() { return "offstart"; }
62  static const char* offStopStr() { return "offstop"; }
63  static const char* preProcessStr() { return "preprocessor"; }
64  static const char* calctypeStr() { return "calctype"; }
65  static const char* stattypeStr() { return "stattype"; }
66  static const char* lsqtypeStr() { return "lsqtype"; }
67  static const char* offsaxisStr() { return "offsaxis"; }
68  static const char* valaxisStr() { return "valaxis"; }
69  static const char* componentStr() { return "comp"; }
70  static const char* apertureStr() { return "aperture"; }
71  static const char* velocityIDStr() { return "velocityid"; }
72  static const char* useangleStr() { return "useangle"; }
73  static const char* angleStartStr() { return "anglestart"; }
74  static const char* angleStopStr() { return "anglestop"; }
75  static const char* rayTracerParamStr() { return "raytracerparam"; }
76  static const char* gathertypeStr() { return "gathertype"; }
77  static const char* xaxisunitStr() { return "xaxisunit"; }
78  static const char* angleDPIDStr() { return "angleid"; }
79  static const char* angleSmoothType() { return "anglesmoothtype"; }
80  static const char* angleFiltFunction() { return "anglefiltfunc"; }
81  static const char* angleFiltValue() { return "anglefiltval"; }
82  static const char* angleFiltLength() { return "anglefiltlen"; }
83  static const char* angleFFTF3Freq() { return "anglefftf3freq"; }
84  static const char* angleFFTF4Freq() { return "anglefftf4freq"; }
85 
86  enum GatherType { Off, Ang };
88  enum XaxisUnit { Deg, Rad };
89  mDeclareEnumUtils(XaxisUnit)
90 
91  const PreStack::PropCalc::Setup& setup() const { return setup_; }
92  const MultiID& psID() const { return psid_; }
93  const MultiID& preProcID() const { return preprocid_; }
94  const MultiID& velocityID() const
95  { return velocityid_; }
96 
97  void updateCSIfNeeded(TrcKeyZSampling&) const;
98  void setAngleComp(PreStack::AngleComputer*);
99  void setAngleData(DataPack::ID);
100 
101 protected:
102 
103  ~PSAttrib();
104  static Provider* createInstance(Desc&);
105  static void updateDesc(Desc&);
106 
107  bool allowParallelComputation() const { return true;}
108  bool getInputOutput(int input,TypeSet<int>& res) const;
109  bool getInputData(const BinID&, int idx);
110  bool getAngleInputData();
111  bool computeData(const DataHolder&,const BinID& relpos,
112  int t0,int nrsamples,int threadid) const;
113  void prepPriorToBoundsCalc();
114  void setSmootheningPar();
115  float getXscaler(bool isoffset, bool isindegrees) const;
116  DataPack::ID getPreProcessedID(const BinID& relbid);
117  bool getGatherData(const BinID& bid,DataPack::ID& gatherid,
118  DataPack::ID& angglegid);
119 
129 
131  int dataidx_;
134 
136 
137 private:
138 
139  PreStack::GatherSetDataPack* getMemoryGatherSetDP() const;
140  void setGatherIsAngle(PreStack::Gather&);
141 };
142 
143 }; // namespace Attrib
144 
145 #endif
#define mExpClass(module)
Definition: commondefs.h:160
static const char * componentStr()
Definition: prestackattrib.h:69
static const char * useangleStr()
Definition: prestackattrib.h:72
static const char * angleFiltValue()
Definition: prestackattrib.h:81
static const char * valaxisStr()
Definition: prestackattrib.h:68
FixedString Setup()
Definition: keystrs.h:116
Definition: ioobj.h:58
Definition: angles.h:27
ObjectSet< PreStack::Gather > gatherset_
Definition: prestackattrib.h:135
static const char * xaxisunitStr()
Definition: prestackattrib.h:77
#define mODTextTranslationClass(clss)
Definition: uistring.h:38
PreStack gather.
Definition: prestackgather.h:36
Definition: synthseis.h:36
static const char * angleFiltFunction()
Definition: prestackattrib.h:80
FixedString Attributes()
Definition: keystrs.h:40
mDeclareEnumUtils(GatherType) enum XaxisUnit
Definition: prestackattrib.h:87
static const char * offStartStr()
Definition: prestackattrib.h:61
Calculates &#39;post-stack&#39; properties of a PreStack data store.
Definition: prestackprop.h:33
const DataHolder * inputdata_
Definition: prestackattrib.h:132
int ID
Definition: datapack.h:38
int dataidx_
Definition: prestackattrib.h:131
#define mDeclareEnumUtils(enm)
Some utilities surrounding the often needed enum <-> string table.
Definition: enums.h:258
static const char * apertureStr()
Definition: prestackattrib.h:70
IOObj * psioobj_
Definition: prestackattrib.h:121
static const char * angleFFTF3Freq()
Definition: prestackattrib.h:83
MultiID preprocid_
Definition: prestackattrib.h:130
PreStack::PropCalc * propcalc_
Definition: prestackattrib.h:125
static const char * gathertypeStr()
Definition: prestackattrib.h:76
static const char * preProcessStr()
Definition: prestackattrib.h:63
static const char * angleStartStr()
Definition: prestackattrib.h:73
static const char * angleSmoothType()
Definition: prestackattrib.h:79
static const char * attribName()
Definition: prestackattrib.h:60
PreStack::PropCalc::Setup setup_
Definition: prestackattrib.h:126
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
A DataPack containing an objectset of gathers.
Definition: prestackgather.h:152
int component_
Definition: prestackattrib.h:123
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:35
"Prestack Attribute"
Definition: prestackattrib.h:52
MultiID psid_
Definition: prestackattrib.h:120
static const char * angleFiltLength()
Definition: prestackattrib.h:82
PreStack::ProcessManager * preprocessor_
Definition: prestackattrib.h:124
static const char * offStopStr()
Definition: prestackattrib.h:62
static const char * stattypeStr()
Definition: prestackattrib.h:65
PreStack::AngleComputer * anglecomp_
Definition: prestackattrib.h:127
Holds the attribute data.
Definition: attribdataholder.h:43
bool allowParallelComputation() const
Definition: prestackattrib.h:107
static const char * velocityIDStr()
Definition: prestackattrib.h:71
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:30
GatherType
Definition: prestackattrib.h:86
static const char * angleDPIDStr()
Definition: prestackattrib.h:78
SeisPSReader * psrdr_
Definition: prestackattrib.h:122
static const char * offsaxisStr()
Definition: prestackattrib.h:67
Provides the actual output to ...
Definition: attribprovider.h:44
static const char * lsqtypeStr()
Definition: prestackattrib.h:66
static const char * angleFFTF4Freq()
Definition: prestackattrib.h:84
Definition: angles.h:27
static const char * calctypeStr()
Definition: prestackattrib.h:64
reads from a prestack seismic data store.
Definition: seispsread.h:34
static const char * rayTracerParamStr()
Definition: prestackattrib.h:75
Orgainizes a number of PreStack::Processors into a chain which can be processed.
Definition: prestackprocessor.h:140
Computes angles for PreStack::Gather.
Definition: prestackanglecomputer.h:41
static const char * angleStopStr()
Definition: prestackattrib.h:74
Compound key consisting of ints.
Definition: multiid.h:25
static void initClass()
MultiID velocityid_
Definition: prestackattrib.h:133
Semblance Attribute.
Definition: attribdataholder.h:25
Definition: prestackattrib.h:86
int anglegsdpid_
Definition: prestackattrib.h:128

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