Wednesday, 21 September 2016

Optimisation of Amplitudes and Scaling for Visualisation

One common question for GeoTeric users is how best to scale amplitude data for optimal visualisation and analysis. In this article, we present some useful definitions and tips for ensuring the best experience when interpreting seismic data in GeoTeric.

1.    GeoTeric Data Types

GeoTeric only supports integer values for volume data, meaning that each amplitude within a seismic cube being displayed must be a whole number. To facilitate this, GeoTeric volume formats support 8, 16 and 32 bits, such that the following dynamic ranges are possible:
Bit depth
Maximum Dynamic range
Unsigned 8-bit
Signed 16-bit
-32768 to +32767
Signed 32-bit
-2147483648 to 2147483647
This means that for example, a 16-bit seismic cube can contain approximately 65,000 different discrete amplitude values. In this notation, n-bit means 2n values, so 16-bit is equivalent to 216 degrees of freedom.

You can see what amplitudes are present in the interval of interest by looking at the cursor reporting in GeoTeric scenes, the Opacity Editor, and the colour bar compression metrics.

2.   Colour Bars and Visualisation

While most modern GPUs are capable of displaying 24-bit colour depth (8-bits per channel in red, green and blue), it can be extremely resource intensive and impractical to render seismic data or attributes in this manner. LCD monitors are also not always good at displaying 24-bit true colour. For this reason, different visual scaling and interpolation methods are used to balance quality of display with computer resource consumption.

The choice of interpolation method can also have an influence, as selected in Options > Volume Interpolation.  Standard interpolation utilizes full 24-bit rendering, at the expense of memory, however Enhanced and Smooth interpolation render at 12-bit.

In GeoTeric, there are two aspects in play: ensuring that the seismic amplitudes are scaled appropriately for the task in hand, and that the colour bar is interacting with those amplitudes suitably. The GeoTeric colour bars do not have fixed values: when displaying data, the colour map will be normalized and extrapolated across the range of values present, and the visual fidelity depends on the interpolation method used.

In general, GeoTeric will autofit colour maps across a range of 2n that is the smallest bracket around the detected amplitude range. So if a seismic cube has an amplitude range of approximately +/- 8000, GeoTeric will map the colour bar across a 14-bit range (16384 total values, or +/-8192).

A commonly encountered issue is in the visualization of very low amplitudes, relative to those elsewhere in the seismic cube. In these scenarios, the lowest amplitudes might look faint or indistinct as they represent a very small segment within the entire range, as in the below figure. Some solutions are presented below.

These seismic amplitudes appear blocky and washed out where they are low, because they are occupying a relatively small portion of the colour map space.
3.   Scaling on Import

The most effective step is to ensure the data has been scaled appropriately when loaded into GeoTeric, especially if it originally comprised floating point values, e.g. a range of -1.476 to 1.928.

Search in the GeoTeric software help file for “Data Loading Tips” and “Load Floating Point Data” for tutorials on these topics.

4.   Scaling within GeoTeric

Once data is loaded in GeoTeric however, the amplitudes of interest might still be very low and difficult to see. This can be because there is a strong contrast between high and low amplitudes, peculiarities of gain correction, or low impedance variation. In this case rescaling can be applied within GeoTeric. Note however that if amplitudes have been compressed during the loading process, and information has been lost, the data might need to be reloaded with attention paid to the preservation of those amplitudes. 

Please search the GeoTeric help file for “Data Scaling”, “Convert”, and “Parser” for more information on carrying this out.

5.   Specialist Scaling

In some cases, tricks using the GeoTeric colour map compression can be used to help with low amplitudes. If a 16-bit volume has high amplitudes in redundant parts of the data, for example on the seafloor reflection, but low amplitudes in the reservoir section, it can be clipped to take advantage of the colour map compression. The Parser tool is used to achieve this.

In this example, the amplitudes above and below 4000 are clipped such that the data fits within a 12-bit (+/- 4096) dynamic range, and will then make better use of the full range of the colour map. The amplitudes in the interval of interest remain unchanged.

