OpendTect  6.6
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  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "volumeprocessingmod.h"
15 #include "volprocstep.h"
16 #include "array2dfilter.h"
17 
18 
19 namespace VolProc
20 {
21 
26 mExpClass(VolumeProcessing) LateralSmoother : public Step
28 public:
31  "LateralSmoother", tr("Lateral Smoother") )
32 
35 
36  bool needsInput() const;
37  TrcKeySampling getInputHRg(const TrcKeySampling&) const;
38 
39  void setPars(const Array2DFilterPars&);
40  void setMirrorEdges(bool yn) { mirroredges_=yn; }
41  void setFixedValue(float v) { fixedvalue_=v; }
42  void setInterpolateUdfs(bool b) {interpolateundefs_=b;}
43 
44  const Array2DFilterPars& getPars() const { return pars_; }
45  bool getMirrorEdges() const { return mirroredges_; }
46  float getFixedValue() const { return fixedvalue_; }
47  bool getInterpolateUdfs() const {return interpolateundefs_;}
48 
49  virtual void fillPar(IOPar&) const;
50  virtual bool usePar(const IOPar&);
51 
52  virtual bool areSamplesIndependent() const { return true; }
53 
54  bool canInputAndOutputBeSame() const {return true;}
55  bool needsFullVolume() const {return false;}
56  bool canHandle2D() const { return false; }
57 
59 
60  /* mDeprecated (this function will be protected virtual after 6.0) */
62  const StepInterval<int>&) const;
63 
64 protected:
65 
66  static const char* sKeyIsMedian() { return "Is Median"; }
67  static const char* sKeyIsWeighted() { return "Is Weighted"; }
68  static const char* sKeyMirrorEdges() { return "Mirror Edges"; }
69  static const char* sKeyInterpolateUdf() { return "Interpolate Udf";}
70  static const char* sKeyFixedValue() { return "Fixed Value"; }
71 
73 
76  float fixedvalue_;
77 
78 private:
79 
80  void setStepouts();
81 };
82 
83 } // namespace VolProc
84 
VolProc::LateralSmoother::mDefaultFactoryInstantiation
mDefaultFactoryInstantiation(VolProc::Step, LateralSmoother, "LateralSmoother", tr("Lateral Smoother")) LateralSmoother()
TrcKeySampling
Horizontal sampling (inline and crossline range and steps).
Definition: trckeysampling.h:35
VolProc::LateralSmoother::getFixedValue
float getFixedValue() const
Definition: volproclateralsmoother.h:46
VolProc
Adapter for a VolProc chain to external attribute calculation.
Definition: seisdatapackwriter.h:24
VolProc::LateralSmoother::mODTextTranslationClass
mODTextTranslationClass(LateralSmoother)
VolProc::LateralSmoother::sKeyIsWeighted
static const char * sKeyIsWeighted()
Definition: volproclateralsmoother.h:67
od_int64
#define od_int64
Definition: plftypes.h:35
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
VolProc::LateralSmoother::sKeyMirrorEdges
static const char * sKeyMirrorEdges()
Definition: volproclateralsmoother.h:68
VolProc::LateralSmoother::sKeyFixedValue
static const char * sKeyFixedValue()
Definition: volproclateralsmoother.h:70
VolProc::LateralSmoother::setStepouts
void setStepouts()
StepInterval< int >
Array2DFilterPars
Parameters for Array2DFilterer.
Definition: array2dfilter.h:31
VolProc::LateralSmoother::sKeyIsMedian
static const char * sKeyIsMedian()
Definition: volproclateralsmoother.h:66
VolProc::LateralSmoother::setInterpolateUdfs
void setInterpolateUdfs(bool b)
Definition: volproclateralsmoother.h:42
Task
Generalization of something (e.g. a computation) that needs to be done in multiple steps.
Definition: task.h:28
VolProc::LateralSmoother
Lateral smoother. Subclass of Step.
Definition: volproclateralsmoother.h:27
VolProc::LateralSmoother::extraMemoryUsage
od_int64 extraMemoryUsage(OutputSlotID, const TrcKeySampling &, const StepInterval< int > &) const
VolProc::LateralSmoother::createTask
Task * createTask()
VolProc::LateralSmoother::sKeyInterpolateUdf
static const char * sKeyInterpolateUdf()
Definition: volproclateralsmoother.h:69
VolProc::LateralSmoother::getPars
const Array2DFilterPars & getPars() const
Definition: volproclateralsmoother.h:44
VolProc::Step
An algorithm/calculation/transformation that takes one scalar volume as input, processes it,...
Definition: volprocstep.h:42
VolProc::LateralSmoother::mirroredges_
bool mirroredges_
Definition: volproclateralsmoother.h:74
VolProc::LateralSmoother::setFixedValue
void setFixedValue(float v)
Definition: volproclateralsmoother.h:41
VolProc::LateralSmoother::fixedvalue_
float fixedvalue_
Definition: volproclateralsmoother.h:76
VolProc::LateralSmoother::areSamplesIndependent
virtual bool areSamplesIndependent() const
Definition: volproclateralsmoother.h:52
array2dfilter.h
volprocstep.h
VolProc::LateralSmoother::needsFullVolume
bool needsFullVolume() const
Definition: volproclateralsmoother.h:55
VolProc::LateralSmoother::getInterpolateUdfs
bool getInterpolateUdfs() const
Definition: volproclateralsmoother.h:47
VolProc::LateralSmoother::canHandle2D
bool canHandle2D() const
Definition: volproclateralsmoother.h:56
VolProc::LateralSmoother::usePar
virtual bool usePar(const IOPar &)
VolProc::Step::OutputSlotID
int OutputSlotID
Definition: volprocstep.h:46
VolProc::LateralSmoother::fillPar
virtual void fillPar(IOPar &) const
VolProc::LateralSmoother::pars_
Array2DFilterPars pars_
Definition: volproclateralsmoother.h:72
VolProc::LateralSmoother::getMirrorEdges
bool getMirrorEdges() const
Definition: volproclateralsmoother.h:45
IOPar
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
VolProc::LateralSmoother::interpolateundefs_
bool interpolateundefs_
Definition: volproclateralsmoother.h:75
VolProc::LateralSmoother::canInputAndOutputBeSame
bool canInputAndOutputBeSame() const
Definition: volproclateralsmoother.h:54

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