OpendTect  6.3
seissingtrcproc.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: A.H. Bril
8  Date: Oct 2001
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "seiscommon.h"
14 #include "executor.h"
15 #include "trckeyzsampling.h"
16 #include "uistrings.h"
17 
18 class IOObj;
19 class Scaler;
20 class SeisTrc;
21 class SeisTrcWriter;
22 class SeisResampler;
23 namespace Seis { class Provider; }
24 
25 
37 public:
38 
39  SeisSingleTraceProc(const IOObj& in,const IOObj& out,
40  const char* nm="Trace processor",
41  const IOPar* iniopar=0,
42  const uiString& msg=uiStrings::sProcessing(),
43  int compnr=-1);
45  const char* nm="Trace processor",
46  ObjectSet<IOPar>* iniopars=0,
47  const uiString& msg=uiStrings::sProcessing(),
48  int compnr=-1);
49  SeisSingleTraceProc(const IOObj& out,const char* nm,
50  const uiString& msg);
51  virtual ~SeisSingleTraceProc();
52 
53  bool addReader(const IOObj&,const IOPar* iop=0);
55  void setInput(const IOObj&,const IOObj&,const char*,
56  const IOPar*,const uiString&);
58 
59  void skipCurTrc() { skipcurtrc_ = true; }
61 
62  const Seis::Provider* provider(int idx=0) const
63  { return provs_.size()>idx ? provs_[idx] : 0; }
64  const SeisTrcWriter& writer() const { return wrr_; }
65  SeisTrc& getTrace() { return *worktrc_; }
66  const SeisTrc& getInputTrace() { return intrc_; }
67 
68  void setTracesPerStep( int n ) { trcsperstep_ = n; }
70 
71  uiString message() const;
72  uiString nrDoneText() const;
73  virtual od_int64 nrDone() const;
74  virtual od_int64 totalNr() const;
75  virtual int nextStep();
76 
77  int nrSkipped() const { return nrskipped_; }
78  int nrWritten() const { return nrwr_; }
79  void setScaler(Scaler*);
81  void setResampler(SeisResampler*);
82  void skipNullTraces( bool yn=true ) { skipnull_ = yn; }
83  void fillNullTraces( bool yn=true ) { fillnull_ = yn; }
84 
85  void setExtTrcToSI( bool yn ) { extendtrctosi_ = yn; }
86  void setProcPars(const IOPar&,bool is2d);
88 
91 
92  const Scaler* scaler() const { return scaler_; }
93 
94 protected:
95 
104  int nrwr_;
111  bool skipnull_;
112  bool is3d_;
113  bool fillnull_;
118  int compnr_;
119 
120  bool nextReader();
121  virtual void wrapUp();
122 
123  int getNextTrc();
124  int getFillTrc();
125  bool prepareTrc();
126  bool writeTrc();
127  void prepareNullFilling();
128 };
#define mExpClass(module)
Definition: commondefs.h:157
Seismics.
Definition: segydirectdef.h:20
bool is3d_
Definition: seissingtrcproc.h:112
Definition: ioobj.h:57
bool fillnull_
Definition: seissingtrcproc.h:113
TrcKeySampling fillhs_
Definition: seissingtrcproc.h:115
is the access point for seismic traces. Instantiate a subclass and ask for what you need...
Definition: seisprovider.h:54
DBKey & wrrkey_
Definition: seissingtrcproc.h:107
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
#define od_int64
Definition: plftypes.h:34
SeisTrc & intrc_
Definition: seissingtrcproc.h:98
SeisTrc & getTrace()
Definition: seissingtrcproc.h:65
int curprovidx_
Definition: seissingtrcproc.h:109
const SeisTrcWriter & writer() const
Definition: seissingtrcproc.h:64
Definition: seiswrite.h:38
void setTracesPerStep(int n)
default is 10
Definition: seissingtrcproc.h:68
Definition: uistring.h:88
void fillNullTraces(bool yn=true)
Definition: seissingtrcproc.h:83
bool allszsfound_
Definition: seissingtrcproc.h:102
int nrwr_
Definition: seissingtrcproc.h:104
int trcsperstep_
Definition: seissingtrcproc.h:108
Notifier< SeisSingleTraceProc > proctobedone_
Definition: seissingtrcproc.h:90
Notifier< SeisSingleTraceProc > traceselected_
Definition: seissingtrcproc.h:89
void message(const char *)
default: to stderr
FixedString Provider()
Definition: keystrs.h:103
static uiString sProcessing()
Definition: uistrings.h:426
void setExtTrcToSI(bool yn)
Definition: seissingtrcproc.h:85
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
Horizontal sampling (inline and crossline range and steps).
Definition: trckeysampling.h:25
Scaler * scaler_
Definition: seissingtrcproc.h:110
ObjectSet< Seis::Provider > provs_
Definition: seissingtrcproc.h:96
const Scaler * scaler() const
Definition: seissingtrcproc.h:92
SeisTrcWriter & wrr_
Definition: seissingtrcproc.h:97
int compnr_
Definition: seissingtrcproc.h:118
int nrskipped_
Definition: seissingtrcproc.h:105
bool extendtrctosi_
Definition: seissingtrcproc.h:117
Scaling of floating point numbers.
Definition: scaler.h:30
void skipCurTrc()
will also be checked after processing CB
Definition: seissingtrcproc.h:59
uiString curmsg_
Definition: seissingtrcproc.h:101
will sub-sample in inl and crl, and re-sample in Z
Definition: seisresampler.h:27
SeisResampler * resampler_
Definition: seissingtrcproc.h:100
SeisTrc * worktrc_
Definition: seissingtrcproc.h:99
Single trace processing executor.
Definition: seissingtrcproc.h:35
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:28
Seismic trace.
Definition: seistrc.h:31
BinID fillbid_
Definition: seissingtrcproc.h:114
int nrSkipped() const
Definition: seissingtrcproc.h:77
Full key to any object in the OpendTect data store.
Definition: dbkey.h:36
bool skipnull_
Definition: seissingtrcproc.h:111
bool skipcurtrc_
Definition: seissingtrcproc.h:103
const Seis::Provider * provider(int idx=0) const
Definition: seissingtrcproc.h:62
SeisTrc * filltrc_
Definition: seissingtrcproc.h:116
const SeisTrc & getInputTrace()
Definition: seissingtrcproc.h:66
int nrWritten() const
Definition: seissingtrcproc.h:78
Specification to enable chunkwise execution of a process.
Definition: executor.h:38
void skipNullTraces(bool yn=true)
Definition: seissingtrcproc.h:82
od_int64 totnr_
Definition: seissingtrcproc.h:106

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