DM-1128

New PR for code review of DM-1128, span-based grow operations for Footprint
Using std::map for the structuring element seems a little strange to me, and it also requires that the element be symmetric in x (which, admittedly, I imagine we'd pretty much always want).  I'd prefer an interface with a custom class to represent structuring elements; that would be both more intuitive and likely more efficient.  But I'm also willing to put that off until the Footprint redesign in DM-1126 and beyond, as it might make sense to make that structuring element class part of the public API and expose the grow interface that uses it.

However, you should at least change this comment to make it clear that the "width" the map stores is a radius, not the full width - at least that's what it seems to be to me, looking at the code below.