OpendTect  6.6
seis2dto3d.h
Go to the documentation of this file.
1 #pragma once
2 
3 
4 /*+
5 ________________________________________________________________________
6 
7  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8  Author: Bruno
9  Date: Feb 2011
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 -*/
14 
15 
16 #include "seismod.h"
17 #include "executor.h"
18 #include "trckeyzsampling.h"
19 #include "arrayndimpl.h"
20 #include "fourier.h"
21 #include "binid.h"
22 #include "seisbuf.h"
23 #include "uistring.h"
24 
25 class IOObj;
26 class Seis2DDataSet;
27 class SeisScaler;
28 class SeisTrc;
29 class SeisTrcWriter;
30 class SeisTrcBuf;
31 
32 
35 public:
36 
37  SeisInterpol();
39 
41  void setParams(const TrcKeySampling&,float maxvel);
42 
44  const TrcKeySampling&) const;
46  { return errmsg_.isEmpty() ? tr( "interpolating" )
47  : errmsg_; }
48  od_int64 nrDone() const { return nrdone_; }
50  {
51  return tr("Number of iterations");
52  }
53  od_int64 totalNr() const { return nriter_; }
54  int nextStep();
55 
56 protected:
57 
59  int nriter_;
60  float maxvel_;
62 
63  int nrdone_;
64  mutable int totnr_;
65 
67  int szx_;
68  int szy_;
69  int szz_;
70  float max_;
71 
72  mStruct(Seis) TrcPosTrl
73  {
74  TrcPosTrl(int x,int y, int trc)
75  : idx_(x)
76  , idy_(y)
77  , trcpos_(trc)
78  {}
79  int idx_;
80  int idy_;
81  int trcpos_;
82 
83  bool operator == ( const TrcPosTrl& tr ) const
84  { return tr.trcpos_ == trcpos_; }
85  };
87 
90 
91  void clear();
92  void doWork(bool,int);
93  void doPrepare();
94  void setUpData();
95  void setFinalTrcs();
96 
97  const BinID convertToBID(int,int) const;
98  void convertToPos(const BinID&,int&,int&) const;
99  int getTrcInSet(const BinID&) const;
100 };
101 
102 
103 
106 public:
107 
108  Seis2DTo3D();
110 
111 
113  { return errmsg_.isEmpty() ? tr("interpolating")
114  : errmsg_; }
115  od_int64 nrDone() const { return nrdone_; }
116  uiString uiNrDoneText() const { return tr("Done"); }
117  od_int64 totalNr() const;
118  int nextStep();
119 
120  bool init(const IOPar&);
121  bool useNearestOnly() const { return nearesttrace_; }
122 
123  bool finishWrite() { return writeTmpTrcs(); }
124 
125  static const char* sKeyInput();
126  static const char* sKeyIsNearest();
127  static const char* sKeyStepout();
128  static const char* sKeyReUse();
129  static const char* sKeyMaxVel();
130  static const char* sKeyCreaterType();
131  static BufferString getCreatorFormat() { return "Normal"; }
132 
133 protected:
134  bool usePar(const IOPar&);
135  bool setIO(const IOPar&);
138  bool doWorkFFT();
139 
140 
144 
147  int nriter_;
148 
149  float maxvel_;
151  int inlstep_;
152  int crlstep_;
153 
155 
157 
160 
163 
166 
167  bool read_;
168  int nrdone_;
169  mutable int totnr_;
171 
172  bool writeTmpTrcs();
173  bool read();
174 };
175 
176 
179 public:
181 
183 
184 protected:
185 
186  float avgmaxval_;
187  float avgminval_;
188 };
189 
Seis2DTo3D::totnr_
int totnr_
Definition: seis2dto3d.h:169
Seis2DTo3D::usePar
bool usePar(const IOPar &)
SeisInterpol::doPrepare
void doPrepare()
TrcKeySampling
Horizontal sampling (inline and crossline range and steps).
Definition: trckeysampling.h:35
Seis2DTo3D::read
bool read()
Seis2DTo3D::seisbuftks_
TrcKeySampling seisbuftks_
Definition: seis2dto3d.h:159
Seis2DTo3D::hsit_
TrcKeySamplingIterator hsit_
Definition: seis2dto3d.h:165
Seis2DTo3D::useNearestOnly
bool useNearestOnly() const
Definition: seis2dto3d.h:121
SeisScaler::scaleTrace
void scaleTrace(SeisTrc &)
SeisScaler::avgmaxval_
float avgmaxval_
Definition: seis2dto3d.h:186
SeisInterpol::doWork
void doWork(bool, int)
fourier.h
SeisInterpol::nrDone
od_int64 nrDone() const
Definition: seis2dto3d.h:48
uistring.h
ObjectSet< const SeisTrc >
Fourier::CC
Does Fourier Transforms of any size.
Definition: fourier.h:30
Seis2DTo3D::setIO
bool setIO(const IOPar &)
SeisInterpol::convertToBID
const BinID convertToBID(int, int) const
SeisInterpol::setFinalTrcs
void setFinalTrcs()
SeisInterpol::getOutTrcs
void getOutTrcs(ObjectSet< SeisTrc > &, const TrcKeySampling &) const
Seis
Summary for a Seismic object.
Definition: segydirectdef.h:22
Seis2DTo3D::reusetrcs_
bool reusetrcs_
Definition: seis2dto3d.h:150
SeisInterpol::szx_
int szx_
Definition: seis2dto3d.h:67
od_int64
#define od_int64
Definition: plftypes.h:35
Seis2DTo3D::tmpseisbuf_
SeisTrcBuf tmpseisbuf_
Definition: seis2dto3d.h:162
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
Seis2DTo3D::crlstep_
int crlstep_
Definition: seis2dto3d.h:152
SeisTrc
Seismic trace.
Definition: seistrc.h:34
binid.h
SeisInterpol::~SeisInterpol
mODTextTranslationClass(SeisInterpol) public ~SeisInterpol()
Array3DImpl< float_complex >
SeisInterpol::getTrcInSet
int getTrcInSet(const BinID &) const
seisbuf.h
TrcKeySamplingIterator
Finds next BinID in TrcKeySampling; initializes to first position.
Definition: trckeysampling.h:201
SeisInterpol::clear
void clear()
Seis2DTo3D::sKeyIsNearest
static const char * sKeyIsNearest()
SeisInterpol::max_
float max_
Definition: seis2dto3d.h:70
operator==
bool operator==(const ArrayNDInfo &a1, const ArrayNDInfo &a2)
Definition: arrayndinfo.h:81
SeisInterpol::fft_
Fourier::CC * fft_
Definition: seis2dto3d.h:66
arrayndimpl.h
mODTextTranslationClass
#define mODTextTranslationClass(clss)
Definition: uistring.h:40
SeisTrcBuf
set of seismic traces.
Definition: seisbuf.h:31
Seis2DTo3D::sKeyCreaterType
static const char * sKeyCreaterType()
TrcKeyZSampling
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:35
SeisInterpol::setInput
void setInput(const ObjectSet< const SeisTrc > &)
Seis2DTo3D::getCreatorFormat
static BufferString getCreatorFormat()
Definition: seis2dto3d.h:131
SeisInterpol::nriter_
int nriter_
Definition: seis2dto3d.h:59
BinID
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:31
Seis2DTo3D::errmsg_
uiString errmsg_
Definition: seis2dto3d.h:154
Seis2DTo3D::finishWrite
bool finishWrite()
Definition: seis2dto3d.h:123
SeisInterpol::inptrcs_
const ObjectSet< const SeisTrc > * inptrcs_
Definition: seis2dto3d.h:58
SeisInterpol::szy_
int szy_
Definition: seis2dto3d.h:68
Seis2DTo3D::prevbid_
BinID prevbid_
Definition: seis2dto3d.h:146
SeisInterpol::nextStep
int nextStep()
SeisInterpol::setUpData
void setUpData()
Seis2DTo3D::checkParameters
bool checkParameters()
trckeyzsampling.h
Seis2DTo3D::interpol_
SeisInterpol interpol_
Definition: seis2dto3d.h:164
Seis2DTo3D::read_
bool read_
Definition: seis2dto3d.h:167
SeisInterpol::nrdone_
int nrdone_
Definition: seis2dto3d.h:63
Seis2DTo3D::writeTmpTrcs
bool writeTmpTrcs()
SeisInterpol::totalNr
od_int64 totalNr() const
Definition: seis2dto3d.h:53
mStruct
#define mStruct(module)
Definition: commondefs.h:182
Executor
Specification to enable chunkwise execution of a process.
Definition: executor.h:39
SeisScaler
Definition: seis2dto3d.h:178
Seis2DTo3D::sKeyMaxVel
static const char * sKeyMaxVel()
SeisInterpol::maxvel_
float maxvel_
Definition: seis2dto3d.h:60
SeisInterpol::setParams
void setParams(const TrcKeySampling &, float maxvel)
OD::String::isEmpty
bool isEmpty() const
Definition: odstring.h:50
IOObj
Definition: ioobj.h:58
Seis2DTo3D::sKeyStepout
static const char * sKeyStepout()
Seis2DTo3D::uiNrDoneText
uiString uiNrDoneText() const
will be nrDoneText() in 7.x
Definition: seis2dto3d.h:116
Seis2DTo3D::nextStep
int nextStep()
Seis2DTo3D::maxvel_
float maxvel_
Definition: seis2dto3d.h:149
SeisScaler::mODTextTranslationClass
mODTextTranslationClass(SeisScaler)
executor.h
Seis2DTo3D::nriter_
int nriter_
Definition: seis2dto3d.h:147
Seis2DTo3D::sKeyInput
static const char * sKeyInput()
Seis2DTo3D::sKeyReUse
static const char * sKeyReUse()
Seis2DTo3D
Definition: seis2dto3d.h:105
SeisInterpol::hs_
TrcKeySampling hs_
Definition: seis2dto3d.h:89
Seis2DDataSet
Set of 2D lines comparable with 3D seismic cube.
Definition: seis2ddata.h:37
Seis2DTo3D::uiMessage
uiString uiMessage() const
will be message() again in 7.x
Definition: seis2dto3d.h:112
Seis2DTo3D::wrr_
SeisTrcWriter * wrr_
Definition: seis2dto3d.h:161
SeisInterpol::convertToPos
void convertToPos(const BinID &, int &, int &) const
Seis2DTo3D::inlstep_
int inlstep_
Definition: seis2dto3d.h:151
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
Seis2DTo3D::nrDone
od_int64 nrDone() const
Definition: seis2dto3d.h:115
SeisInterpol::errmsg_
uiString errmsg_
Definition: seis2dto3d.h:61
SeisScaler::avgminval_
float avgminval_
Definition: seis2dto3d.h:187
Seis2DTo3D::init
bool init(const IOPar &)
SeisScaler::SeisScaler
SeisScaler(const SeisTrcBuf &)
Seis2DTo3D::doWorkNearest
void doWorkNearest()
uiString
String that is able to hold international (UTF-8) strings for the user interface.
Definition: uistring.h:121
SeisInterpol::uiNrDoneText
uiString uiNrDoneText() const
will be nrDoneText() in 7.x
Definition: seis2dto3d.h:49
Seis2DTo3D::totalNr
od_int64 totalNr() const
Seis2DTo3D::sc_
SeisScaler * sc_
Definition: seis2dto3d.h:156
MPE::errmsg_
BufferString errmsg_
Definition: horizontracker.h:118
Seis2DTo3D::nearesttrace_
bool nearesttrace_
Definition: seis2dto3d.h:170
SeisInterpol::szz_
int szz_
Definition: seis2dto3d.h:69
Seis2DTo3D::tkzs_
TrcKeyZSampling tkzs_
Definition: seis2dto3d.h:143
SeisInterpol::trcarr_
Array3DImpl< float_complex > * trcarr_
Definition: seis2dto3d.h:88
Seis2DTo3D::~Seis2DTo3D
mODTextTranslationClass(Seis2DTo3D) public ~Seis2DTo3D()
Seis2DTo3D::doWorkFFT
bool doWorkFFT()
SeisInterpol
Definition: seis2dto3d.h:34
SeisInterpol::totnr_
int totnr_
Definition: seis2dto3d.h:64
Seis2DTo3D::curbid_
BinID curbid_
Definition: seis2dto3d.h:145
Seis2DTo3D::nrdone_
int nrdone_
Definition: seis2dto3d.h:168
Seis2DTo3D::seisbuf_
SeisTrcBuf & seisbuf_
Definition: seis2dto3d.h:158
SeisTrcWriter
Definition: seiswrite.h:41
Seis2DTo3D::outioobj_
IOObj * outioobj_
Definition: seis2dto3d.h:142
SeisInterpol::posidxs_
TypeSet< TrcPosTrl > posidxs_
Definition: seis2dto3d.h:85
IOPar
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
SeisInterpol::uiMessage
uiString uiMessage() const
will be message() again in 7.x
Definition: seis2dto3d.h:45
TypeSet< TrcPosTrl >
Seis2DTo3D::inioobj_
IOObj * inioobj_
Definition: seis2dto3d.h:141

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