| [Up] | SDC Morphology Toolbox for Python-numpy V1.6 31mar2008 |
| User Feedback |
The SDC Morphology Toolbox for Python-numpy for Python 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 Python-numpy 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 Python-numpy 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 Python-numpy 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 Python-numpy 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 Python-numpy 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 Python-numpy is supported in 3 platforms: Win95/98/NT, Linux and Solaris.
All operators of the SDC Morphology Toolbox for Python-numpy starts with 'mm'. This is a simple rule to check if an operator belongs or not to the SDC Morphology Toolbox for Python-numpy.
All operators of the SDC Morphology Toolbox for Python-numpy obey the following rules of parameter uses:
f, Bc, LINEREG, with the last two being optional. Therefore, the only ways that mmwatershed can be invoked are: mmwatershed (f), mmwatershed (f,Bc) or mmwatershed (f,Bc,LINEREG).All operators of the SDC Morphology Toolbox for Python-numpy, with two image parameters, such as mmaddm , obey the following rules of parameter uses:
Most functions in the SDC Morphology Toolbox for Python-numpy 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.
b6 = mmsedisk(1,'3D','city-block');
mmseshow(b6)
array([[[False, False, False],
[False, True, False],
[False, False, False]],
[[False, True, False],
[ True, True, True],
[False, True, False]],
[[False, False, False],
[False, True, False],
[False, False, False]]], dtype=bool)
b26 = mmsedisk(1,'3D','chessboard');
mmseshow(b26)
array([[[ True, True, True],
[ True, True, True],
[ True, True, True]],
[[ True, True, True],
[ True, True, True],
[ True, True, True]],
[[ True, True, True],
[ True, True, True],
[ True, True, True]]], dtype=bool)
b18 = mmsedisk(1,'3D','EUCLIDEAN');
mmseshow(b18)
array([[[False, True, False],
[ True, True, True],
[False, True, False]],
[[ True, True, True],
[ True, True, True],
[ True, True, True]],
[[False, True, False],
[ True, True, True],
[False, True, False]]], dtype=bool)
| [Up] | |
| User Feedback | |
| Copyright (c) 1998-2008 by SDC Information Systems |