OpendTect  6.3
seiscbvsimpfromothersurv.h
Go to the documentation of this file.
1 #pragma once
2 /*+
3 ________________________________________________________________________
4 
5  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
6  Author: Nanne Hemstra
7  Date: July 2015
8 ________________________________________________________________________
9 
10 -*/
11 
12 #include "seiscommon.h"
13 #include "arrayndimpl.h"
14 #include "executor.h"
15 #include "fourier.h"
16 #include "position.h"
17 #include "trckeyzsampling.h"
18 #include "uistring.h"
19 
20 class ArrayNDWindow;
22 class IOObj;
23 class SeisTrc;
24 class SeisTrcWriter;
25 class SeisTrcInfo;
26 namespace Pos { class IdxPair2Coord; }
27 
30 public:
31 
32  enum Interpol { Sinc, Nearest };
33 
36 
37  uiString message() const { return tr("Importing CBVS"); }
38  od_int64 nrDone() const { return nrdone_; }
39  uiString nrDoneText() const { return tr("Traces handled"); }
40  od_int64 totalNr() const { return totnr_; }
41  int nextStep();
42 
43  bool prepareRead(const char*);
44  void setPars(Interpol&,int,const TrcKeyZSampling&);
45  inline void setOutput( IOObj& obj ) { outioobj_ = &obj; }
46 
47  const TrcKeyZSampling& cubeSampling() const { return data_.tkzs_; }
48 
49 protected:
50 
51  const IOObj& inioobj_;
55 
57  mutable od_int64 totnr_;
59  const char* fullusrexp_;
60 
62 
63  mStruct(Seis) PosData
64  {
65  PosData()
66  : hsit_(0)
67  , tkzs_(false) {}
68 
69  BinID curbid_;
70  TrcKeyZSampling tkzs_;
72  };
73 
74  PosData data_, olddata_;
75 
76  int padfac_;
77  int sz_;
78  int newsz_;
79  int szz_;
80 
86 
87  bool createTranslators(const char*);
88  bool createWriter();
89 
90  bool findSquareTracesAroundCurbid(ObjectSet<SeisTrc>&) const;
91  void getCubeInfo(TypeSet<Coord>&,TypeSet<BinID>&) const;
92  float getInlXlnDist(const Pos::IdxPair2Coord&,bool,int) const;
93  SeisTrc* readTrc(const BinID&) const;
94  void sincInterpol(ObjectSet<SeisTrc>&) const;
95 };
#define mExpClass(module)
Definition: commondefs.h:157
Does Fourier Transforms of any size.
Definition: fourier.h:28
Seismics.
Definition: segydirectdef.h:20
uiString errmsg_
Definition: seiscbvsimpfromothersurv.h:58
IOObj * outioobj_
Definition: seiscbvsimpfromothersurv.h:52
void setOutput(IOObj &obj)
Definition: seiscbvsimpfromothersurv.h:45
Definition: ioobj.h:57
#define mStruct(module)
Definition: commondefs.h:162
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
Tapers the N-dimentional ArrayND with a windowFunction.
Definition: arrayndalgo.h:870
SeisTrcWriter * wrr_
Definition: seiscbvsimpfromothersurv.h:53
#define od_int64
Definition: plftypes.h:34
int newsz_
Definition: seiscbvsimpfromothersurv.h:78
Definition: seiswrite.h:38
int padfac_
Definition: seiscbvsimpfromothersurv.h:76
Finds next BinID in TrcKeySampling; initializes to first position.
Definition: trckeysampling.h:181
Array3DImpl< float_complex > * fftarr_
Definition: seiscbvsimpfromothersurv.h:84
Definition: uistring.h:88
od_int64 totnr_
Definition: seiscbvsimpfromothersurv.h:57
Definition: seiscbvsimpfromothersurv.h:28
Set of (small) copyable elements.
Definition: commontypes.h:26
CBVSSeisTrcTranslator * tr_
Definition: seiscbvsimpfromothersurv.h:54
uiString message() const
Definition: seiscbvsimpfromothersurv.h:37
ObjectSet< SeisTrc > trcsset_
Definition: seiscbvsimpfromothersurv.h:82
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:32
od_int64 nrdone_
Definition: seiscbvsimpfromothersurv.h:56
Position.
Definition: commontypes.h:38
Definition: seiscbvsimpfromothersurv.h:32
Information for a seismic trace, AKA trace header info.
Definition: seisinfo.h:24
od_int64 totalNr() const
Definition: seiscbvsimpfromothersurv.h:40
int szz_
Definition: seiscbvsimpfromothersurv.h:79
Array3DImpl< float_complex > * arr_
Definition: seiscbvsimpfromothersurv.h:83
Interpol
Definition: seiscbvsimpfromothersurv.h:32
Interpol interpol_
Definition: seiscbvsimpfromothersurv.h:61
ArrayNDWindow * taper_
Definition: seiscbvsimpfromothersurv.h:85
const char * fullusrexp_
Definition: seiscbvsimpfromothersurv.h:59
od_int64 nrDone() const
Definition: seiscbvsimpfromothersurv.h:38
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:28
Seismic trace.
Definition: seistrc.h:31
uiString nrDoneText() const
Definition: seiscbvsimpfromothersurv.h:39
PosData olddata_
Definition: seiscbvsimpfromothersurv.h:72
const IOObj & inioobj_
Definition: seiscbvsimpfromothersurv.h:51
Fourier::CC * fft_
Definition: seiscbvsimpfromothersurv.h:81
Encapsulates linear transform from (i,j) index to (x,y) coordinates.
Definition: posidxpair2coord.h:24
Definition: seiscbvs.h:23
Specification to enable chunkwise execution of a process.
Definition: executor.h:38
int sz_
Definition: seiscbvsimpfromothersurv.h:77
const TrcKeyZSampling & cubeSampling() const
Definition: seiscbvsimpfromothersurv.h:47

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