“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.
Comments
To leave a comment, please click here to sign in to your MathWorks Account or create a new one.