Answers to Frequently Asked Questions
19Apr2001
No, it just requires MATLAB 5 or above.
The official SDC Morphology Toolbox homepage is http://www.mmorph.com
No. All you need, after installing the new MATLAB version is to include in the startup.m file a call to mmstartup. Like:
run('/morph/morph0.13/lib/mmstartup.m')
Yes, the license key depends on the SDC Morphology Toolbox version number.
Yes, both library files have different names and can be kept together. All is necessary to change from using one version or another is to call the proper mmstartup file when MATLAB starts up. See file startup (% which startup; type startup). An example of a startup file is below:
% uncomment the line below to use version 0.13
run('/morph/morph0.13/lib/mmstartup.m')
% uncomment the line below to use version 0.12
%run('/morph/morph0.12/lib/mmstartup.m')
You can use the result of roipoly to select only the area you want to filter. This can be done explicitly using the scheme below:
a = imread('bloodcells.tif');
bw = roipoly(a);
f = mmdil(a, mmsecross(3));
bg = mmgray(bw);
c = mmunion(mmintersec(f,bg), mmintersec(a, mmneg(bg)));
imagesc(c);
This message happens when the morphology library libmorph
Area open is indeed a very powerful function. There are two very good papers on area open by Luc Vincent (who actually introduced it). Unfortunately, they were only published in conferences:
Luc Vincent
Morphological Area Opening and Closings for Greyscale Images
Proc. "Shape in Picture'92 - NATO Workshop, Driebergen, The Netherlands, Sept92,
Springer Verlag
Luc Vincent
Grayscale Area Opening and Closing, their efficient implementation and
applications.
Proc. "Eurasip Workshop on Mathematical Morphology and its Applications to
Signal Processing"
Barcelona, Spain, May 1993.
To fully understand area open, you need first to understand regional maximum (mmregmax). Area open recursively, lowers the regional maximum flat zone by 1, if it does not have the area specified by the parameter. The concept of regional maximum is not difficult to understand. You need not to confuse this with local max which is a pixelwise operator. Regional max is a "connected region of same pixel values" surrounded by strictly lower value pixels.