Skip to main content

Voxel Attributes Context Menu

Commands available when right-clicking Voxel Attribute objects in the Data Tree. Voxel attributes are volumetric property fields stored in voxel model grids, representing continuous 3D distributions such as seismic amplitude, porosity, density, lithology probability, or any measured or interpolated subsurface property.

Display & Selection

Make Active

Menu name: Make Active Tooltip Set this attribute as the active property for display and operations.

What it does Designates the selected voxel attribute as the "active" attribute for the voxel model. The active attribute determines which property is displayed in volume renderings, cross-sections, and isosurfaces. It also controls which attribute is used by analysis and filtering operations. Only one attribute can be active at a time per voxel model.

When to use it

  • Switching between different properties for visualisation
  • Setting which attribute to use for analysis operations
  • Controlling which property is displayed in intersections
  • Preparing for attribute-based filtering or processing

Notes

Multiple Attributes

Voxel models often contain multiple attributes (e.g., seismic amplitude, acoustic impedance, porosity, lithology). "Make Active" allows quick switching between properties for comparison and analysis.

Active attribute affects volume rendering colours, cross-section displays, and isosurface extraction thresholds. When active attribute changes, all visual representations update to show the new property. Essential for workflows involving multiple co-registered volumetric properties.


Filters

Voxel attribute filters apply spatial smoothing or edge detection operations to volumetric data, creating new processed attribute channels.

Mean Filter

Menu name: Mean Filter Tooltip Apply mean (averaging) filter to smooth voxel attribute values.

What it does Applies a 3D mean filter (box filter) to the voxel attribute, replacing each voxel value with the average of values in its neighbourhood. The filter kernel size (e.g., 3×3×3, 5×5×5) determines the neighbourhood extent. This smoothing operation reduces noise and small-scale variability whilst preserving large-scale trends.

When to use it

  • Reducing noise in seismic or measured data
  • Smoothing interpolated property distributions
  • Removing high-frequency artifacts
  • Preparing data for gradient or edge detection
  • Simplifying volumetric data for modelling

Notes Larger kernel sizes produce more smoothing but reduce spatial resolution. Common kernel sizes are 3×3×3 (light smoothing) to 7×7×7 (heavy smoothing). Mean filtering is simple but can blur sharp boundaries. For better edge preservation, consider Gaussian smoothing. The operation creates a new attribute channel - the original attribute is preserved. Processing time increases with kernel size and voxel model volume.


Gaussian Smooth

Menu name: Gaussian Smooth Tooltip Apply Gaussian smoothing filter to voxel attribute.

What it does Applies a 3D Gaussian filter to the voxel attribute, performing weighted averaging where nearby voxels have more influence than distant ones. The Gaussian kernel produces smooth, natural-looking results with better edge preservation than simple mean filtering. Sigma parameter controls the smoothing strength (larger sigma = more smoothing).

When to use it

  • High-quality noise reduction preserving edges
  • Smoothing interpolation artifacts
  • Preparing data for feature extraction
  • Creating multi-scale representations
  • Removing acquisition noise from seismic/tomography data

Notes

Gaussian vs Mean

Gaussian filtering weights nearby voxels more heavily using a bell-curve distribution, producing more natural smoothing than uniform mean filtering. Edges are blurred less aggressively whilst noise is still effectively reduced.

Sigma parameter (standard deviation) controls smoothing extent - typical values 0.5 to 3.0 voxels. Larger sigma requires larger kernel size and longer computation. Gaussian smoothing is separable (can be applied in X, Y, Z separately), making it efficient for large volumes. Results are visually smoother and more aesthetically pleasing than mean filtering. Widely used in medical imaging, seismic processing, and volumetric visualization.


Sobel 3D

Menu name: Sobel 3D Tooltip Apply 3D Sobel edge detection filter to identify volumetric boundaries.

What it does Applies the 3D Sobel operator to compute the gradient magnitude of the voxel attribute. This edge detection filter highlights regions of rapid value change, identifying boundaries, contacts, faults, and other volumetric discontinuities. The output attribute contains gradient magnitude values (high where attributes change rapidly, low in homogeneous regions).

When to use it

  • Detecting faults and fractures in seismic data
  • Identifying lithological boundaries
  • Highlighting stratigraphic contacts
  • Finding anomaly edges in geophysical data
  • Extracting structural features from volumetric data

Notes

Edge Detection

Sobel computes spatial derivatives (gradients) in all three directions and combines them into gradient magnitude. High values indicate strong edges or discontinuities, useful for feature detection and interpretation.

The Sobel operator is robust to noise and computationally efficient. Output values represent rate of change - steep gradients produce high values. Useful for fault interpretation (faults appear as linear high-gradient features), horizon detection (strong gradient at layer boundaries), or any application requiring boundary identification. Can be followed by threshold or connected component analysis to extract discrete features. For seismic data, often combined with seismic attributes like variance or coherence for comprehensive structural interpretation.


Operations

Normalize

Menu name: Normalize Tooltip Scale voxel attribute values to standard range.

