SoSeismic Class Reference
[CPU algorithms]

VSG extension Seismic attribute functions for buffers More...

#include <Inventor/algorithms/SoSeismic.h>

Inheritance diagram for SoSeismic:
SoCudaSeismic SoOpenCLSeismic

List of all members.

Public Member Functions

 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.


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.

Reimplemented in SoCudaSeismic, and SoOpenCLSeismic.

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.

Reimplemented in SoCudaSeismic, and SoOpenCLSeismic.

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.

Reimplemented in SoCudaSeismic, and SoOpenCLSeismic.


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

Open Inventor Toolkit reference manual, generated on 12 Feb 2024
Copyright © Thermo Fisher Scientific All rights reserved.
http://www.openinventor.com/