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

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