OpendTect-6_4  6.4
volproclateralsmoother.h
Go to the documentation of this file.
1 #ifndef volproclateralsmoother_h
2 #define volproclateralsmoother_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8  Author: K. Tingdahl
9  Date: Feb 2008
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 -*/
14 
15 #include "volumeprocessingmod.h"
16 #include "volprocstep.h"
17 #include "array2dfilter.h"
18 
19 
20 namespace VolProc
21 {
22 
27 mExpClass(VolumeProcessing) LateralSmoother : public Step
29 public:
32  "LateralSmoother", tr("Lateral Smoother") )
33 
35  ~LateralSmoother();
36 
37  bool needsInput() const;
38  TrcKeySampling getInputHRg(const TrcKeySampling&) const;
39 
40  void setPars(const Array2DFilterPars&);
41  void setMirrorEdges(bool yn) { mirroredges_=yn; }
42  void setFixedValue(float v) { fixedvalue_=v; }
43  void setInterpolateUdfs(bool b) {interpolateundefs_=b;}
44 
45  const Array2DFilterPars& getPars() const { return pars_; }
46  bool getMirrorEdges() const { return mirroredges_; }
47  float getFixedValue() const { return fixedvalue_; }
48  bool getInterpolateUdfs() const {return interpolateundefs_;}
49 
50  virtual void fillPar(IOPar&) const;
51  virtual bool usePar(const IOPar&);
52 
53  virtual bool areSamplesIndependent() const { return true; }
54 
55  bool canInputAndOutputBeSame() const {return true;}
56  bool needsFullVolume() const {return false;}
57  bool canHandle2D() const { return false; }
58 
59  Task* createTask();
60 
61  /* mDeprecated (this function will be protected virtual after 6.0) */
62  od_int64 extraMemoryUsage(OutputSlotID,const TrcKeySampling&,
63  const StepInterval<int>&) const;
64 
65 protected:
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 
74 
77  float fixedvalue_;
78 
79 private:
80 
81  void setStepouts();
82 };
83 
84 } // namespace VolProc
85 
86 #endif
#define mExpClass(module)
Definition: commondefs.h:160
bool mirroredges_
Definition: volproclateralsmoother.h:75
void setInterpolateUdfs(bool b)
Definition: volproclateralsmoother.h:43
bool getInterpolateUdfs() const
Definition: volproclateralsmoother.h:48
#define mODTextTranslationClass(clss)
Definition: uistring.h:38
static const char * sKeyFixedValue()
Definition: volproclateralsmoother.h:71
bool getMirrorEdges() const
Definition: volproclateralsmoother.h:46
void usePar(const IOPar &iop, ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:188
#define od_int64
Definition: plftypes.h:36
bool canHandle2D() const
Definition: volproclateralsmoother.h:57
const Array2DFilterPars & getPars() const
Definition: volproclateralsmoother.h:45
bool interpolateundefs_
Definition: volproclateralsmoother.h:76
#define mDefaultFactoryInstantiation(baseclss, clss, keywrd, usernm)
Definition: factory.h:289
Lateral smoother. Subclass of Step.
Definition: volproclateralsmoother.h:27
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:47
Horizontal sampling (inline and crossline range and steps).
Definition: trckeysampling.h:27
Adapter for a VolProc chain to external attribute calculation.
Definition: seisdatapackwriter.h:25
Array2DFilterPars pars_
Definition: volproclateralsmoother.h:73
float fixedvalue_
Definition: volproclateralsmoother.h:77
int OutputSlotID
Definition: volprocstep.h:47
bool canInputAndOutputBeSame() const
Definition: volproclateralsmoother.h:55
float getFixedValue() const
Definition: volproclateralsmoother.h:47
void setMirrorEdges(bool yn)
Definition: volproclateralsmoother.h:41
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:175
static const char * sKeyMirrorEdges()
Definition: volproclateralsmoother.h:69
An algorithm/calculation/transformation that takes one scalar volume as input, processes it...
Definition: volprocstep.h:42
virtual bool areSamplesIndependent() const
Definition: volproclateralsmoother.h:53
Parameters for Array2DFilterer.
Definition: array2dfilter.h:31
static const char * sKeyIsWeighted()
Definition: volproclateralsmoother.h:68
static const char * sKeyIsMedian()
Definition: volproclateralsmoother.h:67
void setFixedValue(float v)
Definition: volproclateralsmoother.h:42
Generalization of something (e.g. a computation) that needs to be done in multiple steps...
Definition: task.h:28
bool needsFullVolume() const
Definition: volproclateralsmoother.h:56
static const char * sKeyInterpolateUdf()
Definition: volproclateralsmoother.h:70

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