Volume type
Highest amplitudes
+/- ~30,000
Amplitudes of interest
+/- ~3000
Parser expression
((im1>=4000)*4000) + ((im1<=-4000)*-4000) + (((im1<4000)&(im1>-4000))*im1)

The amplitudes of interest in this data now occupy the full useful extent of the colour bar, and are readily visible without further colour bar compression.

Non-linear scaling can also be applied where there are very extreme amplitude contrasts, although this should not be applied in cases where amplitude preservation is sensitive. In this example a square root function has been applied to the amplitudes, such that the low values are boosted, and the high values suppressed. Note that the power law function in the GeoTeric Parser retains the correct sign, to preserve polarity in volume calculations.

Volume type
Parser expression

In this example, the highest amplitude reflector is preserved, while the background signal which was previously too weak to see has been restored.

For further Parser examples and explanations of the terms, expressions and syntax applied, search for topics containing “Parser” in the help.

For help and more information on any of these topics, feel free to contact your local GeoTeric office, or email

Thursday, 8 September 2016

Effect of Post-Stack Noise Attenuation in Acoustic Inversion

It's well known that there are many methods of data conditioning that improve the signal to noise ratio. In this case study the post stack noise attenuation process applied to the data was carefully performed to preserve the signal associated with geological features within the Pre-Salt context of the Santos Basin. The objective of the noise attenuation is to improve the input volume to the inversion process. 
Figure 1 - common noise in the pre-salt context

Mothodology - Noise Attenuation
The workflow to reduce the noise is out lined below and illustrated in Figure 2:

  1. Determine the grid oriented filter size, a large filter in the X&Y directions and small in Z, will reduce the continuity of the vertical noise associated with the salt/migration smiles. In order to create an input for the Steering Volumes, the Smoothing Attribute is calculated. Recommended filter size for this case: 9x9x5.
  2. The Steering Volumes, of Dip and Azimuth are calculated from the Smoothing Attribute, this becomes the reference volume.
  3. Finally the SO Noise filter which is an structurally oriented mean noise filter, is applied to the original seismic volume, which is guided by the reference volume.
Figure 2 – Noise Attenuation Workflow for Pre-Salt

Methodology – Acoustic Inversion
In geosciences, through reflection seismic data, the seismic inversion process estimates the quantitative rock-petrophysical properties such as porosity, lithology and fluid saturation of a reservoir. This process, in a simply way, is based on a straightforward convolution of a reflectivity model and an estimated wavelet to produce synthetic traces, which are compared to the seismic input. The reflectivity model is updated to ensure there is a high correlation between the synthetic and seismic data (figure 3).
Figure 3 – Deterministic Inversion workflow
Noise Attenuation

As can be seen in the figure below (figure 4), the SO Noise filter has removed a lot of the migration smiles associated with pre-salt seismic data. The input data is on the left and the noise attenuated data is on the right. The reflectors are more continuous and the faults are still visible.
Figure 4 – Original Seismic (Left) x Noise attenuated seismic (right)

Acoustic Inversion
In this case study, both the input data and the noise attenuated data were inverted.  On the left is the inversion results using the original seismic data and on the right the inversion results using the noise attenuated data.  The inversion results using the noise attenuated as an input contains more continuous layers, which is more consistent with what well data would contain.  This result can be correlated to petrophysical properties and the reservoir mapper more easily as compared to the result on the left.
Figure 5 – Acoustic inversion over raw seismic (left) x Acoustic inversion over noise attenuated seismic (Right). the colors nearer to yellow have low impedance and nearer to blue are the high ones.
By applying a noise attenuation filter to noisy pre-salt data, it allows for better interpretation of events on the output data, but also provides a better input into other attributes, such as an inversion. 

Wednesday, 31 August 2016

GeoTeric Technology Forums

This autumn GeoTeric is busy hosting Technology Forums in two different locations. 


The 27th of September we’ll be hosting our first ever Technology Forum in Norway. Join us for a day packed with technical talks, the latest showcasing of the new release of GeoTeric & our collaborative workflows as well as special topics presented by our guest speakers.

@Cyviz AS, Vestre Svanholmen 6, 4313 Sandnes

For full details please click here