What it does Normalises the voxel attribute values to a standard range, typically [0,1] or [-1,1]. Computes minimum and maximum values across the entire volume, then linearly scales all values to fit the target range. This standardisation enables comparison between attributes with different original ranges and improves colour mapping for visualisation.

When to use it

  • Standardising attributes for comparison
  • Preparing data for machine learning or classification
  • Improving colour map display
  • Combining attributes with different value ranges
  • Removing scale differences between properties

Notes Standard normalisation formula: normalized = (value - min) / (max - min) scales to [0,1]. For [-1,1]: normalized = 2 * (value - min) / (max - min) - 1. Original value range is preserved in metadata for potential denormalisation. Normalisation is linear (preserves relative differences) and reversible. Particularly useful when blending or comparing multiple attributes with disparate ranges (e.g., porosity 0-0.4 vs seismic amplitude -10000 to 10000).


Calculate Difference

Menu name: Calculate Difference Tooltip Compute voxel-by-voxel difference between two attributes.

What it does Computes the difference between two voxel attributes (Attribute_A - Attribute_B) on a voxel-by-voxel basis. The attributes must share the same voxel grid (same dimensions, spacing, origin). The result is a new attribute containing difference values, useful for change detection, error analysis, or comparing different models or time steps.

When to use it

  • Detecting changes between time-lapse datasets
  • Comparing different property models or realizations
  • Calculating residuals between measured and modelled data
  • Analysing updates or corrections to volumetric datasets
  • Identifying areas of disagreement between interpretations

Notes Both input attributes must be co-registered on identical grids. Difference highlights regions where attributes disagree - positive values where Attribute_A > Attribute_B, negative where Attribute_A less than Attribute_B, zero where equal. Useful for 4D seismic (time-lapse monitoring of reservoirs), comparing pre/post-intervention models, or validating interpolation methods by comparing to control data. Can reveal systematic biases or localized discrepancies between datasets.


Clip to Filter Limits

Menu name: Clip to Filter Limits Tooltip Set voxels outside filter range to no-data values.

What it does Clips the voxel attribute by setting all values outside the currently defined filter range to no-data (null) values. The filter range is typically defined in the attribute's display or analysis settings (e.g., "show only voxels with porosity between 0.15 and 0.25"). After clipping, voxels outside this range are excluded from visualisation and analysis.

When to use it

  • Removing background or irrelevant value ranges
  • Isolating features within specific value ranges
  • Creating binary masks based on thresholds
  • Focusing analysis on geologically significant values
  • Preparing data for segmentation or classification

Notes

Destructive Operation

Clipping modifies the attribute by setting values to no-data. This operation is typically irreversible - ensure the original attribute is preserved or the filter range is correct before clipping.

Common workflow: set filter limits visually to highlight features of interest, then clip to permanently remove unwanted values. For example, clip seismic amplitude to isolate bright spots (high amplitudes), or clip porosity to remove non-reservoir rock. Clipped voxels are excluded from volume calculations, statistics, and export. Different from "Clamp" which sets out-of-range values to range limits rather than no-data.


Clamp to Filter Limits

Menu name: Clamp to Filter Limits Tooltip Constrain voxel values to filter range, setting extremes to range limits.

What it does Clamps the voxel attribute by constraining all values to the currently defined filter range. Values below the minimum are set to the minimum; values above the maximum are set to the maximum; values within the range are unchanged. This limits the value range whilst preserving data at the boundaries (unlike clipping, which sets out-of-range values to no-data).

When to use it

  • Limiting outlier influence in visualisation or analysis
  • Constraining value ranges for numerical stability
  • Removing extreme values whilst preserving data coverage
  • Preparing attributes for algorithms sensitive to outliers
  • Creating bounded representations for export

Notes Clamping vs Clipping:

  • Clamp: Out-of-range values become min/max (data preserved but constrained)
  • Clip: Out-of-range values become no-data (data removed)

Clamping is less destructive than clipping - no voxels are set to no-data. Useful when extreme values are errors or outliers that should be limited rather than removed. For example, clamping seismic amplitude to [-5000, 5000] sets any amplitudes outside this range to the limits whilst preserving spatial coverage. Commonly used before applying colour maps to prevent extreme values from dominating colour scale.


Clip Histogram

Menu name: Clip Histogram Tooltip Clip attribute values based on histogram percentiles.

What it does Clips the voxel attribute by removing values beyond specified histogram percentiles (e.g., below 2nd percentile or above 98th percentile). Computes the attribute value histogram, determines threshold values at the specified percentiles, then sets voxels beyond these thresholds to no-data. Automatically removes outliers based on statistical distribution rather than absolute values.

When to use it

  • Removing outliers based on statistical distribution
  • Automatically determining clip thresholds
  • Eliminating extreme values affecting visualisation
  • Preparing data for analysis requiring outlier removal
  • Creating statistically filtered datasets

Notes

Percentile Clipping

Percentile-based clipping is more robust than absolute value clipping when data distributions vary. Clipping at 2nd and 98th percentiles removes approximately 4% of data (2% on each tail), adapting to the actual value distribution.

