OpendTect-6_4  6.4
seissingtrcproc.h
Go to the documentation of this file.
1 #ifndef seissingtrcproc_h
2 #define seissingtrcproc_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8  Author: A.H. Bril
9  Date: Oct 2001
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 -*/
14 
15 #include "seismod.h"
16 #include "executor.h"
17 #include "trckeyzsampling.h"
18 #include "uistrings.h"
19 
20 class IOObj;
21 class Scaler;
22 class SeisTrc;
23 class SeisTrcReader;
24 class SeisTrcWriter;
25 class SeisResampler;
26 
27 
39 public:
40 
41  SeisSingleTraceProc(const IOObj& in,const IOObj& out,
42  const char* nm="Trace processor",
43  const IOPar* iniopar=0,
44  const uiString& msg=uiStrings::sProcessing(),
45  int compnr=-1);
47  const char* nm="Trace processor",
48  ObjectSet<IOPar>* iniopars=0,
49  const uiString& msg=uiStrings::sProcessing(),
50  int compnr=-1);
51  SeisSingleTraceProc(const IOObj& out,const char* nm,
52  const uiString& msg);
53  virtual ~SeisSingleTraceProc();
54 
55  bool addReader(const IOObj&,const IOPar* iop=0);
57  void setInput(const IOObj&,const IOObj&,const char*,
58  const IOPar*,const uiString&);
60 
61  void skipCurTrc() { skipcurtrc_ = true; }
63 
64  const SeisTrcReader* reader(int idx=0) const
65  { return rdrs_.size()>idx ? rdrs_[idx] : 0; }
66  const SeisTrcWriter& writer() const { return wrr_; }
67  SeisTrc& getTrace() { return *worktrc_; }
68  const SeisTrc& getInputTrace() { return intrc_; }
69 
70  void setTracesPerStep( int n ) { trcsperstep_ = n; }
72 
73  uiString uiMessage() const;
74  uiString uiNrDoneText() const;
75  virtual od_int64 nrDone() const;
76  virtual od_int64 totalNr() const;
77  virtual int nextStep();
78 
79  int nrSkipped() const { return nrskipped_; }
80  int nrWritten() const { return nrwr_; }
81  void setTotalNrIfUnknown( int nr )
82  { if ( totnr_ < 0 ) totnr_ = nr; }
83  void setScaler(Scaler*);
85  void setResampler(SeisResampler*);
86  void skipNullTraces( bool yn=true ) { skipnull_ = yn; }
87  void fillNullTraces( bool yn=true ) { fillnull_ = yn; }
88 
89  void setExtTrcToSI( bool yn ) { extendtrctosi_ = yn; }
90  void setProcPars(const IOPar&,bool is2d);
92 
95 
96  const Scaler* scaler() const { return scaler_; }
97 
98 protected:
99 
108  int nrwr_;
110  int totnr_;
115  bool skipnull_;
116  bool is3d_;
117  bool fillnull_;
122  int compnr_;
123 
124  bool nextReader();
125  virtual void wrapUp();
126 
127  int getNextTrc();
128  int getFillTrc();
129  bool prepareTrc();
130  bool writeTrc();
131  void prepareNullFilling();
132 };
133 
134 
135 #endif
#define mExpClass(module)
Definition: commondefs.h:160
void setTotalNrIfUnknown(int nr)
Definition: seissingtrcproc.h:81
Summary for a Seismic object.
Definition: segydirectdef.h:23
bool is3d_
Definition: seissingtrcproc.h:116
Definition: ioobj.h:58
MultiID & wrrkey_
Definition: seissingtrcproc.h:111
bool fillnull_
Definition: seissingtrcproc.h:117
TrcKeySampling fillhs_
Definition: seissingtrcproc.h:119
#define mODTextTranslationClass(clss)
Definition: uistring.h:38
#define od_int64
Definition: plftypes.h:36
SeisTrc & intrc_
Definition: seissingtrcproc.h:102
ObjectSet< SeisTrcReader > rdrs_
Definition: seissingtrcproc.h:100
SeisTrc & getTrace()
Definition: seissingtrcproc.h:67
const SeisTrcWriter & writer() const
Definition: seissingtrcproc.h:66
Definition: seiswrite.h:41
void setTracesPerStep(int n)
default is 10
Definition: seissingtrcproc.h:70
Definition: uistring.h:89
void fillNullTraces(bool yn=true)
Definition: seissingtrcproc.h:87
bool allszsfound_
Definition: seissingtrcproc.h:106
int nrwr_
Definition: seissingtrcproc.h:108
int trcsperstep_
Definition: seissingtrcproc.h:112
Notifier< SeisSingleTraceProc > proctobedone_
Definition: seissingtrcproc.h:94
Notifier< SeisSingleTraceProc > traceselected_
Definition: seissingtrcproc.h:93
int totnr_
Definition: seissingtrcproc.h:110
reads from a seismic data store.
Definition: seisread.h:50
static uiString sProcessing()
Definition: uistrings.h:406
void setExtTrcToSI(bool yn)
Definition: seissingtrcproc.h:89
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
Scaler * scaler_
Definition: seissingtrcproc.h:114
const Scaler * scaler() const
Definition: seissingtrcproc.h:96
SeisTrcWriter & wrr_
Definition: seissingtrcproc.h:101
int compnr_
Definition: seissingtrcproc.h:122
int nrskipped_
Definition: seissingtrcproc.h:109
bool extendtrctosi_
Definition: seissingtrcproc.h:121
Scaling of floating point numbers.
Definition: scaler.h:33
void skipCurTrc()
will also be checked after processing CB
Definition: seissingtrcproc.h:61
uiString curmsg_
Definition: seissingtrcproc.h:105
will sub-sample in inl and crl, and re-sample in Z
Definition: seisresampler.h:29
SeisResampler * resampler_
Definition: seissingtrcproc.h:104
SeisTrc * worktrc_
Definition: seissingtrcproc.h:103
Single trace processing executor.
Definition: seissingtrcproc.h:37
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:30
Seismic trace.
Definition: seistrc.h:34
BinID fillbid_
Definition: seissingtrcproc.h:118
int nrSkipped() const
Definition: seissingtrcproc.h:79
int currdridx_
Definition: seissingtrcproc.h:113
bool skipnull_
Definition: seissingtrcproc.h:115
bool skipcurtrc_
Definition: seissingtrcproc.h:107
SeisTrc * filltrc_
Definition: seissingtrcproc.h:120
const SeisTrc & getInputTrace()
Definition: seissingtrcproc.h:68
int nrWritten() const
Definition: seissingtrcproc.h:80
const SeisTrcReader * reader(int idx=0) const
Definition: seissingtrcproc.h:64
Compound key consisting of ints.
Definition: multiid.h:25
Specification to enable chunkwise execution of a process.
Definition: executor.h:39
void skipNullTraces(bool yn=true)
Definition: seissingtrcproc.h:86

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