[Up] SDC Morphology Toolbox for C++ V1.6 31mar2008

Introduction

Description

The SDC Morphology Toolbox for C++ is a software for Image Analysis and Signal Processing. It is composed by a family of discrete non linear filters based on lattice operations. These filters, called morphological operators, are quite useful for restoration, segmentation and quantitative analysis of Images and Signals.

The SDC Morphology Toolbox for C++ contains state-of-the-art morphological operators, implemented by the most efficient known algorithms. The available operators go from the classical morphological filters, used for restoration and shape description, to the modern connected filters and watersheds, so powerful for image segmentation.

The potential of the SDC Morphology Toolbox for C++ is illustrated by several demos, that show the morphological solution of many real-life image processing problems. Some of the application areas covered are machine vision, medical imaging, desktop publishing, document processing, food industry and agriculture.

The reference manual has a page of documentation for each function of the toolbox. These pages present the respective command syntax, a detailed explanation of the necessary parameters, a short description, an application example and the formal definition.

The SDC Morphology Toolbox for C++ deals with gray-scale and binary images (or signals) and is data type oriented. Thus, most operators perform both gray-scale and binary image (or signal) processing and the choice of the appropriate (binary or gray-scale) algorithm is automatic.

The images (or signals) may be represented by the formats: binary, 8-bit gray-scale and 16-bit gray-scale, where each pixel is represented, respectively, by a logical uint8, a uint8 and uint16 data type.

Morphological operators may be written hierarchically from two elementary operators, called dilation and erosion. SDC Morphology Toolbox for C++ has very efficient implementations for dilation and erosion and permits the realization of any morphological operator by this constructive approach. However, for getting more efficiency, several operators are also implemented by special fast algorithms. Some of these operators are distance transform, watershed, reconstruction, labeling and area-opening.

Dilations and erosions are parameterized by particular images (or signals), called structuring elements. These structuring elements may be flat (binary images or signals) or non flat (gray-scale images or signals). The SDC Morphology Toolbox for C++ supports both kinds of structuring elements and represents them in a decomposed form, which increases the performance of the corresponding dilation and erosion.

The SDC Morphology Toolbox for C++ is supported in 3 platforms: Win95/98/NT, Linux and Solaris.

Conventions used in the toolbox

All operators of the SDC Morphology Toolbox for C++ starts with 'mm'. This is a simple rule to check if an operator belongs or not to the SDC Morphology Toolbox for C++.

All operators of the SDC Morphology Toolbox for C++ obey the following rules of parameter uses:

All operators of the SDC Morphology Toolbox for C++, with two image parameters, such as mmAddm , obey the following rules of parameter uses:

3D processing

Most functions in the SDC Morphology Toolbox for C++ operate in 3D. The image must be a binary or gray-scale image with a third dimension. A typical example is a CT or MRI image of many slices (2D) stacked together in the third dimension. To create a 3D structuring element, use mmSedisk or mmImg2se . There are a few functions that do not work in 3D yet, for instance, mmWatershed only works for 2D whereas mmCwatershed and mmSwatershed work in 3D.

Examples

Creating 6-neighbors 3D structuring element

Creating 26-neighbors 3D structuring element

Creating 18-neighbors 3D structuring element

[Up]