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

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