## Steve on Image Processing with MATLABImage processing concepts, algorithms, and MATLAB

Note

Steve on Image Processing with MATLAB has been archived and will not be updated.

# “Area opening” terminology question

An experienced user of our products recently told us we got it wrong when we named bwareaopen. This function removes foreground objects from a binary image that are smaller in area than a given threshold. The user said (paraphrased) that "bwareaopen isn't doing an opening at all, it's just doing connected-component labeling. And I would look for some variation of 'size filter' in the name or description, and that doesn't appear at all."

This is a good example of a terminology question that arises in toolbox design fairly often. When do we use a term that is familiar to specialists in the area but might not be familiar to other users? In this case, the term area opening is familiar to those who know a lot about mathematical morphology as applied to image processing.

In morphology, this operation is indeed called an area opening, and that's why I named the function this way about ten years ago. The morphology folks have a fairly general notion of openings. Area opening is a type of opening they call an "algebraic opening." Such openings are characterized by the following properties:

• Increasing. Operator $T\{\cdot\}$ is increasing if, for all images $f$ and $g$, $f <= g$ implies $T\{f\} <= T\{g\}$.
• Anti-extensive. Operator $T\{\cdot\}$ is anti-extensive if, for all images $f$, $T\{f\} <= f$.
• Idempotent. Operator $T\{\cdot\}$ is idempotent if, for all images $f$, $T\{T\{f\}\} = T\{f\}$.

Morphological opening (erosion followed by dilation), which is the most familiar kind of opening, satisfies these properties, and so does the area opening.

That said, I appreciate the merit in considering a different term that is less "jargony." We might kick around the idea of renaming this function.

Readers, do you have any suggestions? I have an idea that I kind of like, but I'd like to hear what you have to say first.

Published with MATLAB® 7.12

|