OpendTect  6.6
prestackanglemute.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: Y. Liu
8  Date: January 2011
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 
13 -*/
14 
15 #include "prestackprocessingmod.h"
16 
17 #include "iopar.h"
18 #include "prestackprocessor.h"
19 #include "samplingdata.h"
20 
21 class ElasticLayer;
22 class ElasticModel;
23 class Muter;
24 class RayTracer1D;
25 class RayTracerRunner;
26 namespace Vel { class VolumeFunctionSource; }
27 
28 namespace PreStack
29 {
30 
35 mExpClass(PreStackProcessing) AngleCompParams
36 {
37 public:
39 
40  float mutecutoff_;
45 };
46 
47 
48 mExpClass(PreStackProcessing) AngleMuteBase
49 {
50 public:
51 
52  static const char* sKeyRayTracer() { return "Raytracer"; }
53  static const char* sKeyVelVolumeID() { return "Velocity vol-mid"; }
54  static const char* sKeyMuteCutoff() { return "Mute cutoff"; }
55 
56  virtual void fillPar(IOPar&) const;
57  virtual bool usePar(const IOPar&);
58 
59 protected:
62 
65  SamplingData<float>&,int resamplesz=-1);
66  float getOffsetMuteLayer(const RayTracer1D&,int,int,bool,
67  int startlayer=0,bool belowcutoff=true) const;
68 
72 };
73 
74 
79 mExpClass(PreStackProcessing) AngleMute : public Processor, public AngleMuteBase
81 public:
83  AngleMute,"AngleMute", tr("Angle Mute") )
84 
85  AngleMute();
87 
88  mStruct(PreStackProcessing) AngleMutePars : public AngleCompParams
89  {
90  AngleMutePars()
91  : tail_(false)
92  , taperlen_(10)
93  {}
94 
95  bool tail_;
96  float taperlen_;
97  };
98 
99  bool doPrepare(int nrthreads);
100 
101  uiString errMsg() const { return errmsg_; }
102 
103  AngleMutePars& params();
104  const AngleMutePars& params() const;
105 
106  static const char* sKeyTaperLength() { return "Taper lenght"; }
107  static const char* sKeyIsTail() { return "Mute tail"; }
108 
109  void fillPar(IOPar&) const;
110  bool usePar(const IOPar&);
111 
112 protected:
113 
114  od_int64 nrIterations() const { return outputs_.size(); }
115  virtual bool doWork(od_int64,od_int64,int);
116 
120 };
121 
122 } // namespace PreStack
123 
PreStack::AngleMuteBase::sKeyVelVolumeID
static const char * sKeyVelVolumeID()
Definition: prestackanglemute.h:53
PreStack::AngleCompParams::velvolmid_
MultiID velvolmid_
Definition: prestackanglemute.h:42
Vel
Velocity.
Definition: velocityfunction.h:32
PreStack::AngleMute::usePar
bool usePar(const IOPar &)
PreStack::AngleMute::sKeyIsTail
static const char * sKeyIsTail()
Definition: prestackanglemute.h:107
PreStack::AngleMuteBase::~AngleMuteBase
~AngleMuteBase()
PreStack::AngleMute::muters_
ObjectSet< Muter > muters_
Definition: prestackanglemute.h:119
PreStack::AngleMute::errmsg_
uiString errmsg_
Definition: prestackanglemute.h:117
PreStack::AngleMute::fillPar
void fillPar(IOPar &) const
RayTracer1D
Ray tracer in 1D.
Definition: raytrace1d.h:32
ObjectSet< RayTracerRunner >
PreStack::AngleMuteBase::getOffsetMuteLayer
float getOffsetMuteLayer(const RayTracer1D &, int, int, bool, int startlayer=0, bool belowcutoff=true) const
PreStack::AngleCompParams::anglerange_
Interval< int > anglerange_
Definition: prestackanglemute.h:41
od_int64
#define od_int64
Definition: plftypes.h:35
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
ElasticModel
A table of elastic prop layers with processing utilities.
Definition: ailayer.h:100
PreStack::AngleMuteBase::sKeyRayTracer
static const char * sKeyRayTracer()
Definition: prestackanglemute.h:52
samplingdata.h
Muter
Sets start or end part of a float series to 0.
Definition: muter.h:29
PreStack::AngleMute::raytraceparallel_
bool raytraceparallel_
Definition: prestackanglemute.h:118
PreStack::Processor
Processes PreStack data at one cdp location. The algorithm is implemented in subclasses,...
Definition: prestackprocessor.h:36
PreStack::AngleMute::params
const AngleMutePars & params() const
PreStack::AngleMuteBase::getLayers
bool getLayers(const BinID &, ElasticModel &, SamplingData< float > &, int resamplesz=-1)
ElasticLayer
A table of elastic prop layers.
Definition: ailayer.h:75
BinID
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:31
PreStack::AngleMute::doPrepare
struct(PreStackProcessing) AngleMutePars bool doPrepare(int nrthreads)
Vel::VolumeFunctionSource
Definition: velocityfunctionvolume.h:62
PreStack::AngleMute::nrIterations
od_int64 nrIterations() const
Definition: prestackanglemute.h:114
mStruct
#define mStruct(module)
Definition: commondefs.h:182
SamplingData< float >
PreStack::AngleCompParams::raypar_
IOPar raypar_
Definition: prestackanglemute.h:43
PreStack::AngleCompParams::smoothingpar_
IOPar smoothingpar_
Definition: prestackanglemute.h:44
PreStack::AngleCompParams::mutecutoff_
float mutecutoff_
Definition: prestackanglemute.h:40
PreStack::AngleMuteBase::fillPar
virtual void fillPar(IOPar &) const
PreStack::AngleMuteBase::usePar
virtual bool usePar(const IOPar &)
PreStack
Definition: synthseis.h:35
prestackprocessor.h
MultiID
Compound key consisting of ints.
Definition: multiid.h:24
PreStack::AngleMuteBase::AngleMuteBase
AngleMuteBase()
PreStack::AngleMuteBase::setVelocityFunction
bool setVelocityFunction()
PreStack::AngleCompParams::AngleCompParams
AngleCompParams()
PreStack::AngleMute::params
AngleMutePars & params()
RayTracerRunner
Definition: raytracerrunner.h:22
PreStack::AngleMute::doWork
virtual bool doWork(od_int64, od_int64, int)
uiString
String that is able to hold international (UTF-8) strings for the user interface.
Definition: uistring.h:121
PreStack::AngleMute::mODTextTranslationClass
mODTextTranslationClass(AngleMute)
MPE::errmsg_
BufferString errmsg_
Definition: horizontracker.h:118
PreStack::AngleCompParams
Base class for AngleMute and AngleMuteComputer.
Definition: prestackanglemute.h:36
PreStack::AngleMute::errMsg
uiString errMsg() const
Definition: prestackanglemute.h:101
iopar.h
PreStack::AngleMuteBase::params_
AngleCompParams * params_
Definition: prestackanglemute.h:69
PreStack::AngleMute
Angle mute.
Definition: prestackanglemute.h:80
PreStack::AngleMuteBase::rtrunners_
ObjectSet< RayTracerRunner > rtrunners_
Definition: prestackanglemute.h:71
PreStack::AngleMuteBase
Definition: prestackanglemute.h:49
Interval< int >
PreStack::AngleMuteBase::sKeyMuteCutoff
static const char * sKeyMuteCutoff()
Definition: prestackanglemute.h:54
IOPar
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
PreStack::AngleMute::mDefaultFactoryInstantiation
mDefaultFactoryInstantiation(Processor, AngleMute,"AngleMute", tr("Angle Mute")) AngleMute()
PreStack::AngleMuteBase::velsource_
Vel::VolumeFunctionSource * velsource_
Definition: prestackanglemute.h:70
PreStack::AngleMute::sKeyTaperLength
static const char * sKeyTaperLength()
Definition: prestackanglemute.h:106

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