OpendTect  6.6
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  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "seismod.h"
15 #include "executor.h"
16 #include "trckeyzsampling.h"
17 #include "uistrings.h"
18 
19 class IOObj;
20 class Scaler;
21 class SeisTrc;
22 class SeisTrcReader;
23 class SeisTrcWriter;
24 class SeisResampler;
25 
26 
38 public:
39 
40  SeisSingleTraceProc(const IOObj& in,const IOObj& out,
41  const char* nm="Trace processor",
42  const IOPar* iniopar=0,
43  const uiString& msg=uiStrings::sProcessing(),
44  int compnr=-1);
46  const char* nm="Trace processor",
47  ObjectSet<IOPar>* iniopars=0,
48  const uiString& msg=uiStrings::sProcessing(),
49  int compnr=-1);
50  SeisSingleTraceProc(const IOObj& out,const char* nm,
51  const uiString& msg);
53 
54  bool addReader(const IOObj&,const IOPar* iop=0);
56  void setInput(const IOObj&,const IOObj&,const char*,
57  const IOPar*,const uiString&);
59 
60  void skipCurTrc() { skipcurtrc_ = true; }
62 
63  const SeisTrcReader* reader(int idx=0) const
64  { return rdrs_.size()>idx ? rdrs_[idx] : 0; }
65  const SeisTrcWriter& writer() const { return wrr_; }
66  SeisTrc& getTrace() { return *worktrc_; }
67  const SeisTrc& getInputTrace() { return intrc_; }
68 
69  void setTracesPerStep( int n ) { trcsperstep_ = n; }
71 
74  virtual od_int64 nrDone() const;
75  virtual od_int64 totalNr() const;
76  virtual int nextStep();
77 
78  int nrSkipped() const { return nrskipped_; }
79  int nrWritten() const { return nrwr_; }
80  void setTotalNrIfUnknown( int nr )
81  { if ( totnr_ < 0 ) totnr_ = nr; }
82  void setScaler(Scaler*);
85  void skipNullTraces( bool yn=true ) { skipnull_ = yn; }
86  void fillNullTraces( bool yn=true ) { fillnull_ = yn; }
87 
88  void setExtTrcToSI( bool yn ) { extendtrctosi_ = yn; }
89  void setProcPars(const IOPar&,bool is2d);
91 
94 
95  const Scaler* scaler() const { return scaler_; }
96 
97 protected:
98 
107  int nrwr_;
109  int totnr_;
114  bool skipnull_;
115  bool is3d_;
116  bool fillnull_;
121  int compnr_;
122 
123  bool nextReader();
124  virtual void wrapUp();
125 
126  int getNextTrc();
127  int getFillTrc();
128  bool prepareTrc();
129  bool writeTrc();
131 };
132 
133 
SeisSingleTraceProc::filltrc_
SeisTrc * filltrc_
Definition: seissingtrcproc.h:119
uiStrings::sProcessing
static uiString sProcessing()
Definition: uistrings.h:512
SeisSingleTraceProc::nrDone
virtual od_int64 nrDone() const
SeisSingleTraceProc::setResampler
void setResampler(SeisResampler *)
TrcKeySampling
Horizontal sampling (inline and crossline range and steps).
Definition: trckeysampling.h:35
SeisSingleTraceProc::nextStep
virtual int nextStep()
SeisTrcReader
reads from a seismic data store.
Definition: seisread.h:50
SeisSingleTraceProc::getTrace
SeisTrc & getTrace()
Definition: seissingtrcproc.h:66
SeisSingleTraceProc::SeisSingleTraceProc
SeisSingleTraceProc(const IOObj &in, const IOObj &out, const char *nm="Trace processor", const IOPar *iniopar=0, const uiString &msg=uiStrings::sProcessing(), int compnr=-1)
ObjectSet< IOObj >
SeisResampler
will sub-sample in inl and crl, and re-sample in Z
Definition: seisresampler.h:29
Seis
Summary for a Seismic object.
Definition: segydirectdef.h:22
SeisSingleTraceProc::skipcurtrc_
bool skipcurtrc_
Definition: seissingtrcproc.h:106
SeisSingleTraceProc::is3d_
bool is3d_
Definition: seissingtrcproc.h:115
od_int64
#define od_int64
Definition: plftypes.h:35
SeisSingleTraceProc::allszsfound_
bool allszsfound_
Definition: seissingtrcproc.h:105
SeisSingleTraceProc::fillnull_
bool fillnull_
Definition: seissingtrcproc.h:116
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
SeisSingleTraceProc::~SeisSingleTraceProc
virtual ~SeisSingleTraceProc()
SeisTrc
Seismic trace.
Definition: seistrc.h:34
SeisSingleTraceProc::trcsperstep_
int trcsperstep_
Definition: seissingtrcproc.h:111
SeisSingleTraceProc::prepareTrc
bool prepareTrc()
SeisSingleTraceProc::nextReader
bool nextReader()
SeisSingleTraceProc::nrSkipped
int nrSkipped() const
Definition: seissingtrcproc.h:78
SeisSingleTraceProc::rdrs_
ObjectSet< SeisTrcReader > rdrs_
Definition: seissingtrcproc.h:99
SeisSingleTraceProc::intrc_
SeisTrc & intrc_
Definition: seissingtrcproc.h:101
SeisSingleTraceProc::traceselected_
Notifier< SeisSingleTraceProc > traceselected_
Definition: seissingtrcproc.h:92
SeisSingleTraceProc::setTracesPerStep
void setTracesPerStep(int n)
default is 10
Definition: seissingtrcproc.h:69
SeisSingleTraceProc::reader
const SeisTrcReader * reader(int idx=0) const
Definition: seissingtrcproc.h:63
SeisSingleTraceProc::totnr_
int totnr_
Definition: seissingtrcproc.h:109
BinID
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:31
SeisSingleTraceProc::prepareNullFilling
void prepareNullFilling()
SeisSingleTraceProc::nrwr_
int nrwr_
Definition: seissingtrcproc.h:107
Scaler
Scaling of floating point numbers.
Definition: scaler.h:33
SeisSingleTraceProc::proctobedone_
Notifier< SeisSingleTraceProc > proctobedone_
Definition: seissingtrcproc.h:93
SeisSingleTraceProc::compnr_
int compnr_
Definition: seissingtrcproc.h:121
trckeyzsampling.h
SeisSingleTraceProc::totalNr
virtual od_int64 totalNr() const
SeisSingleTraceProc::skipCurTrc
void skipCurTrc()
will also be checked after processing CB
Definition: seissingtrcproc.h:60
uistrings.h
Executor
Specification to enable chunkwise execution of a process.
Definition: executor.h:39
SeisSingleTraceProc::setExtTrcToSI
void setExtTrcToSI(bool yn)
Definition: seissingtrcproc.h:88
SeisSingleTraceProc::scaler_
Scaler * scaler_
Definition: seissingtrcproc.h:113
Notifier< SeisSingleTraceProc >
IOObj
Definition: ioobj.h:58
SeisSingleTraceProc::uiNrDoneText
uiString uiNrDoneText() const
will be nrDoneText() in 7.x
executor.h
SeisSingleTraceProc::resampler_
SeisResampler * resampler_
Definition: seissingtrcproc.h:103
SeisSingleTraceProc::fillNullTraces
void fillNullTraces(bool yn=true)
Definition: seissingtrcproc.h:86
SeisSingleTraceProc::scaler
const Scaler * scaler() const
Definition: seissingtrcproc.h:95
SeisSingleTraceProc::setScaler
void setScaler(Scaler *)
Scaler becomes mine.
SeisSingleTraceProc::nrskipped_
int nrskipped_
Definition: seissingtrcproc.h:108
MultiID
Compound key consisting of ints.
Definition: multiid.h:24
SeisSingleTraceProc::fillbid_
BinID fillbid_
Definition: seissingtrcproc.h:117
SeisSingleTraceProc::wrr_
SeisTrcWriter & wrr_
Definition: seissingtrcproc.h:100
SeisSingleTraceProc::currdridx_
int currdridx_
Definition: seissingtrcproc.h:112
SeisSingleTraceProc::SeisSingleTraceProc
SeisSingleTraceProc(ObjectSet< IOObj >, const IOObj &, const char *nm="Trace processor", ObjectSet< IOPar > *iniopars=0, const uiString &msg=uiStrings::sProcessing(), int compnr=-1)
SeisSingleTraceProc::uiMessage
uiString uiMessage() const
will be message() again in 7.x
SeisSingleTraceProc::extendtrctosi_
bool extendtrctosi_
Definition: seissingtrcproc.h:120
SeisSingleTraceProc::setTotalNrIfUnknown
void setTotalNrIfUnknown(int nr)
Definition: seissingtrcproc.h:80
SeisSingleTraceProc::wrapUp
virtual void wrapUp()
uiString
String that is able to hold international (UTF-8) strings for the user interface.
Definition: uistring.h:121
SeisSingleTraceProc::skipnull_
bool skipnull_
Definition: seissingtrcproc.h:114
SeisSingleTraceProc::curmsg_
uiString curmsg_
Definition: seissingtrcproc.h:104
SeisSingleTraceProc::mODTextTranslationClass
mODTextTranslationClass(SeisSingleTraceProc)
SeisSingleTraceProc::writeTrc
bool writeTrc()
SeisSingleTraceProc::worktrc_
SeisTrc * worktrc_
Definition: seissingtrcproc.h:102
SeisSingleTraceProc::getInputTrace
const SeisTrc & getInputTrace()
Definition: seissingtrcproc.h:67
SeisSingleTraceProc::setProcPars
void setProcPars(const IOPar &, bool is2d)
Sets all above proc pars from IOPar.
SeisSingleTraceProc::addReader
bool addReader(const IOObj &, const IOPar *iop=0)
Must be done before any step.
SeisSingleTraceProc::skipNullTraces
void skipNullTraces(bool yn=true)
Definition: seissingtrcproc.h:85
SeisSingleTraceProc::writer
const SeisTrcWriter & writer() const
Definition: seissingtrcproc.h:65
SeisSingleTraceProc::SeisSingleTraceProc
SeisSingleTraceProc(const IOObj &out, const char *nm, const uiString &msg)
SeisSingleTraceProc::getNextTrc
int getNextTrc()
SeisSingleTraceProc::getFillTrc
int getFillTrc()
SeisSingleTraceProc::nrWritten
int nrWritten() const
Definition: seissingtrcproc.h:79
SeisTrcWriter
Definition: seiswrite.h:41
SeisSingleTraceProc::setInput
void setInput(const IOObj &, const IOObj &, const char *, const IOPar *, const uiString &)
Must be done before any step.
IOPar
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
SeisSingleTraceProc::wrrkey_
MultiID & wrrkey_
Definition: seissingtrcproc.h:110
SeisSingleTraceProc::fillhs_
TrcKeySampling fillhs_
Definition: seissingtrcproc.h:118
SeisSingleTraceProc
Single trace processing executor.
Definition: seissingtrcproc.h:37

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