Skip to content

Latest commit

 

History

History
89 lines (64 loc) · 3.47 KB

File metadata and controls

89 lines (64 loc) · 3.47 KB

Wireline VDL — Acoustic Cement Bond Log Heatmap (Contour Injection) — WinForms

ProEssentials v10 WinForms .NET 8 — a wireline Variable Density Log (VDL) acoustic visualization for cement bond evaluation. Time on X (~200–1200 µs), depth on Y (feet), color = waveform amplitude, rendered with a contour-with-injection technique that keeps cells crisp at scale. Direct3D + GPU compute shader, custom 8-stop blue ramp.

Wireline VDL WinForms


What This Demonstrates

  • Contour-with-injection — each real depth row is replaced with two synthetic rows near the neighbor midpoints, confining contour interpolation to thin slivers between flat plateaus. Reads as cell-discrete while staying a smooth contour PE can render at full scale (stacked-bar plotting fails on large VDL datasets; naive contour smears diagonally at wide zoom).
  • Custom monochromatic blue VDL ramp — 8 stops, white (low amplitude) → navy (high), matching real wireline VDL aesthetics.
  • Rectilinear heatmap (RectHeatmap, a v10.0.0.26 feature) plus ContourColors, zero-copy DuplicateDataX/Y, ComputeShader, and Composite2D3D Direct3D rendering.
  • Real data — FORGE 16A(78)-32 CBL well log (Utah FORGE Geothermal Data Repository, CC-BY 4.0; DOI 10.15121/1814488, McLennan 2021).
  • Code-built UI — a single chart filling the form, built in MainForm.cs; no .Designer.cs, no .resx.

WinForms vs WPF

This is the WinForms sibling of the WPF Wireline VDL example. The data loading, the contour-injection algorithm, and the entire ProEssentials chart configuration are identical between the two. Only the host pieces changed: window sizing uses Screen.PrimaryScreen.WorkingArea instead of SystemParameters.WorkArea, the error dialog uses WinForms MessageBox, and the contour ramp colors use System.Drawing.Color instead of System.Windows.Media.Color.

➡️ WPF version: wpf-chart-vdl-wireline-acoustic-cement-bond-log-heatmap-contour


Data File

This project expects TestData_FORGE_VDL.txt (UTF-16, tab-separated; ~50 MB) in the project root; it is copied next to the executable on build (CopyToOutputDirectory=PreserveNewest). The tools/ folder contains the Python converter used to produce it from the source log. The data file is required at runtime — the app shows an error dialog and exits if it can't be found beside the executable.

v10.0.0.26+ is required for the RectHeatmap feature used here.


Prerequisites

  • Visual Studio 2022
  • .NET 8 SDK (Windows)
  • ProEssentials v10.0.0.26 or later
  • Dedicated GPU recommended (Direct3D + compute shader)
  • x64

How to Run

  1. Clone this repository (ensure TestData_FORGE_VDL.txt is present in the root)
  2. Open WirelineVdl.sln in Visual Studio 2022
  3. Build → Rebuild Solution (restores the NuGet package; copies the data file)
  4. Press F5
  5. Left-drag to zoom; mouse wheel for H+V zoom; right-click for the context menu

NuGet Package

References ProEssentials.Chart.Net80.x64.Winforms from nuget.org. Package restore happens automatically on build.


License

Example code is MIT licensed. ProEssentials requires a commercial license for continued use. Well-log data: Utah FORGE Geothermal Data Repository (CC-BY 4.0).