OpendTect  6.6
convolveattrib.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 
15 #include "attributesmod.h"
16 #include "attribprovider.h"
17 
18 class Wavelet;
19 
20 namespace Attrib
21 {
22 
53 {
54 public:
55  static void initClass();
57 
58  static const char* attribName() { return "Convolve"; }
59 
60  static const char* kernelStr() { return "kernel"; }
61  static const char* shapeStr() { return "shape"; }
62  static const char* sizeStr() { return "size"; }
63  static const char* waveletStr() { return "waveletid"; }
64  static const char* kernelTypeStr(int);
65  static const char* shapeTypeStr(int);
66 
67  static const float prewitt[];
68  static const float prewitt2D[];
69 
70  virtual bool isSingleTrace() const;
71  virtual void prepPriorToBoundsCalc();
72 
73 protected:
75 
77  static void updateDesc(Desc&);
78 
80  bool getInputOutput(int input,
81  TypeSet<int>& res) const;
82  bool getInputData(const BinID&,int idx);
84  int t0, int nrsamples ) const;
86  int t0, int nrsamples ) const;
87  bool computeData(const DataHolder&,const BinID& rel,
88  int t0,int nrsamples,
89  int threadid) const;
90 
91  const BinID* reqStepout(int input,int output) const;
92  const Interval<int>* reqZSampMargin(int input,int output) const;
93  const Interval<int>* desZSampMargin(int input,int output) const;
94 
96  int shape_;
97  int size_;
101 
102  int dataidx_;
103 
105 
107  {
108  public:
109  const float* getKernel() const;
110  int nrSubKernels() const;
111  const BinID& getStepout() const;
112  const Interval<int>& getSG() const;
113  int getSubKernelSize() const;
114  float getSum() const { return sum_; }
115 
116  Kernel(int kernelfunc,int shape,int size, bool);
118 
119  protected:
120  float* kernel_;
124  float sum_;
125  };
126 
128 };
129 
130 }; // namespace Attrib
131 
132 
Attrib::Convolve::dataidx_
int dataidx_
Definition: convolveattrib.h:102
Attrib::Convolve::computeDataKernel
bool computeDataKernel(const DataHolder &, int t0, int nrsamples) const
Attrib::Convolve::shape_
int shape_
Definition: convolveattrib.h:96
Attrib::Convolve::Kernel::kernel_
float * kernel_
Definition: convolveattrib.h:120
Attrib::Convolve::createInstance
static Provider * createInstance(Desc &)
Attrib::Convolve::Kernel::getStepout
const BinID & getStepout() const
Attrib::Convolve::stepout_
BinID stepout_
Definition: convolveattrib.h:98
Attrib::Provider
Provides the actual output to ...
Definition: attribprovider.h:44
Attrib::Convolve::size_
int size_
Definition: convolveattrib.h:97
Attrib::Convolve::Kernel::stepout_
BinID stepout_
Definition: convolveattrib.h:122
ObjectSet
Set of pointers to objects.
Definition: commontypes.h:31
Attrib::Convolve::Kernel::Kernel
Kernel(int kernelfunc, int shape, int size, bool)
Attrib::Convolve::getInputOutput
bool getInputOutput(int input, TypeSet< int > &res) const
Attrib::Convolve::Kernel::sg_
Interval< int > sg_
Definition: convolveattrib.h:123
Attrib::Convolve::getInputData
bool getInputData(const BinID &, int idx)
Attrib::Convolve::shapeTypeStr
static const char * shapeTypeStr(int)
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
Attrib::Convolve::desZSampMargin
const Interval< int > * desZSampMargin(int input, int output) const
Attrib::Convolve::Kernel
Definition: convolveattrib.h:107
Attrib::DataHolder
Holds the attribute data.
Definition: attribdataholder.h:43
Attrib::Convolve::Kernel::~Kernel
~Kernel()
Convolve
void Convolve(int lx, int ifx, const float *x, int ly, int ify, const float *y, int lz, int ifz, float *z)
Attrib::Convolve::kernel_
Kernel * kernel_
Definition: convolveattrib.h:127
Attrib::Convolve::reqStepout
const BinID * reqStepout(int input, int output) const
Attrib::Convolve::Convolve
Convolve(Desc &)
Attrib::Convolve::Kernel::nrSubKernels
int nrSubKernels() const
Attrib::Convolve::Kernel::getKernel
const float * getKernel() const
Attrib::Convolve::initClass
static void initClass()
BinID
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:31
Attrib::Convolve::prepPriorToBoundsCalc
virtual void prepPriorToBoundsCalc()
Attrib::Convolve::attribName
static const char * attribName()
Definition: convolveattrib.h:58
Attrib::Convolve::inputdata_
ObjectSet< const DataHolder > inputdata_
Definition: convolveattrib.h:104
Attrib::Convolve::kernelStr
static const char * kernelStr()
Definition: convolveattrib.h:60
Attrib::Convolve::computeDataWavelet
bool computeDataWavelet(const DataHolder &, int t0, int nrsamples) const
Attrib::Convolve::~Convolve
~Convolve()
Attrib::Convolve::Kernel::sum_
float sum_
Definition: convolveattrib.h:124
Attrib::Convolve::Kernel::getSG
const Interval< int > & getSG() const
Attrib::Convolve::kerneltype_
int kerneltype_
Definition: convolveattrib.h:95
Attrib::Convolve::Kernel::nrsubkernels_
int nrsubkernels_
Definition: convolveattrib.h:121
Attrib::Convolve::shapeStr
static const char * shapeStr()
Definition: convolveattrib.h:61
Attrib::Convolve::kernelTypeStr
static const char * kernelTypeStr(int)
attribprovider.h
Attrib::Convolve::wavelet_
Wavelet * wavelet_
Definition: convolveattrib.h:99
Attrib::Convolve::sizeStr
static const char * sizeStr()
Definition: convolveattrib.h:62
sKey::Attributes
FixedString Attributes()
Definition: keystrs.h:39
Wavelet
Definition: wavelet.h:25
Attrib::Convolve::Kernel::getSubKernelSize
int getSubKernelSize() const
Attrib
Semblance Attribute.
Definition: attribdataholder.h:25
Interval< int >
Attrib::Convolve::dessampgate_
Interval< int > dessampgate_
Definition: convolveattrib.h:100
Attrib::Convolve::waveletStr
static const char * waveletStr()
Definition: convolveattrib.h:63
Attrib::Convolve::reqZSampMargin
const Interval< int > * reqZSampMargin(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::Convolve::computeData
bool computeData(const DataHolder &, const BinID &rel, int t0, int nrsamples, int threadid) const
Attrib::Convolve::updateDesc
static void updateDesc(Desc &)
Attrib::Convolve::Kernel::getSum
float getSum() const
Definition: convolveattrib.h:114
TypeSet< int >
Attrib::Convolve::allowParallelComputation
bool allowParallelComputation() const
Attrib::Convolve::isSingleTrace
virtual bool isSingleTrace() const

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