On the 13th of October, it's Houston's turn.
We will be demonstrating how the industry uses Cognitive Interpretation to reveal geology from seismic data, via informative case studies, live demos and discussion.  
@Omni Houston Hotel at Westside, 13210 Katy Freeway, Houston, TX 77079
For full details on the Houston forum- please see here

Thursday, 25 August 2016

Testing on Small Volumes, Processing on Large

With the acquisition of ever larger and denser surveys, it can be challenging to efficiently optimise and run processes on your data. GeoTeric solves this problem by allowing you two different methods to rapidly test your processes on small volumes, before running the processing on the full dataset. An example will be shown below using the Noise Expression tool. The steps assume you have the full dataset loaded into GeoTeric.

  1. Visualise the full dataset in the main viewer.
  2. Click the ‘Extents’ button in the bottom right.
  3. Trim the volume to focus on a target area.
  4. Enter a name in the ‘Subset’ box and click ‘Save Subset’.

  1. Open Noise Expression, selecting the subset from the dropdown.
  2. Optimise your process as normal.
  3. Once you are satisfied with the results, hit ‘Generate 3D Volumes’.
  4. Firstly, note the location and name of the batch job. This can be applied to any dataset at a later point. Instructions for this will be given later.
  5. If you wish to apply the current process to the full volume, simply select it from the dropdown at the top.
  6. If you choose the full volume from the dropdown and click ‘Process’, the processing will be applied to that dataset.
  7. This method can be used in Noise Expression, Spectral Expression, HDFD and Fault Expression.

Using the Batch Job

This will allow you to load up any batch job that has been saved previously, and apply it to any datasets you have available in your project. Care should be taken to only apply processes to appropriate datasets.

  1. From the menus in the top left of the main viewing window, select ‘Workflows’ > ‘Processes and Workflows…'
  2. From the top left of the Processes and Workflows window, select ‘File’ > ‘Open…’ (The window is actually titled ‘Batch Processing Framework’)
  3. Browse to the location of your batch job and open it. This will generally be in the ‘batchjobs’ directory within your project.
  4. On the left hand tab, select the input dataset from the drop down.
  5. The output dataset names can also be changed at the bottom of each tab. This is not essential however.

Thursday, 11 August 2016

Combining different Noise Cancellation/Spectral Enhancement volumes using Time Variant

The aim of this blog post is to describe how to combine different Noise Cancellation/Spectral Enhancement volumes using a time variant method.
This workflows can be used for:
  1. Creating a combined Noise Cancellation volume in which different noise filter were applied to target different noise contents that vary vertically and can be bounded by a horizon.
  2. Creating a Spectral Enhancement volume with different enhancement parameters that can be divided by a horizon.
The following workflows is for two Noise Cancellation volumes where there is a need to apply a more aggressive noise filter below the horizon and only a gentle filter above the horizon, but the same workflow applies for the Spectral Enhancement volumes too.

Input needed for this workflows are horizons which separate the areas with different noise content vertically, Noise Cancellation volumes, which target the different intervals and a time volume, that is used for the combination. Example in this post will show the workflows to combine 2 areas which is separated by a horizon.
Figure 1: Original Seismic Volume

The first step is to create two Noise cancellation volumes, a gentle noise filter above the horizon and an aggressive filter below the horizon. The next step is to combine these two volumes into one. To combine these two volumes, a time volume is needed, which is unflatten using the horizon and formatted for the combination purpose.

