

The binary volume itself is the worst possible choice of an isosurface embedding and will result in considerable aliasing artifacts if rendered directly. Yet binary volumes are of interest in the medical imaging domain because they are commonly used to encode segmentation data. Very high contrast imaging modalities also produce information that can be considered binary for many applications.
The problem addressed here is how to create a surface estimation from a binary volume which reduces aliasing artifacts. We present a technique for antialiasing using deformable level set models. An initial isosurface estimation of the volume is deformed under mean curvature flow. This flow is constrained by a discrete, inside/outside function that is the binary volume itself.
This technique produces a surface estimation that satisfies criteria recognized to give good results from common surface rendering and extraction algorithms. Specifically, the isosurface estimation is one that picks the least surface area to give a maximally smooth surface. For more details, see [1].

A separate hierarchy of function objects does the numerical work of the calculations. This arrangement allows a single solver to be used for multiple applications by simply interchanging function objects. For level-set applications, there is a CurvatureFlowFunction and more general LevelSetFunction object, each of which can be subclassed to create new algorithms.
Figure 1 below illustrates the solver and function object frameworks. For more detailed information, see the online and inline documentation for the objects themselves.
Figure 1. The finite difference solver framework.

AntiAliasBinaryImageFilter is built as a subclass of the SparseFieldLevelSetImageFilter solver and uses CurvatureFlowFunction for mean curvature calculations on the evolving interface. The constraint function on the iterative update has been added in this subclass.
Figure 2. Iterative algorithm for evolving the surface under curvature flow with constraints.
The filter produces a volume which is a level-set image of real, signed values (regardless of the input type). The zero crossings of the image represent the estimated position of the isosurface. Values inside the surface are positive and values outside the surface are negative. The isosurface is suitable for rendering without further processing using standard rendering techniques.

Note that after building the antialiasing application, you will find another application that generates a sample data set. Test your build on this sample data. If you have access to a Tcl wrapped version of VTK 4.2, then there is also a tcl script available for rendering the output of the application.


Figure 3. A segmentation (done in Itk!) of the right lens from the Visible Female color cryosection data.
Binary volume resolution: 58 x 73 x 78
Maximum RMS error setting: 0.020
Iterations required: 15
Time in seconds: less than 1

Figure 4. A segmentation (done in Itk!) of the right eye with lateral and medial rectus muscles and the optic nerve from the Visible Female color cryosection data.
Binary volume resolution: 126 x 78 x 58
Maximum RMS error setting: 0.024
Iterations required: 9
Time in seconds: 5

Figure 5. A high resolution, binary representation of an extraction of the surface of a brain (from MRI data).
Detail of above.
Binary volume resolution: 256 x 256 x 175
Maximum RMS error setting: 0.024
Iterations required: 9
Time in seconds: 45

Figure 6. Detail of a high resolution binary toy dragon volume.
Binary volume resolution: 356 x 161 x 251
Maximum RMS error setting: 0.024
Iterations required: 14
Time in seconds: 47
[1] R. Whitaker. Reducing Aliasing Artifacts in Iso-Surfaces of Binary Volumes. IEEE Volume Visualization and Graphics Symposium, October 2000, pp.23-32.
[2] J. Sethian. Level Set Methods: Evolving Interfaces in Geometry, Fluid Mechanics, Computer Vision, and Material Sciences. Cambridge University Press. 1996.
Go to next application.