OpendTect 8.0
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | List of all members
SeisZAxisStretcher Class Reference

#include <seiszaxisstretcher.h>

Inheritance diagram for SeisZAxisStretcher:
[legend]

Public Member Functions

 SeisZAxisStretcher (const IOObj &in, const IOObj &out, const TrcKeyZSampling &outcs, ZAxisTransform &, bool forward, bool stretchvels)
 
 SeisZAxisStretcher (const IOObj &in, const IOObj &out, const TrcKeyZSampling &outcs, ZAxisTransform &, bool forward, const VelocityDesc *=nullptr)
 
 ~SeisZAxisStretcher ()
 
bool isOK () const
 
void setGeomID (Pos::GeomID)
 
void setUdfVal (float val)
 
void setVelTypeIsVint (bool yn)
 
void setVelTypeIsVrms (bool yn)
 
uiString uiMessage () const override
 
uiString uiNrDoneText () const override
 
- Public Member Functions inherited from ParallelTask
virtual ~ParallelTask ()
 
void doParallel (bool yn)
 
bool execute () override
 
virtual bool executeParallel (bool parallel)
 
od_int64 nrDone () const override
 May be -1, i.e. class does not report nrdone.
 
od_int64 totalNr () const override
 
- Public Member Functions inherited from ReportingTask
 ReportingTask (const ReportingTask &)=delete
 
virtual ~ReportingTask ()
 
void getProgress (const ReportingTask &)
 
ReportingTaskoperator= (const ReportingTask &)=delete
 
void setSimpleMeter (bool yn, int repperc)
 
int simpleMeterStep () const
 
bool useSimpleMeter () const
 
- Public Member Functions inherited from Task
 Task (const Task &)=delete
 
virtual ~Task ()
 
virtual void controlWork (Control)
 
virtual void enableWorkControl (bool=true)
 Must be called before execute()
 
virtual uiRetVal errorWithDetails () const
 
virtual Control getState () const
 
Taskoperator= (const Task &)=delete
 
bool workControlEnabled () const
 
- Public Member Functions inherited from NamedCallBacker
 NamedCallBacker (const char *nm=nullptr)
 
 NamedCallBacker (const NamedCallBacker &)=delete
 
 ~NamedCallBacker ()
 
virtual Notifier< NamedCallBacker > & objectToBeDeleted () const
 
NamedCallBackeroperator= (const NamedCallBacker &)=delete
 
bool operator== (const NamedCallBacker &oth) const
 
bool operator== (const NamedObject &oth) const
 
- Public Member Functions inherited from CallBacker
 CallBacker ()
 
 CallBacker (const CallBacker &)
 
virtual ~CallBacker ()
 
bool attachCB (const NotifierAccess &, const CallBack &, bool onlyifnew=false) const
 
bool attachCB (const NotifierAccess *notif, const CallBack &cb, bool onlyifnew=false) const
 
void detachAllNotifiers () const
 Call from the destructor of your inherited object.
 
void detachCB (const NotifierAccess &, const CallBack &) const
 
void detachCB (const NotifierAccess *notif, const CallBack &cb) const
 
virtual bool isCapsule () const
 
bool isNotifierAttached (const NotifierAccess *) const
 Only for debugging purposes, don't use.
 
CallBackeroperator= (const CallBacker &)=delete
 
void stopReceivingNotifications () const
 
virtual CallBackertrueCaller ()
 
- Public Member Functions inherited from NamedObject
 NamedObject (const char *nm=nullptr)
 
 NamedObject (const NamedObject &oth)
 
virtual ~NamedObject ()
 
virtual BufferString getName () const
 
bool getNameFromPar (const IOPar &)
 
const name_typename () const override
 
NamedObjectoperator= (const NamedObject &)
 
bool operator== (const NamedObject &oth) const
 
virtual void setName (const char *nm)
 
- Public Member Functions inherited from ObjectWithName
virtual ~ObjectWithName ()
 
bool hasName (const char *nm) const
 
bool hasName (const name_type &nm) const
 
void putNameInPar (IOPar &) const
 

Private Member Functions

bool doFinish (bool) override
 
bool doPrepare (int) override
 
bool doWork (od_int64, od_int64, int) override
 
bool getInputTrace (SeisTrc &)
 
bool init ()
 
bool loadTransformChunk (int firstinl)
 
od_int64 nrIterations () const override
 
bool selfStretchVelocity (const SeisTrc &, int icomp, SeisTrc &) const
 
void setRanges ()
 
void setWorkers (const VelocityDesc &)
 
void stretch (const SeisTrc &, int icomp, const MathFunction< float, float > &intrcfunc, ZAxisTransformSampler &, float *tmpptr, SeisTrc &) const
 
bool stretchVelocity (const SeisTrc &, int icomp, SeisTrc &) const
 

Private Attributes

bool autotransform_ = false
 
