Class SoSeismic

java.lang.Object
com.openinventor.inventor.Inventor
com.openinventor.inventor.algorithms.SoSeismic

public class SoSeismic extends Inventor
Seismic attribute functions for buffers. The Seismic module provides functions for computing seismic attributes.

Examples:

See Also:
  • Constructor Details

    • SoSeismic

      public SoSeismic()
      Constructor.
  • Method Details

    • computeHilbert

      public int 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.
    • computeHilbert

      public int computeHilbert(SoBufferObject sourceBufferObject, SoBufferObject targetBufferObject, int width, int height)
      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.
    • computeInstPhase

      public int computeInstPhase(SoBufferObject sourceBufferObject, SoBufferObject targetBufferObject, int traceSize, int numTrace)
      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.
    • computeEnvelope

      public int computeEnvelope(SoBufferObject sourceBufferObject, SoBufferObject targetBufferObject, int traceSize, int numTrace)
      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.
    • computeInstPhase

      public int 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.
    • computeEnvelope

      public int 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.