Table of Contents
Fetching ...

Filtering of Small Components for Isosurface Generation

Devin Zhao, Rephael Wenger

TL;DR

The paper tackles noise-induced small components in isosurfaces generated from volumetric data by introducing a simple prefiltering method that removes small components from the subgraphs $Γ^{+}_{σ}$ and $Γ^{-}_{σ}$ using a union-find approach. It updates only the scalar values within small components—replacing them with the average of neighboring boundary values—to push these components across the isovalue threshold and thereby reduce visual clutter in the resulting isosurface. Experimental results on CT/MRI-like datasets demonstrate that a threshold around 20 yields diminishing returns, showing substantial noise reduction while acknowledging potential loss of meaningful small features. The method scales linearly with grid size and offers a practical preprocessing step before isosurface extraction, balancing visualization quality with fidelity to the original data.

Abstract

Let $f: \mathbb{R}^3 \rightarrow \mathbb{R}$ be a scalar field. An isosurface is a piecewise linear approximation of a level set $f^{-1}(σ)$ for some $σ\in \mathbb{R}$ built from some regular grid sampling of $f$. Isosurfaces constructed from scanned data such as CT scans or MRIs often contain extremely small components that distract from the visualization and do not form part of any geometric model produced from the data. Simple prefiltering of the data can remove such small components while having no effect on the large components that form the body of the visualization. We present experimental results on such filtering.

Filtering of Small Components for Isosurface Generation

TL;DR

The paper tackles noise-induced small components in isosurfaces generated from volumetric data by introducing a simple prefiltering method that removes small components from the subgraphs and using a union-find approach. It updates only the scalar values within small components—replacing them with the average of neighboring boundary values—to push these components across the isovalue threshold and thereby reduce visual clutter in the resulting isosurface. Experimental results on CT/MRI-like datasets demonstrate that a threshold around 20 yields diminishing returns, showing substantial noise reduction while acknowledging potential loss of meaningful small features. The method scales linearly with grid size and offers a practical preprocessing step before isosurface extraction, balancing visualization quality with fidelity to the original data.

Abstract

Let be a scalar field. An isosurface is a piecewise linear approximation of a level set for some built from some regular grid sampling of . Isosurfaces constructed from scanned data such as CT scans or MRIs often contain extremely small components that distract from the visualization and do not form part of any geometric model produced from the data. Simple prefiltering of the data can remove such small components while having no effect on the large components that form the body of the visualization. We present experimental results on such filtering.
Paper Structure (6 sections, 5 figures, 5 tables, 1 algorithm)

This paper contains 6 sections, 5 figures, 5 tables, 1 algorithm.

Figures (5)

  • Figure 1: Isosurfaces of a carp skeleton after filtering out all components of size 10, 20 and 50 respectively. Generated with isovalue 1150.5.
  • Figure 2: Top: Comparing different isovalues ($x$-axis) to the number of components removed and scalar values changed (y-axis) on aneurysm. Done with a minimum size threshold of 5. Bottom: Comparing different minimum size thresholds (x-axis) to the number of components removed and scalar values changed (y-axis). Done with an isovalue of 30.5.
  • Figure 3: Top: Comparing different isovalues to the number of components removed and scalar values changed on lobster. Done with a minimum size threshold of 5. Bottom: Comparing different minimum size thresholds to the number of components removed and scalar values changed. Done with an isovalue of 20.5.
  • Figure 4: Top: Comparing different isovalues to the number of components removed and scalar values changed on visMale. Done with a minimum size threshold of 5. Bottom: Comparing different minimum size thresholds to the number of components removed and scalar values changed. Done with an isovalue of 70.5.
  • Figure 5: All four images are a close-up of the isosurface generated from visMale after slicing it across a plane. Created with isovalue 70.5 and filtered with a minimum size threshold of 5. (a) Isosurface after filtering out small components with scalar value above the isovalue. (b) Components that were removed when the filter removing small components below the isovalue was applied. (c) Images (a) and (b) combined.