pub fn square(radius: u8) -> Self {
        let radius = i16::from(radius);
        let range = -radius..=radius;
        let elements = range
            .clone()
            .cartesian_product(range)
            .map(|(y, x)| Point::new(x, y))
            .collect();
        Self::new(elements)
    }
Creates a square mask of side length `2 * radius + 1`.

# Example
```
# extern crate image;
# #[macro_use]
# extern crate imageproc;
# fn main() {
use imageproc::morphology::Mask;

// Mask::square(1) is a 3x3 square mask centered at the origin.
let square = gray_image!(
255, 255, 255;
255, 255, 255;
255, 255, 255
);
assert_eq!(Mask::square(1), Mask::from_image(&square, 1, 1));
# }
```
src/morphology.rs