Research > Software > DSM

DualSurfaceMin

The dualsurfacemin is a C++ implementation of the fully automatic dual surface minimization (DSM) algorithm for the optimization of deformable surfaces. The method is developed for automatic surface extraction from noisy volumetric images.

Features

  • Global DSM, DSM-OS, and DSM-IS algorithms for automatic surface extraction from volumetric images using deformable simplex meshes
  • Support for the VRML and OFF formats. Can output both triangulated and simplex meshes.
  • Support for the raw and Analyze 7.5 image formats
  • The object oriented implementation in C++ licensed under GNU LGPL ensure easy modifiability of the software for a particular application.

Description

The dualsurfacemin is a C++ implementation of the fully automatic dual surface minimization (DSM) algorithm for the optimization of the geometry deformable surfaces (Tohka, Mykkanen, 2004). The method has been developed for automatic surface extraction from noisy volumetric images. Dualsurfacemin is licensed under the GNU LGPL. See \'LICENSE\' file in the software package.

Surface extraction from noisy volumetric images is a problem commonly encountered in medical image analysis. Deformable surface models can, in principle, solve the problem in an automatic manner. However, it is often required that a reasonably close initialization and good parameter values for deformable models are provided. In the dual surface minimization (DSM) algorithm, the energy of deformable meshes is minimized globally. The global optimization by this algorithm reduces sensitivity of the deformable mesh to its initialization and to its parameter values. Consequently, it becomes easier to automate the initialization process and selection of parameter values. The deformable surface based on the DSM algorithm (DM-DSM) has been successfully applied to a number of surface extraction tasks arising within positron emission tomography.

Usage

<br />

System Requirements

  • OS: Solaris, Linux
  • Processor: any
  • Memory: 64 Mb
  • Other: A GNU C++ compiler (3.2 or newer), The Blitz++ library and Makefile utility

Installation

Installation requires Gnu C++ compiler (3.2 or newer) and make utility. Unpack the archive into a location of your choice. With the binary package, copy executable \'dualsurfacemin\' to a location which is in your path (e.g. /usr/local/bin). From samples subdirectory you can find examples of configuration file (config.dsm), initial mesh (unitball_1280.wrl) and image file (test.img and test.hdr).

 

Building from sourceRun \'make\' to build the release version; -Run \'make debug\' to build the debug version. Copy the executable \'dualsurfacemin\' to somewhere in your path.

Purpose

Dualsurfacemin can be used to extract surfaces automatically from noisy volumetric images. For this the following are needed:

  • An energy image is needed. The dualsurfacemin can read raw image data and Analyze 7.5 format image files. The energy image characterizes the surface of interest in the image. For example, this can be edge magnitude image.
  • An initial (simplex) mesh is required. One example mesh is provided in the package. The program has a limited support for VRML and OFF mesh file formats.
  • A software to view resulting meshes on image.