OpendTect-6_4  6.4
seis2dto3dinterpol.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: Bruno
8  Date: Feb 2011
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "seisbuf.h"
14 #include "executor.h"
15 #include "trckeyzsampling.h"
16 #include "arrayndimpl.h"
17 #include "fourier.h"
18 #include "binid.h"
19 #include "uistring.h"
20 #include "od_ostream.h"
21 #include "factory.h"
22 
23 class IOObj;
24 class Seis2DDataSet;
25 class SeisScaler;
26 class SeisTrc;
27 class SeisTrcWriter;
28 class SeisTrcBuf;
29 class od_ostream;
30 namespace Seis { class Provider; }
31 
34 public:
38 
39  const char* message() const
40  { return errmsg_ ? "interpolating"
41  : errmsg_; }
42  od_int64 nrDone() const { return nrdone_; }
43  const char* nrDoneText() const { return "Done"; }
44  od_int64 totalNr() const;
45  int nextStep();
46  void setStream(od_ostream&);
47  void setTaskRunner(TaskRunner* );
48  virtual bool init(const IOPar&);
49 
50  static const char* sKeyInput();
51  static const char* sKeyType();
52  static const char* sKeyPow();
53  static const char* sKeyTaper();
54  static const char* sKeySmrtScale();
55  static const char* sKeyCreaterType();
56  static BufferString getCreatorFormat() { return "Experimental"; }
57 
58 protected:
59  virtual bool usePar(const IOPar&);
60  virtual bool setIO(const IOPar&);
61  virtual bool checkParameters();
62 
66  const char* errmsg_;
67 
73 
74  bool read_;
75  int nrdone_;
76  mutable int totnr_;
77  bool read();
78 
82 
85  float rmsmax_;
86  float pow_;
89 
90  float taperangle_;
91  bool readData();
92  bool readInputCube(const int szfastx,
93  const int szfasty, const int szfastz );
94  bool butterflyOperator();
95  bool scaleArray();
96  void smartScale();
97  bool writeOutput();
98  virtual bool preProcessArray() {return true;}
99  virtual bool unProcessArray() {return true;}
100 };
101 
104 public:
106  Seis2DTo3DInterPol,
108  "Basic",
109  tr("Basic"))
110 
111 protected:
112 
113 };
#define mExpClass(module)
Definition: commondefs.h:160
Does Fourier Transforms of any size.
Definition: fourier.h:30
Summary for a Seismic object.
Definition: segydirectdef.h:23
od_ostream * strm_
Definition: seis2dto3dinterpol.h:88
Array3D< float_complex > * butterfly_
Definition: seis2dto3dinterpol.h:80
IOObj * outioobj_
Definition: seis2dto3dinterpol.h:64
OD class for stream write common access to the user log file, or std::cout in batch progs...
Definition: od_ostream.h:26
Definition: ioobj.h:58
IOObj * inioobj_
Definition: seis2dto3dinterpol.h:63
Definition: seis2dto3d.h:178
#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
bool init()
Definition: seis2dto3dinterpol.h:32
Definition: seiswrite.h:41
#define mDefaultFactoryInstantiation(baseclss, clss, keywrd, usernm)
Definition: factory.h:289
Array3D< float_complex > * geom_
Definition: seis2dto3dinterpol.h:81
int nrdone_
Definition: seis2dto3dinterpol.h:75
Definition: seis2dto3dinterpol.h:102
int totnr_
Definition: seis2dto3dinterpol.h:76
float pow_
Definition: seis2dto3dinterpol.h:86
TrcKeySampling seisbuftks_
Definition: seis2dto3dinterpol.h:69
float taperangle_
Definition: seis2dto3dinterpol.h:90
Fourier::CC * fft_
Definition: seis2dto3dinterpol.h:83
virtual bool preProcessArray()
Definition: seis2dto3dinterpol.h:98
SeisTrcBuf & seisbuf_
Definition: seis2dto3dinterpol.h:68
reads from a seismic data store.
Definition: seisread.h:50
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:47
Array3D< float_complex > * trcarr_
Definition: seis2dto3dinterpol.h:79
Class that can execute a task.
Definition: task.h:169
Horizontal sampling (inline and crossline range and steps).
Definition: trckeysampling.h:27
TaskRunner * taskrun_
Definition: seis2dto3dinterpol.h:87
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:35
SeisTrcWriter * wrr_
Definition: seis2dto3dinterpol.h:70
bool read_
Definition: seis2dto3dinterpol.h:74
#define mDefineFactoryInClass(T, funcname)
Definition: factory.h:426
virtual bool unProcessArray()
Definition: seis2dto3dinterpol.h:99
bool smartscaling_
Definition: seis2dto3dinterpol.h:84
static BufferString getCreatorFormat()
Definition: seis2dto3dinterpol.h:56
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:40
od_int64 nrDone() const
Definition: seis2dto3dinterpol.h:42
const char * nrDoneText() const
Definition: seis2dto3dinterpol.h:43
float rmsmax_
Definition: seis2dto3dinterpol.h:85
Seismic trace.
Definition: seistrc.h:34
BufferString errmsg_
Definition: horizontracker.h:119
const char * message() const
Definition: seis2dto3dinterpol.h:39
TrcKeyZSampling tkzs_
Definition: seis2dto3dinterpol.h:65
SeisTrcReader * rdr_
Definition: seis2dto3dinterpol.h:71
set of seismic traces.
Definition: seisbuf.h:31
SeisTrcBuf tmpseisbuf_
Definition: seis2dto3dinterpol.h:72
Set of 2D lines comparable with 3D seismic cube.
Definition: seis2ddata.h:37
const char * errmsg_
Definition: seis2dto3dinterpol.h:66
Specification to enable chunkwise execution of a process.
Definition: executor.h:39

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