Porosity Clustering Analysis and Distance to Surface

This tutorial demonstrates the steps to quantify porosity distribution and the distance to surface analysis.

Clustering-2

Two similar workflows are demonstrated for the analysis of porosity volume distribution and porosity distance to the surface border.

  1. Clustering Analysis Workflow
  2. Distance to Surface Analysis Workflow

Sample datasets, complete project files, step-by-step tutorial and recipes are available for download.

General workflows for Clustering Analysis

There are 3 main sections in this workflow

  • (1A) Generate porosity total volume
  • (1B) Create a distance map
  • (1C) Masking the porosity (1A) with the total volume (1B) follows by Label Analysis and generation of point cloud density

Steps and modules used in the tutorial

Section 1A: Generate porosity total volume

  • Load the dataset – Clear History Log is recommended for generating Recipe
  • Closing by Reconstruction – Create a background image
  • Arithmetic – Subtract the background from the original dataset to obtain only porosity intensity
  • Auto Thresholding – binarize the result image from Arithmetic step, obtaining a porosity label image

Section 1B: Create a distance map

  • Auto thresholding – Create a total volume mask label image
  • Erosion – Shrink the volume to exclude border pixels, reducing artifacts
  • Distance Map – Generate a distance field from the total volume label image from Erosion step

Section 1C: Masking follows by Label Analysis and generation of point cloud density

  • Mask – Masking the porosity (1A) with the total volume (1B)
  • Label Analysis – Generate porosity results from Masking step and the distance field in spreadsheets
  • Spreadsheet to Point Cloud – Convert the spreadsheet results into Point Cloud
  • Point Cloud Density – Generate Point Could Density for visualization of porosity clustering

General workflows for Distance to Surface Analysis

Similarly, the Distance to Surface Analysis workflows consist 3 sections

  • (2A) Generate porosity volume
  • (2B) Create a distance map
  • (2C) Label Analysis the porosity (2A) with the Distance Field (2B) and then apply Label to Attribute to visualize the result

Steps and modules used in the tutorial

Section 2A: Generate porosity volume

  • Load the dataset – Clear History Log is recommended for generating Recipe
  • Closing by Reconstruction - Create a background image
  • Arithmetic – Subtract the background from the original dataset to obtain only porosity intensity
  • Auto Thresholding – Binarize the result image from Arithmetic step, obtaining a porosity label image
  • Remove Small Spots – Remove noise and artefacts

Section 2B: Create a distance map

  • Interactive Thresholding – Create a total volume in binary (label) image
  • Closing – Close all small hole volumes
  • Fill Holes – Fill all small holes in the whole volume
  • Distance Map – Generate a distance field from the total volume label image from Fill Holes step

Section 2C: Label Analysis and then apply Label to Attribute to visualize the result

  • Label Analysis – Combine the porosity (A) with the Distance Field (B)
  • Label to Attribute – Visualize the porosity label image distance to surface

How to Create & Run Recipe

  • When finished the workflows, right click on the last result and choose "Create Recipe", this will re-direct to the RECIPES Workroom
  • Save the Recipe
  • Back to Project Workroom
  • Load a new the dataset
  • Right click anywhere on the background and select "Recipe Player"
  • Load the previous saved Recipe into the Recipe Player
  • Connect the dataset to the Recipe Player Input port
  • Run the Recipe by click "Apply" (obtain only the final result) or click "Export" instead to get all the steps in the workflows