Common percentile ranges: 1-99% (remove 2% total), 2-98% (remove 4% total), 5-95% (remove 10% total). More aggressive clipping removes more outliers but may remove valid data. Histogram clipping works well when outlier thresholds are unknown but a certain percentage of extreme values should be removed. After clipping, the remaining values can be normalized or displayed with improved colour contrast since extreme values no longer compress the colour scale.


Data Type Conversion

Voxel attributes can be stored in different numeric formats affecting precision, memory usage, and value range.

8-Bit Unsigned

Menu name: 8-Bit Unsigned Tooltip Convert voxel attribute to 8-bit unsigned integer format (0-255).

What it does Converts the voxel attribute to 8-bit unsigned integer format, mapping floating-point or higher-precision values to integers in the range 0-255. This reduces memory usage by 4-8× compared to floating-point but limits precision to 256 discrete levels. Values are linearly scaled from the original range to [0, 255].

When to use it

  • Reducing memory usage for large volumes
  • Storing classification or label data (discrete categories)
  • Preparing data for export to 8-bit formats
  • When 256 levels of precision are adequate
  • Creating compact datasets for visualisation

Notes 8-bit storage uses 1 byte per voxel vs 4 bytes (32-bit float) or 8 bytes (64-bit double). Memory savings are substantial for large volumes but precision is lost. Best suited for:

  • Classified data (lithology, facies - typically less than 256 categories)
  • Visualization-only attributes where 256 levels suffice
  • Normalized data where original precision unnecessary

Conversion is lossy (cannot be reversed without precision loss). Original continuous values are quantized to nearest integer in 0-255 range. For data requiring high precision (e.g., subtle seismic amplitude variations), use float format instead.


16-Bit Unsigned

Menu name: 16-Bit Unsigned Tooltip Convert voxel attribute to 16-bit unsigned integer format (0-65535).

What it does Converts the voxel attribute to 16-bit unsigned integer format, mapping values to integers in the range 0-65535 (65,536 levels). This provides a balance between memory efficiency (2 bytes per voxel) and precision (65K discrete levels). Suitable for most volumetric data requiring moderate precision.

When to use it

  • Balancing memory usage and precision
  • Storing seismic or geophysical data with moderate dynamic range
  • Preparing data for 16-bit export formats (e.g., GeoTIFF)
  • When 256 levels (8-bit) are insufficient but full float precision unnecessary
  • Reducing memory usage whilst maintaining reasonable precision

Notes 16-bit storage uses 2 bytes per voxel vs 4 bytes (float) - 50% memory savings. Precision is generally adequate for:

  • Seismic amplitude or acoustic impedance
  • Porosity or other petrophysical properties (with appropriate scaling)
  • Interpolated geological properties

65,536 levels provide ~0.0015% resolution (1 part in 65,536). Much better than 8-bit (0.39% resolution) but less precise than 32-bit float (7 significant digits). Conversion is lossy but precision loss is often imperceptible for many geoscience applications.


Float (Signed)

Menu name: Float (Signed) Tooltip Convert voxel attribute to 32-bit floating-point format.

What it does Converts the voxel attribute to 32-bit floating-point format (single precision). This format provides high precision (~7 significant digits) and wide dynamic range (±10⁻⁴⁵ to ±10³⁸), capable of representing both very small and very large values accurately. Supports negative values and fractional precision.

When to use it

  • Requiring high numerical precision
  • Storing data with wide dynamic range
  • Performing mathematical operations or analysis
  • When negative values or fractional precision are essential
  • Standard format for most scientific computing

Notes

Precision vs Memory

Float format offers excellent precision but uses 4 bytes per voxel. For a 500×500×500 voxel model, this requires ~500 MB per attribute. Consider memory constraints for very large volumes or systems with limited RAM.

32-bit float is the standard format for most continuous geoscience data (seismic, properties, interpolated values). Provides sufficient precision for analysis, numerical operations, and visualization. Unlike integer formats, float preserves fractional values and scientific notation. Conversion from integer formats to float is lossless; conversion from float to integer is lossy (quantization). Float supports special values (NaN for no-data, Inf for infinity) useful in data processing pipelines.


Object Operations

Delete

Menu name: Delete Tooltip Permanently remove voxel attribute from model.

What it does Permanently removes the voxel attribute from the voxel model, freeing associated memory. The voxel model grid structure remains intact, but this specific property channel is deleted. If the deleted attribute was active, another attribute (if any) becomes active automatically.

When to use it

  • Removing unused or temporary attributes
  • Freeing memory from large volumetric properties
  • Cleaning up processed or intermediate results
  • Managing attribute storage in voxel models

Notes

Cannot Be Undone

Attribute deletion is permanent and cannot be undone. Ensure important results are exported before deletion. If the attribute was derived from source data, it can be regenerated, but custom or computed attributes may be lost permanently.

Deleting attributes can free substantial memory - a single 32-bit float attribute in a 500×500×500 grid occupies ~500 MB. Consider deleting intermediate processing results or redundant attributes to manage memory usage in large volumetric workflows.