OpendTect-6_4  6.4
volprocsmoother.h
Go to the documentation of this file.
1 #ifndef volprocsmoother_h
2 #define volprocsmoother_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 
18 template <class T> class Smoother3D;
19 
20 namespace VolProc
21 {
22 
27 mExpClass(VolumeProcessing) Smoother : public Step
29 public:
32  "Smoother", tr("Smoother"))
33 
34  ~Smoother();
35  Smoother();
36 
37  bool needsInput() const { return true; }
38  TrcKeySampling getInputHRg(const TrcKeySampling&) const;
39  StepInterval<int> getInputZRg(const StepInterval<int>&) const;
40  StepInterval<int> getInputZRgWithGeom(const StepInterval<int>&,
41  Survey::Geometry::ID) const;
42 
43  bool setOperator(const char*,float param,
44  int inlsz,int crlsz,int zsz);
46  int inlSz() const;
47  int crlSz() const;
48  int zSz() const;
49  const char* getOperatorName() const;
50  float getOperatorParam() const;
51 
52  void fillPar(IOPar&) const;
53  bool usePar(const IOPar&);
54 
55  void releaseData();
56  bool canInputAndOutputBeSame() const { return false; }
57  bool needsFullVolume() const { return true; }
58  bool canHandle2D() const { return true; }
59 
60  Task* createTask();
61 
62  /* mDeprecated (this function will be protected virtual after 6.0) */
63  od_int64 extraMemoryUsage(OutputSlotID,const TrcKeySampling&,
64  const StepInterval<int>&) const;
65 
66 protected:
67 
68  static const char* sKeyZStepout() { return "ZStepout"; }
69 
70  bool prepareComp(int) { return true; }
71 
73 
74 private:
75 
76  void setStepouts();
77 
78 };
79 
80 } // namespace VolProc
81 
82 #endif
static const char * sKeyZStepout()
Definition: volprocsmoother.h:68
#define mExpClass(module)
Definition: commondefs.h:160
#define mODTextTranslationClass(clss)
Definition: uistring.h:38
void usePar(const IOPar &iop, ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:188
#define od_int64
Definition: plftypes.h:36
Smoother3D< float > * smoother_
Definition: volprocsmoother.h:72
#define mDefaultFactoryInstantiation(baseclss, clss, keywrd, usernm)
Definition: factory.h:289
bool needsInput() const
Definition: volprocsmoother.h:37
A subclass of Step to smoothen volumes.
Definition: volprocsmoother.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
bool prepareComp(int)
Definition: volprocsmoother.h:70
Adapter for a VolProc chain to external attribute calculation.
Definition: seisdatapackwriter.h:25
bool canInputAndOutputBeSame() const
Definition: volprocsmoother.h:56
int OutputSlotID
Definition: volprocstep.h:47
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:175
An algorithm/calculation/transformation that takes one scalar volume as input, processes it...
Definition: volprocstep.h:42
Smoothes a 3d signal with an operator.
Definition: smoother3d.h:27
Pos::GeomID ID
Definition: survgeom.h:44
bool canHandle2D() const
Definition: volprocsmoother.h:58
Generalization of something (e.g. a computation) that needs to be done in multiple steps...
Definition: task.h:28
bool needsFullVolume() const
Definition: volprocsmoother.h:57

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