TrcKeySampling curhrg_
 
Seis::GeomType geomtype_
 
const IOObjinpobj_
 
const bool ist2d_
 
uiString msg_
 
int nrthreads_ = 0
 
int nrwaiting_ = 0
 
TrcKeyZSampling outcs_
 
const IOObjoutobj_
 
Threads::ConditionVar readerlock_
 
Threads::ConditionVar readerlockmodel_
 
SeisTrcReaderseisreader_ = nullptr
 
SeisTrcWriterseiswriter_ = nullptr
 
SeisSequentialWritersequentialwriter_ = nullptr
 
double srd_
 
const UnitOfMeasuresrduom_
 
int totalnr_ = -1
 
float udfval_ = mUdf(float)
 
Vel::Workervintworker_ = nullptr
 
int voiid_ = -1
 
bool waitforall_ = false
 
Vel::Workerworker_ = nullptr
 
const ZDomain::Infozdomaininfo_ = nullptr
 
RefMan< ZAxisTransformztransform_
 

Additional Inherited Members

- Public Types inherited from Task
enum  Control { Run , Pause , Stop }
 
- Public Types inherited from ObjectWithName
typedef OD::String name_type
 
- Static Public Member Functions inherited from ParallelTask
static uiString sPosFinished ()
 
static uiString sTrcFinished ()
 
- Static Public Member Functions inherited from ReportingTask
static PtrMan< ProgressMetergetTextProgressMeter (od_ostream &, const IOPar *iop=nullptr)
 
static bool needSimpleLogging (const IOPar &)
 
static const char * sKeySimpleLogging ()
 
static const char * sKeySimpleLoggingStep ()
 
- Static Public Member Functions inherited from Task
static uiString uiStdNrDoneText ()
 
- Static Public Member Functions inherited from CallBacker
static void createReceiverForCurrentThread ()
 
static void removeReceiverForCurrentThread ()
 
- Public Attributes inherited from ReportingTask
Notifier< ReportingTaskprogressUpdated
 
- Protected Member Functions inherited from ParallelTask
 ParallelTask (const char *nm=0)
 
void addToNrDone (od_int64 increment)
 
od_int64 calculateThreadSize (od_int64 totalnr, int nrthreads, int thread) const
 
virtual int maxNrThreads () const
 
virtual int minThreadSize () const
 
void quickAddToNrDone (od_int64 loopidx)
 
void resetNrDone ()
 
virtual bool stopAllOnFailure () const
 
- Protected Member Functions inherited from ReportingTask
 ReportingTask (const char *nm=nullptr)
 
void incrementProgress ()
 
ProgressMeterprogressMeter () const
 
void reportProgressFinished ()
 
void reportProgressStarted ()
 
void resetProgress ()
 
void setProgressMeter (ProgressMeter *) override
 Must be called before execute()
 
void updateProgressMeter (bool forced=false, od_int64 *totalnr=0)
 
void updateReportedName ()
 
- Protected Member Functions inherited from Task
 Task (const char *nm=nullptr)
 
virtual bool shouldContinue ()
 
- Protected Member Functions inherited from NamedCallBacker
void sendDelNotif () const
 
- Protected Attributes inherited from Task
Control control_ = Task::Run
 
Threads::ConditionVarworkcontrolcondvar_ = nullptr
 
- Protected Attributes inherited from NamedCallBacker
Threads::Atomic< bool > delalreadytriggered_
 
Notifier< NamedCallBackerdelnotif_
 
- Protected Attributes inherited from NamedObject
BufferString name_
 

Detailed Description

brief Stretches the zaxis from the input cube with a ZAxisTransform and writes it out into another volume.

<>

Constructor & Destructor Documentation

◆ SeisZAxisStretcher() [1/2]

SeisZAxisStretcher::SeisZAxisStretcher ( const IOObj & in,
const IOObj & out,
const TrcKeyZSampling & outcs,
ZAxisTransform & ,
bool forward,
const VelocityDesc * = nullptr )

◆ SeisZAxisStretcher() [2/2]

SeisZAxisStretcher::SeisZAxisStretcher ( const IOObj & in,
const IOObj & out,
const TrcKeyZSampling & outcs,
ZAxisTransform & ,
bool forward,
bool stretchvels )

◆ ~SeisZAxisStretcher()

SeisZAxisStretcher::~SeisZAxisStretcher ( )

Member Function Documentation

◆ doFinish()

bool SeisZAxisStretcher::doFinish ( bool success)
overrideprivatevirtual

Called after all doWork have finished.

Parameters
successindicates whether all doWork returned true.

Reimplemented from ParallelTask.

◆ doPrepare()

bool SeisZAxisStretcher::doPrepare ( int nrthreads)
overrideprivatevirtual

Called once, before any doWork is called.

Reimplemented from ParallelTask.

◆ doWork()

