This PR further cleans up the codebase and adds an option for selecting the kernel shape.
Add KernelShape enum with CIRCLE and RECTANGLE members for selecting the shape of the kernel used in the morphological operations; all functions default to CIRCLE to preserve the existing behavior (addressing #4)
Define and use an explicit 3x3 "plus kernel" for dealing with the boundary pixels (adopting from @mfschubert's approach), rather than relying on the circular brush kernel function to implicitly generate such a kernel
Refactor and reorganize lower level morphological functions to take kernels, rather than scalar diameter values
Clean up all doc strings and better clarify some default behaviors
Add Direction enum to replace strings which were used to define the boundary union
Rename some internal functions for improved clarity
Update test to use the updates morphological function APIs
Fix padding mode in notebook to use new enums from #19 instead of strings
This PR further cleans up the codebase and adds an option for selecting the kernel shape.
KernelShape
enum withCIRCLE
andRECTANGLE
members for selecting the shape of the kernel used in the morphological operations; all functions default toCIRCLE
to preserve the existing behavior (addressing #4)diameter
valuesDirection
enum to replace strings which were used to define the boundary union