The following is the workflow to create the a formatted Unflatten Time Volume.
  1. Go to Workflows>Processes and Workflows>Processes>Utilities>Time Volume.Input your seismic volume to create the time volume.
    Figure 2: Time volume displayed using the spectrum colour bar, where green is the higher value.  
  2. Use the Horizon Tools to unflatten the Time Volume. Go to Tools> Horizon Tools> Flatten/Unflatten. Toggle Seismic as volume type. Then specify the input horizon, the input volume will be the newly created Time Volume. The output volume will need to be named as Unflatten Time Volume. Change the mode to Un-flatten Horizon and Click Apply. Once you input the horizon, a Set Flattened value, which is the mean of the input horizon, will be displayed at the bottom of the Horizon Tool menu. Write down the value as it will be used to format the Unflatten Time Volume later.
    Figure 3: Unflatten Time Volume   
  3. The next step is to format the Unflatten Time Volume so that one of the Noise Cancellation volumes can be assigned to the data above the horizon and the other Noise Cancellation can be assigned to below the horizon. Go to Workflows>Processes and Workflows>Processes>Volume Math>Parser. Input the Unflatten Time Volume, and use the following parser expression: ((im1>0)*(im1-A)) where A is the “set flattened value to” number that was given when unflattening the time volume. Now you have the formatted Unflatten Time Volume.

    Figure 4: Formatted Unflatten Time Volume displayed as Redwhiteblue colourbar. Red are the negatives values, whites are 0 values and blues are the positive values. It will be observed that along the horizon, values are all 0, this will be used as a transition zone between the 2 volumes.
The final steps now is to combine the two noise cancellation volume using the formatted Unflatten Time Volume. To combine the volumes, go to Workflows>Processes and Workflows>Processes>Volume Math>Parser. The first volume should be the formatted Unflatten Time Volume as im1, Gentle Noise Cancellation as im2 and Aggressive Noise Cancellation as im3. The Parser expression used will be:

((im1<0)*im2) + ((im1>100)*im3) + (((im1>=0) & (im1<=100))*(im1*im3/100)) + (((im1>=0) & (im1<=100))*((100-im1)*im2/100))
As a part of QC, you can compare the Combined Noise Cancellation result with the Aggressive and Gentle Noise Cancellation volume, or look at the Difference volume of each of the Noise Cancellation volumes (Original-Noise Cancellation Volume) to see the related noise in the Combined Noise Cancellation volume.
Combining these two volumes in this way, will avoid abrupt changes along the horizon. Instead there will be a transition zone of 100ms taken from both volumes. This is not limited to only two areas of Noise Cancellation, more volumes can be combined, in a sequence, using the same workflow.This workflows can also be used to combine different level of Spectral Enhancement as long as there are horizons that separate the areas with different Spectral Enhancement.

Monday, 1 August 2016

Multi-volume phase alignment QC

GeoTeric offers a number of workflows that allow a QC of the phase alignment between multiple volumes. These workflows can be used to analyse the similarity between angle stacks or 4D vintages. This enables the user to assess the phase alignment of the data to ensure an accurate analysis of the data.

Peaks and troughs replacement
The peaks of stack 1 can be replaced by the data from stack 2. If they are phase aligned, the result will be a peak. If they are misaligned, the result will be a trough. The troughs from stack one will be ignored and replaced by zeros.

This volume can be produced by selecting the two stacks in the Parser and using the expression (im1>0)*im2

The Parser is available in Processes & Workflows -> Processes -> Volume Maths -> Parser.

In a similar way, the troughs of stack 1 can be replaced by the data from stack 2. If they are aligned, the result will be a trough. If they are misaligned, the result will be a peak.

This volume can be produced by using the expression (im1<0)*im2 in the Parser.

Example from the Parihaka dataset, offshore New Zealand. On the left, peaks in the near have been replaced by the far, so troughs indicate misalignment. On the right, troughs in the near have been replaced by the far, so peaks indicate misalignment.

Bedform stack
A much more detailed similarity analysis can be achieved by using a Bedform stack.
The Bedform indicator attribute can be computed for each of the stacks, and then multiple Bedform attributes can be combined using a Parser expression to create the Bedform stack.
To combine three Bedform indicators, we can use the following Parser expressions depending on the data type.

For 32bit:

For 16bit:

For 8bit:

These Parser expressions are simply (im1+im2+im3)/3, but removing the doublet values in each of the Bedform attributes.

If the output is visualised using the Azimuth colour map, good alignment will be seen in black, areas with dispersion along a peak in red, and areas with dispersion along a trough in blue. The lighter the blue and red colours, the worse the alignment.

Example from the Parihaka dataset, offshore New Zealand. The bedform stack has been computed using the near, mid and far angle stacks.

Alignment quantification workflow
To quantify the alignment between two stacks (im1 and im2), the following Parser expression can be applied:


