Karsten Rodenacker
IDL goodies (?)
Mathematical Morphology
- Logical operations
are the base of mathematical morphology (MM) developed by J. Serra and
G. Matheron, Fontainebleau, France. Most informations
concerning MM can be found there.
- mm_and.pro
- mm_or.pro
- mm_centre.pro
are simple (one line) functions to perform intersection and
merge of functions as well as the so-called centre of three
functions.
- Erosion Dilation Opening Closing
- mm_ero_n.pro
- mm_dil_n.pro
- mm_ouv_n.pro
- mm_fer_n.pro
are wrappers for functions dilate and
erode from idl with octagonal kernel. They are
only designed for byte arrays of 1-d to 3-d. In the 3-d
case the operations are performed in-place to
avoid heavy memory allocation. For arrays of type long
functions dilate_32 and erode_32
are called which refer to functions with
call_external from me. If there is a need the
programs can be given upon request.
- Watershed and applications
are very powerful functions to divide regions depending on
their intensity (grey value) profile. However there are
several C-programs called by call_external method,
which are not easily transfered like pure idl routines.
- tm_wshe1.pro
Original full watershed implementation in idl, unluckily
slow but helpful to understand the proceeding. There are many
keyword controlled possibilities for display. Under tm_wshe2.pro the
procedure with C-program call_external is
stored. The C-program rspw. the dynamic loadable library
can be obtained upon request.
- distpn.pro
call_external based function to calculate the
distance transform (4-neighborhood) by two sweeps. It is
for 2-d binary images the base for
- zerleg.pro
which allows the division of regions depending on the
shape of the connected components, using also
tm_wshe2.pro.
- mm_dist.pro
is a wrapper for distpn.pro but performs for 3-d
data a distance transform by sucessive erosions
By the way, watershed (tm_wshe1/2) is implemented for 2-d and 3-d
arrays. One very simple application is the watershed of an
inverted binary image or volume. It is the label image(!)
which is highly efficient compared to successive calls to
the unbelievable slow idl function search3d.
- Miscellaneous
- mm_fill_new.pro
fills all holes in binary images.
- mm_rand.pro
calculates the inner or outer border from binary images by
erosion/dilation and difference.
- mm_as_filter.pro
implements alternating sequential morphological filters.