OpendTect  6.6
volprocstatscomputer.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: Helene Huck
8  Date: September 2015
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 
13 -*/
14 
15 
16 #include "volumeprocessingmod.h"
17 #include "volprocstep.h"
18 #include "trckeyzsampling.h"
19 #include "paralleltask.h"
20 
21 template<class T> class Array3D;
22 
23 namespace VolProc
24 {
25 
30 mExpClass(VolumeProcessing) StatsCalculator : public Step
32 public:
35  "Volume Statistics",
36  tr("Volume Statistics") )
37 
39 
40  static const char* sZSampMargin() { return "Z samples margin"; }
41 
42  bool needsInput() const { return true; }
43  void setStepout( BinID bid ) { stepout_ = bid; }
44  void setZMargin( int nsamp ) { nzsampextra_ = nsamp;}
46  { statstype_ = str; }
47 
48  void fillPar(IOPar&) const;
49  bool usePar(const IOPar&);
50 
52 // StepInterval<int> getInputZRg(const StepInterval<int>&) const;
53 
55  virtual bool needsFullVolume() const { return false; }
56 
57  /* mDeprecated (this function will be protected virtual after 6.0) */
59  const StepInterval<int>&) const;
60 
61 protected:
62 
64  int nzsampextra_; //extra on both sides
66 };
67 
68 
69 mClass(VolumeProcessing) StatsCalculatorTask : public ParallelTask
71 public:
73  const TrcKeyZSampling& tkzsin,
74  const TrcKeyZSampling& tkzsout,
75  BinID,int,BufferString,
76  Array3D<float>& out);
77 
78  static const char* sKeyEllipse() { return "Ellipse"; }
79  //for now
80 
81  od_int64 totalNr() const { return totalnr_; }
83 
84 protected:
86  void prepareWork();
87 
88  od_int64 nrIterations() const { return totalnr_; }
89 
91 
94 
96  int nzsampextra_; //extra on both sides
99 
101 
104 
106 };
107 
108 } // namespace VolProc
109 
VolProc::StatsCalculatorTask::datalock_
Threads::Lock datalock_
Definition: volprocstatscomputer.h:105
VolProc::StatsCalculator::setStatsType
void setStatsType(BufferString str)
Definition: volprocstatscomputer.h:45
TrcKeySampling
Horizontal sampling (inline and crossline range and steps).
Definition: trckeysampling.h:35
VolProc::StatsCalculator
Processor for Volume Statistics.
Definition: volprocstatscomputer.h:31
VolProc::StatsCalculator::stepout_
BinID stepout_
Definition: volprocstatscomputer.h:63
VolProc
Adapter for a VolProc chain to external attribute calculation.
Definition: seisdatapackwriter.h:24
VolProc::StatsCalculatorTask
Definition: volprocstatscomputer.h:70
VolProc::StatsCalculatorTask::stepout_
BinID stepout_
Definition: volprocstatscomputer.h:95
VolProc::StatsCalculator::getInputHRg
TrcKeySampling getInputHRg(const TrcKeySampling &) const
VolProc::StatsCalculatorTask::doWork
bool doWork(od_int64, od_int64, int)
VolProc::StatsCalculatorTask::tkzsin_
TrcKeyZSampling tkzsin_
Definition: volprocstatscomputer.h:102
od_int64
#define od_int64
Definition: plftypes.h:35
VolProc::StatsCalculatorTask::tkzsout_
TrcKeyZSampling tkzsout_
Definition: volprocstatscomputer.h:103
VolProc::StatsCalculator::mDefaultFactoryInstantiation
mDefaultFactoryInstantiation(VolProc::Step, StatsCalculator, "Volume Statistics", tr("Volume Statistics")) StatsCalculator()
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
VolProc::StatsCalculator::setStepout
void setStepout(BinID bid)
Definition: volprocstatscomputer.h:43
VolProc::StatsCalculator::needsInput
bool needsInput() const
Definition: volprocstatscomputer.h:42
VolProc::StatsCalculator::needsFullVolume
virtual bool needsFullVolume() const
Definition: volprocstatscomputer.h:55
TrcKeyZSampling
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:35
VolProc::StatsCalculatorTask::totalNr
od_int64 totalNr() const
Definition: volprocstatscomputer.h:81
Array3D
Array3D ( Subclass of ArrayND ) is a three dimensional array.
Definition: arraynd.h:162
BinID
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:31
StepInterval< int >
VolProc::StatsCalculatorTask::StatsCalculatorTask
StatsCalculatorTask(const Array3D< float > &, const TrcKeyZSampling &tkzsin, const TrcKeyZSampling &tkzsout, BinID, int, BufferString, Array3D< float > &out)
VolProc::StatsCalculatorTask::uiMessage
uiString uiMessage() const
will be message() again in 7.x
Task
Generalization of something (e.g. a computation) that needs to be done in multiple steps.
Definition: task.h:28
VolProc::StatsCalculatorTask::prepareWork
void prepareWork()
trckeyzsampling.h
VolProc::StatsCalculator::statstype_
BufferString statstype_
Definition: volprocstatscomputer.h:65
mClass
#define mClass(module)
Definition: commondefs.h:181
VolProc::StatsCalculator::usePar
bool usePar(const IOPar &)
VolProc::StatsCalculatorTask::totalnr_
od_int64 totalnr_
Definition: volprocstatscomputer.h:90
VolProc::StatsCalculator::createTask
Task * createTask()
VolProc::Step
An algorithm/calculation/transformation that takes one scalar volume as input, processes it,...
Definition: volprocstep.h:42
VolProc::StatsCalculator::nzsampextra_
int nzsampextra_
Definition: volprocstatscomputer.h:64
VolProc::StatsCalculator::fillPar
void fillPar(IOPar &) const
ParallelTask
Generalization of a task that can be run in parallel.
Definition: paralleltask.h:66
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
VolProc::StatsCalculator::setZMargin
void setZMargin(int nsamp)
Definition: volprocstatscomputer.h:44
uiString
String that is able to hold international (UTF-8) strings for the user interface.
Definition: uistring.h:121
VolProc::StatsCalculatorTask::statstype_
BufferString statstype_
Definition: volprocstatscomputer.h:97
volprocstep.h
VolProc::StatsCalculator::mODTextTranslationClass
mODTextTranslationClass(StatsCalculator)
VolProc::StatsCalculatorTask::mODTextTranslationClass
mODTextTranslationClass(StatsCalculatorTask)
VolProc::StatsCalculatorTask::input_
const Array3D< float > & input_
Definition: volprocstatscomputer.h:92
VolProc::StatsCalculatorTask::nzsampextra_
int nzsampextra_
Definition: volprocstatscomputer.h:96
VolProc::StatsCalculatorTask::nrIterations
od_int64 nrIterations() const
Definition: volprocstatscomputer.h:88
VolProc::Step::OutputSlotID
int OutputSlotID
Definition: volprocstep.h:46
VolProc::StatsCalculatorTask::positions_
TypeSet< BinID > positions_
Definition: volprocstatscomputer.h:100
VolProc::StatsCalculator::extraMemoryUsage
od_int64 extraMemoryUsage(OutputSlotID, const TrcKeySampling &, const StepInterval< int > &) const
paralleltask.h
Threads::Lock
A lock of a type that (hopefully) suits your needs. To use it, you need the Locker class.
Definition: threadlock.h:53
IOPar
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
VolProc::StatsCalculatorTask::sKeyEllipse
static const char * sKeyEllipse()
Definition: volprocstatscomputer.h:78
VolProc::StatsCalculatorTask::output_
Array3D< float > & output_
Definition: volprocstatscomputer.h:93
VolProc::StatsCalculatorTask::shape_
BufferString shape_
Definition: volprocstatscomputer.h:98
TypeSet< BinID >

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