Open Inventor Release 2024.2.0
 
Loading...
Searching...
No Matches
SoSeismic Class Reference

VSG extension Seismic attribute functions for buffers More...

#include <Inventor/algorithms/SoSeismic.h>

Public Member Functions

 SoSeismic ()
 Constructor.
 
virtual ~SoSeismic ()
 Destructor.
 
virtual int computeInstPhase (SoBufferObject *sourceBufferObject, SoBufferObject *targetBufferObject, int traceSize, int numTrace)
 Compute instantaneous phase attribute on a set of seismic traces.
 
virtual int computeEnvelope (SoBufferObject *sourceBufferObject, SoBufferObject *targetBufferObject, int traceSize, int numTrace)
 Compute envelope (amplitude) attribute on a set of seismic traces.
 
virtual int computeHilbert (SoBufferObject *sourceBufferObject, SoBufferObject *targetBufferObject, int width, int height)
 Compute Hilbert transform on a set of seismic traces.
 
int computeInstPhase (SoCpuBufferObject *sourceBufferObject, SoCpuBufferObject *targetBufferObject, int traceSize, int numTrace)
 Compute instantaneous phase attribute on a set of seismic traces.
 
int computeEnvelope (SoCpuBufferObject *sourceBufferObject, SoCpuBufferObject *targetBufferObject, int traceSize, int numTrace)
 Compute envelope (amplitude) attribute on a set of seismic traces.
 
int computeHilbert (SoCpuBufferObject *sourceBufferObject, SoCpuBufferObject *targetBufferObject, int width, int height)
 Compute Hilbert transform on a set of seismic traces.
 

Detailed Description

VSG extension Seismic attribute functions for buffers

The Seismic module provides functions for computing seismic attributes.

Examples:

SEE ALSO

SoAlgorithms, SoArithmetic, SoConversion, SoConvolution, SoDataExtract

Definition at line 51 of file SoSeismic.h.

Constructor & Destructor Documentation

◆ SoSeismic()

SoSeismic::SoSeismic ( )

Constructor.

◆ ~SoSeismic()

virtual SoSeismic::~SoSeismic ( )
virtual

Destructor.

Member Function Documentation

◆ computeEnvelope() [1/2]

virtual int SoSeismic::computeEnvelope ( SoBufferObject sourceBufferObject,
SoBufferObject targetBufferObject,
int  traceSize,
int  numTrace 
)
virtual

Compute envelope (amplitude) attribute on a set of seismic traces.


amp(t) = sqrt( re^2(t) + im^2(t))

  • This function can be redefined to support a different type of SoBufferObject.
  • By default the SoCpuBufferObject CPU version will be used.
  • Data stored in buffers must be of type float.
Parameters
sourceBufferObjectShould contain the real part of the complex trace (original trace data).
targetBufferObjectshould contain the imaginary part of the complex trace (Hilbert transform of trace data).
Note: targetBufferObject will be overwritten with the result values.
traceSizeNumber of samples in each trace (must be same for all traces).
numTraceNumber of traces.

◆ computeEnvelope() [2/2]

int SoSeismic::computeEnvelope ( SoCpuBufferObject sourceBufferObject,
SoCpuBufferObject targetBufferObject,
int  traceSize,
int  numTrace 
)

Compute envelope (amplitude) attribute on a set of seismic traces.

  • This function handles SoCpuBufferObject input output type only.
  • Data stored in buffers must be of type float.

◆ computeHilbert() [1/2]

virtual int SoSeismic::computeHilbert ( SoBufferObject sourceBufferObject,
SoBufferObject targetBufferObject,
int  width,
int  height 
)
virtual

Compute Hilbert transform on a set of seismic traces.


The Hilbert transform is computed by convolving sourceBufferObject with a windowed (approximate) version of the ideal Hilbert transformer.

  • This function can be redefined to support a different type of SoBufferObject.
  • By default the SoCpuBufferObject CPU version will be used.
  • Data stored in buffers must be of type float.

◆ computeHilbert() [2/2]

int SoSeismic::computeHilbert ( SoCpuBufferObject sourceBufferObject,
SoCpuBufferObject targetBufferObject,
int  width,
int  height 
)

Compute Hilbert transform on a set of seismic traces.

  • This function handles SoCpuBufferObject input output type only.
  • Data stored in buffers must be of type float.

◆ computeInstPhase() [1/2]

virtual int SoSeismic::computeInstPhase ( SoBufferObject sourceBufferObject,
SoBufferObject targetBufferObject,
int  traceSize,
int  numTrace 
)
virtual

Compute instantaneous phase attribute on a set of seismic traces.


phase(t) = arctan( im(t)/re(t))

  • This function can be redefined to support a different type of SoBufferObject.
  • By default the SoCpuBufferObject CPU version will be used.
  • Data stored in buffers must be of type float.
Parameters
sourceBufferObjectShould contain the real part of the complex trace (original trace data).
targetBufferObjectshould contain the imaginary part of the complex trace (Hilbert transform of trace data).
Note: targetBufferObject will be overwritten with the result values.
traceSizeNumber of samples in each trace (must be same for all traces).
numTraceNumber of traces.

◆ computeInstPhase() [2/2]

int SoSeismic::computeInstPhase ( SoCpuBufferObject sourceBufferObject,
SoCpuBufferObject targetBufferObject,
int  traceSize,
int  numTrace 
)

Compute instantaneous phase attribute on a set of seismic traces.

  • This function handles SoCpuBufferObject input output type only.
  • Data stored in buffers must be of type float.

The documentation for this class was generated from the following file: