Steve on Image Processing with MATLAB

Image processing concepts, algorithms, and MATLAB


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

  • print


To leave a comment, please click here to sign in to your MathWorks Account or create a new one.