SoSeismic Class Reference
[CPU algorithms]

VSG extension Seismic attribute functions for buffers More...

#include <Inventor/algorithms/SoSeismic.h>

List of all members.

Public Member Functions

 SoSeismic ()
virtual ~SoSeismic ()
virtual int computeInstPhase (SoBufferObject *sourceBufferObject, SoBufferObject *targetBufferObject, int traceSize, int numTrace)
virtual int computeEnvelope (SoBufferObject *sourceBufferObject, SoBufferObject *targetBufferObject, int traceSize, int numTrace)
virtual int computeHilbert (SoBufferObject *sourceBufferObject, SoBufferObject *targetBufferObject, int width, int height)
int computeInstPhase (SoCpuBufferObject *sourceBufferObject, SoCpuBufferObject *targetBufferObject, int traceSize, int numTrace)
int computeEnvelope (SoCpuBufferObject *sourceBufferObject, SoCpuBufferObject *targetBufferObject, int traceSize, int numTrace)
int computeHilbert (SoCpuBufferObject *sourceBufferObject, SoCpuBufferObject *targetBufferObject, int width, int height)

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

See related examples:

ComputeBatch, ComputeSlice


Constructor & Destructor Documentation

SoSeismic::SoSeismic (  ) 

Constructor.

virtual SoSeismic::~SoSeismic (  )  [virtual]

Destructor.


Member Function Documentation

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.
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:
sourceBufferObject Should contain the real part of the complex trace (original trace data).
targetBufferObject should contain the imaginary part of the complex trace (Hilbert transform of trace data).
Note: targetBufferObject will be overwritten with the result values.
traceSize Number of samples in each trace (must be same for all traces).
numTrace Number of traces.
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.
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.
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.
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:
sourceBufferObject Should contain the real part of the complex trace (original trace data).
targetBufferObject should contain the imaginary part of the complex trace (Hilbert transform of trace data).
Note: targetBufferObject will be overwritten with the result values.
traceSize Number of samples in each trace (must be same for all traces).
numTrace Number of traces.

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

Open Inventor Toolkit reference manual, generated on 4 Sep 2023
Copyright © Thermo Fisher Scientific All rights reserved.
https://www.openinventor.com/