Seismic attribute functions for CUDA buffers
More...
#include <Inventor/cuda/algorithms/SoSeismic.h>
Public Member Functions | |
| SoCudaSeismic () | |
| 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 (SoCudaBufferObject *sourceBufferObject, SoCudaBufferObject *targetBufferObject, int traceSize, int numTrace) |
| int | computeEnvelope (SoCudaBufferObject *sourceBufferObject, SoCudaBufferObject *targetBufferObject, int traceSize, int numTrace) |
| int | computeHilbert (SoCudaBufferObject *sourceBufferObject, SoCudaBufferObject *targetBufferObject, int width, int height) |
Seismic attribute functions for CUDA buffers
The Seismic module provides functions for computing seismic attributes.
NOTE: The classes in this module do not exist in Open Inventor 10.0 and later.Examples:
| SoCudaSeismic::SoCudaSeismic | ( | ) |
Constructor.
| int SoCudaSeismic::computeEnvelope | ( | SoCudaBufferObject * | sourceBufferObject, | |
| SoCudaBufferObject * | targetBufferObject, | |||
| int | traceSize, | |||
| int | numTrace | |||
| ) |
Compute envelope (amplitude) attribute on a set of seismic traces.
CUDA optimized version.
| virtual int SoCudaSeismic::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))
| 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 from SoSeismic.
| int SoCudaSeismic::computeHilbert | ( | SoCudaBufferObject * | sourceBufferObject, | |
| SoCudaBufferObject * | targetBufferObject, | |||
| int | width, | |||
| int | height | |||
| ) |
Compute Hilbert transform on a set of seismic traces.
CUDA optimized version.
| virtual int SoCudaSeismic::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.
Reimplemented from SoSeismic.
| int SoCudaSeismic::computeInstPhase | ( | SoCudaBufferObject * | sourceBufferObject, | |
| SoCudaBufferObject * | targetBufferObject, | |||
| int | traceSize, | |||
| int | numTrace | |||
| ) |
Compute instantaneous phase attribute on a set of seismic traces.
CUDA optimized version.
| virtual int SoCudaSeismic::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))
| 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 from SoSeismic.