OpendTect  6.3
volproclateralsmoother.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: K. Tingdahl
8  Date: Feb 2008
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "volumeprocessingmod.h"
14 #include "volprocstep.h"
15 #include "array2dfilter.h"
16 
17 
18 namespace VolProc
19 {
20 
25 mExpClass(VolumeProcessing) LateralSmoother : public Step
27 public:
30  "LateralSmoother", tr("Lateral Smoother") )
31 
33  ~LateralSmoother();
34 
35  void setPars(const Array2DFilterPars&);
36  void setMirrorEdges(bool yn) { mirroredges_=yn; }
37  void setFixedValue(float v) { fixedvalue_=v; }
38  void setInterpolateUdfs(bool b) {interpolateundefs_=b;}
39 
40  const Array2DFilterPars& getPars() const { return pars_; }
41  bool getMirrorEdges() const { return mirroredges_; }
42  float getFixedValue() const { return fixedvalue_; }
43  bool getInterpolateUdfs() const {return interpolateundefs_;}
44 
45  virtual TrcKeySampling getInputHRg(const TrcKeySampling&) const;
46  virtual Task* createTask();
47  virtual void fillPar(IOPar&) const;
48  virtual bool usePar(const IOPar&);
49 
50  virtual bool needsFullVolume() const { return false; }
51  virtual bool canInputAndOutputBeSame() const { return true; }
52  virtual bool areSamplesIndependent() const { return true; }
53  virtual bool canHandle2D() const { return true; }
54  virtual bool needsInput() const;
55 
56 
57 protected:
58 
59  virtual od_int64 extraMemoryUsage(OutputSlotID,const TrcKeySampling&,
60  const StepInterval<int>&) const;
61 
65  float fixedvalue_;
66 
67  static const char* sKeyIsMedian() { return "Is Median"; }
68  static const char* sKeyIsWeighted() { return "Is Weighted"; }
69  static const char* sKeyMirrorEdges() { return "Mirror Edges"; }
70  static const char* sKeyInterpolateUdf() { return "Interpolate Udf";}
71  static const char* sKeyFixedValue() { return "Fixed Value"; }
72 
73 };
74 
75 } // namespace VolProc
#define mExpClass(module)
Definition: commondefs.h:157
bool mirroredges_
Definition: volproclateralsmoother.h:63
void setInterpolateUdfs(bool b)
Definition: volproclateralsmoother.h:38
bool getInterpolateUdfs() const
Definition: volproclateralsmoother.h:43
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
static const char * sKeyFixedValue()
Definition: volproclateralsmoother.h:71
bool getMirrorEdges() const
Definition: volproclateralsmoother.h:41
void usePar(const IOPar &iop, ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:200
#define od_int64
Definition: plftypes.h:34
const Array2DFilterPars & getPars() const
Definition: volproclateralsmoother.h:40
bool interpolateundefs_
Definition: volproclateralsmoother.h:64
#define mDefaultFactoryInstantiation(baseclss, clss, keywrd, usernm)
Definition: factory.h:287
Lateral smoother. Subclass of Step.
Definition: volproclateralsmoother.h:25
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
virtual bool canInputAndOutputBeSame() const
Definition: volproclateralsmoother.h:51
Horizontal sampling (inline and crossline range and steps).
Definition: trckeysampling.h:25
Adapter for a VolProc chain to external attribute calculation.
Definition: velocitygridder.h:29
Array2DFilterPars pars_
Definition: volproclateralsmoother.h:62
float fixedvalue_
Definition: volproclateralsmoother.h:65
int OutputSlotID
Definition: volprocstep.h:47
virtual bool canHandle2D() const
Definition: volproclateralsmoother.h:53
float getFixedValue() const
Definition: volproclateralsmoother.h:42
virtual bool needsFullVolume() const
Definition: volproclateralsmoother.h:50
void setMirrorEdges(bool yn)
Definition: volproclateralsmoother.h:36
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:187
static const char * sKeyMirrorEdges()
Definition: volproclateralsmoother.h:69
An algorithm/calculation/transformation that takes one scalar volume as input, processes it...
Definition: volprocstep.h:39
virtual bool areSamplesIndependent() const
Definition: volproclateralsmoother.h:52
Parameters for Array2DFilterer.
Definition: array2dfilter.h:30
static const char * sKeyIsWeighted()
Definition: volproclateralsmoother.h:68
static const char * sKeyIsMedian()
Definition: volproclateralsmoother.h:67
void setFixedValue(float v)
Definition: volproclateralsmoother.h:37
Generalization of something (e.g. a computation) that needs to be done in multiple steps...
Definition: task.h:26
static const char * sKeyInterpolateUdf()
Definition: volproclateralsmoother.h:70

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