This will produce a volume with
+1 when there is good phase alignment between the stacks
-1 when there is bad phase alignment between the stacks

Note that any blank areas in any of the stacks will bias the results, so it is recommended to apply this workflow on a subset around the area of interest.

By using the Voxel Pick tool, available in the properties panel when highlighting the volume, a voxel pick can be placed for a +1 value and another one for a -1 value. Going to the Picked voxels tab, the two picked voxels will be displayed. Right clicking on each of them will bring up the Measure option, which allows a measurement of the number of voxels within the dataset that have the value of the picked voxel. Using the default options in the measure tool we can eaily get the number of voxels with a +1 value, and we can repeat the process for the voxels with a -1 value.

This way, as the number of voxels with a +1 value and the number of voxels with a -1 value is known, a simple ratio or alignment percentage can be manually calculated.

If the alignment is close to 50%, that is a bad alignment, as it means a peak in stack 1 has almost the same likelihood of being a peak or a trough in stack 2. Anything close to 90% or 100% means there is a good phase alignment.

Using GeoTeric we are able to check if the stacks are aligned properly or not. If there is a large amount of misalignment, the user should consider reprocessing or recreating the angle stacks before continuing with the AVO or 4D analysis.

Wednesday, 13 July 2016

How to create a structural-topographic horizon map in GeoTeric?

Office walls of exploration teams frequently feature structural-topographic maps of key horizons: topography of the horizon is encoded into colours – usually using a spectrum or a rainbow colour scale – while faults are indicated by e.g. black or red lines. We’ve been recently asked whether such an image could be produced using GeoTeric.

Although GeoTeric offers a wide range of functionalities with horizons, this is not one of the default ones. We can either set Height values in the Viewing Mode roll-down menu, or chose Data mapped and select a Fault Detect volume, but cannot visualise both at the same time. Fortunately, GeoTeric is flexible enough to allow for a workaround, which only requires a horizon and a Fault Detect volume.

The first step is to create a Time Volume, using Processes & Workflows / Processes / Utilities / Time Volume. The input of the process is the Fault Detect volume (or any other volume of the same size and byte type). For the sake of this blog post let’s call the output TimeVolume#1. This process creates a volume where each voxel has a value that is equal to its two-way travel time or depth.

Figure 1 Use the batch processor to create a time volume.

The next step is to embed the detected faults into the TimeVolume, using Processes & Workflows / Processes / Faults / FaultIn. The highest value of the output volume (e.g. FaultIn#1_TimeVolume) represent voxels where there was a fault detected, while all the other voxel values are equal to the TWT/depth.

Figure 2  Embed the detected faults into the Time Volume.

Now have a look at your horizon. In File / Project Manager / Horizons / select the horizon you wish to visualise, and take a note of its time/depth extrema (2111.49 ms and 2706.96 ms in our case). These values will be used to compress the colour scale of the FaultIn#1_TimeVolume.

Figure 3 The Project Manager (hot key: Ctrl+M) is used to establish the extreme of the horizon.

Let’s visualise this volume and select the Body Spectrum colour map. Move the sliders under the colour map and check the numbers next to the Minimum Value and Maximum Value. In this example the top slider was set to 66.11%, the lower one was set to 51.55%, and the Minimum and Maximum Values are 2707.2 and 2111.0, respectively. We are ready to visualise the horizon.

Figure 4 Compress the colourmap so that it reflects the minimum and maximum time/depth values of the horizon.

Add the horizon to the scene, select Data mapped for the Viewing Mode, choose Volume for the Data Mapping Type and select the FaultIn#1_TimeVolume. It is worth turning Interpolation off. Contours can be activated under Contouring.

Figure 5 Properties window of the horizon.

Figure 6 Topographic map of the horizon with detected faults (black) and contour lines (grey).

In case you find the fault lines too thin, use Processes & Workflows / Processes / Faults / FaultTrends with the Thick option to produce a new fault volume, and embed it into the TimeVolume instead of the FaultDetect volume. All the other steps are the same, but please note, this can result in a “crowded” image if there are many faults.

(Gaynor Paton and Peter Szafian)