bool SeisZAxisStretcher::doWork ( od_int64 start,
od_int64 stop,
int threadidx )
overrideprivatevirtual

The functions that does the job. The function will be called with all intervals from 0 to ParallelTask::nrIterations()-1. The function must be designed to be able to run in parallel.

Parameters
startfirst index
stoplast index
threadidxgives an identifier (between 0 and nr of threads -1) that is unique to each call to doWork.

Implements ParallelTask.

◆ getInputTrace()

bool SeisZAxisStretcher::getInputTrace ( SeisTrc & )
private

◆ init()

bool SeisZAxisStretcher::init ( )
private

◆ isOK()

bool SeisZAxisStretcher::isOK ( ) const

◆ loadTransformChunk()

bool SeisZAxisStretcher::loadTransformChunk ( int firstinl)
private

◆ nrIterations()

od_int64 SeisZAxisStretcher::nrIterations ( ) const
inlineoverrideprivatevirtual
Returns
the number of times the process should be run.

Implements ParallelTask.

◆ selfStretchVelocity()

bool SeisZAxisStretcher::selfStretchVelocity ( const SeisTrc & ,
int icomp,
SeisTrc &  ) const
private

◆ setGeomID()

void SeisZAxisStretcher::setGeomID ( Pos::GeomID )

◆ setRanges()

void SeisZAxisStretcher::setRanges ( )
private

◆ setUdfVal()

void SeisZAxisStretcher::setUdfVal ( float val)

◆ setVelTypeIsVint()

void SeisZAxisStretcher::setVelTypeIsVint ( bool yn)

◆ setVelTypeIsVrms()

void SeisZAxisStretcher::setVelTypeIsVrms ( bool yn)

◆ setWorkers()

void SeisZAxisStretcher::setWorkers ( const VelocityDesc & )
private

◆ stretch()

void SeisZAxisStretcher::stretch ( const SeisTrc & ,
int icomp,
const MathFunction< float, float > & intrcfunc,
ZAxisTransformSampler & ,
float * tmpptr,
SeisTrc &  ) const
private

◆ stretchVelocity()

bool SeisZAxisStretcher::stretchVelocity ( const SeisTrc & ,
int icomp,
SeisTrc &  ) const
private

◆ uiMessage()

uiString SeisZAxisStretcher::uiMessage ( ) const
overridevirtual

Reimplemented from Task.

◆ uiNrDoneText()

uiString SeisZAxisStretcher::uiNrDoneText ( ) const
overridevirtual

Reimplemented from Task.

Member Data Documentation

◆ autotransform_

bool SeisZAxisStretcher::autotransform_ = false
private

◆ curhrg_

TrcKeySampling SeisZAxisStretcher::curhrg_
private

◆ geomtype_

Seis::GeomType SeisZAxisStretcher::geomtype_
private

◆ inpobj_

const IOObj& SeisZAxisStretcher::inpobj_
private

◆ ist2d_

const bool SeisZAxisStretcher::ist2d_
private

◆ msg_

uiString SeisZAxisStretcher::msg_
private

◆ nrthreads_

int SeisZAxisStretcher::nrthreads_ = 0
private

◆ nrwaiting_

int SeisZAxisStretcher::nrwaiting_ = 0
private

◆ outcs_

TrcKeyZSampling SeisZAxisStretcher::outcs_
private

◆ outobj_

const IOObj& SeisZAxisStretcher::outobj_
private

◆ readerlock_

Threads::ConditionVar SeisZAxisStretcher::readerlock_
private

◆ readerlockmodel_

Threads::ConditionVar SeisZAxisStretcher::readerlockmodel_
private

◆ seisreader_

SeisTrcReader* SeisZAxisStretcher::seisreader_ = nullptr
private

◆ seiswriter_

SeisTrcWriter* SeisZAxisStretcher::seiswriter_ = nullptr
private

◆ sequentialwriter_

SeisSequentialWriter* SeisZAxisStretcher::sequentialwriter_ = nullptr
private

◆ srd_

double SeisZAxisStretcher::srd_
private

◆ srduom_

const UnitOfMeasure* SeisZAxisStretcher::srduom_
private

◆ totalnr_

int SeisZAxisStretcher::totalnr_ = -1
private

◆ udfval_

float SeisZAxisStretcher::udfval_ = mUdf(float)
private

◆ vintworker_

Vel::Worker* SeisZAxisStretcher::vintworker_ = nullptr
private

◆ voiid_

int SeisZAxisStretcher::voiid_ = -1
private

◆ waitforall_

bool SeisZAxisStretcher::waitforall_ = false
private

◆ worker_

Vel::Worker* SeisZAxisStretcher::worker_ = nullptr
private

◆ zdomaininfo_

const ZDomain::Info* SeisZAxisStretcher::zdomaininfo_ = nullptr
private

◆ ztransform_

RefMan<ZAxisTransform> SeisZAxisStretcher::ztransform_
private

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