Table of Contents
Fetching ...

A High-Performance SurfaceNets Discrete Isocontouring Algorithm

Will Schroeder, Spiros Tsalikis, Michael Halle, Sarah Frisken

TL;DR

The paper tackles the problem of efficiently extracting isosurfaces from large, discrete, multi-label volumetric data (such as segmentation label maps) where traditional algorithms struggle with parallelization and shared boundaries. It introduces Parallel SurfaceNets (PSN), a high-performance, edge-driven extension of SurfaceNets that uses a multi-pass extraction plus a double-buffered smoothing stage to produce a fully shared, polygonal mesh across labeled regions. Across five datasets, PSN demonstrates 1–2 order-of-magnitude speedups over sequential methods and competitive performance against parallel baselines, while avoiding duplicates and enabling region adjacency information useful for topology-aware queries. The work provides an open-source VTK implementation, discusses scalability considerations, and suggests future directions for distributed processing and interactive visualization workflows.

Abstract

Isocontouring is one of the most widely used visualization techniques. However, many popular contouring algorithms were created prior to the advent of ubiquitous parallel approaches, such as multi-core, shared memory computing systems. With increasing data sizes and computational loads, it is essential to reimagine such algorithms to leverage the increased computing capabilities available today. To this end we have redesigned the SurfaceNets algorithm, a powerful technique which is often employed to isocontour non-continuous, discrete, volumetric scalar fields such as segmentation label maps. Label maps are ubiquitous to medical computing and biological analysis, used in applications ranging from anatomical atlas creation to brain connectomics. This novel Parallel SurfaceNets algorithm has been redesigned using concepts from the high-performance Flying Edges continuous isocontouring algorrithm. It consists of two basic steps, surface extraction followed by constrained smoothing, parallelized over volume edges and employing a double-buffering smoothing approach to guarantee determinism. The algorithm can extract and smooth multiple segmented objects in a single execution, producing a polygonal (triangular/quadrilateral) mesh with points and polygons fully shared between neighboring objects. Performance is typically one to two orders of magnitude faster than the current sequential algorithms for discrete isosurface extraction on small core-count commodity CPU hardware. We demonstrate the effectiveness of the algorithm on five different datasets including human torso and brain atlases, mouse brain segmentation, and electron microscopy connectomics. The software is currently available under a permissive, open source license in the VTK visualization system.

A High-Performance SurfaceNets Discrete Isocontouring Algorithm

TL;DR

The paper tackles the problem of efficiently extracting isosurfaces from large, discrete, multi-label volumetric data (such as segmentation label maps) where traditional algorithms struggle with parallelization and shared boundaries. It introduces Parallel SurfaceNets (PSN), a high-performance, edge-driven extension of SurfaceNets that uses a multi-pass extraction plus a double-buffered smoothing stage to produce a fully shared, polygonal mesh across labeled regions. Across five datasets, PSN demonstrates 1–2 order-of-magnitude speedups over sequential methods and competitive performance against parallel baselines, while avoiding duplicates and enabling region adjacency information useful for topology-aware queries. The work provides an open-source VTK implementation, discusses scalability considerations, and suggests future directions for distributed processing and interactive visualization workflows.

Abstract

Isocontouring is one of the most widely used visualization techniques. However, many popular contouring algorithms were created prior to the advent of ubiquitous parallel approaches, such as multi-core, shared memory computing systems. With increasing data sizes and computational loads, it is essential to reimagine such algorithms to leverage the increased computing capabilities available today. To this end we have redesigned the SurfaceNets algorithm, a powerful technique which is often employed to isocontour non-continuous, discrete, volumetric scalar fields such as segmentation label maps. Label maps are ubiquitous to medical computing and biological analysis, used in applications ranging from anatomical atlas creation to brain connectomics. This novel Parallel SurfaceNets algorithm has been redesigned using concepts from the high-performance Flying Edges continuous isocontouring algorrithm. It consists of two basic steps, surface extraction followed by constrained smoothing, parallelized over volume edges and employing a double-buffering smoothing approach to guarantee determinism. The algorithm can extract and smooth multiple segmented objects in a single execution, producing a polygonal (triangular/quadrilateral) mesh with points and polygons fully shared between neighboring objects. Performance is typically one to two orders of magnitude faster than the current sequential algorithms for discrete isosurface extraction on small core-count commodity CPU hardware. We demonstrate the effectiveness of the algorithm on five different datasets including human torso and brain atlases, mouse brain segmentation, and electron microscopy connectomics. The software is currently available under a permissive, open source license in the VTK visualization system.
Paper Structure (21 sections, 1 equation, 10 figures, 2 tables)

This paper contains 21 sections, 1 equation, 10 figures, 2 tables.

Figures (10)

  • Figure 1: An AI-generated segmentation using TotalSegmentator TotalSegmentator of a human torso. SurfaceNets extracted and smoothed 93 labeled objects. A random psuedo-color map is used.
  • Figure 2: Overview of the SurfaceNets algorithm. A surface mesh encapsulating separate objects (i.e., segmented regions) is extracted from a labeled volume. Adjacent objects share boundary points and cells. The surface is then smoothed using a constrained Laplacian approach.
  • Figure 3: Depiction of parallel SurfaceNets concepts. The voxel cell $v_{i,j,k}$ with edge $e_{i,j,k}$ form volume rows $V_{j,k}$ and volume edges $E_{j,k}$. A voxel cell triad $t_{i,j,k}$ is associated with each $v_{i,j,k}$. Scalar label values $s_{i,j,k}$ are associated with each point in the volumetric lattice.
  • Figure 4: The voxel cell edge case is determined by combining the eight voxel triads located at the eight vertices of the voxel cell. Only portions of the triads (bolded arrows) are used to determine the edges intersected by the labeled regions.
  • Figure 5: In Pass 3, voxel cell rows $V_{j,k}$ (as viewed down the $x$-axis) are processed in a checkerboard pattern to avoid data races.
  • ...and 5 more figures