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

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