code: def closing(image, radius=None, mask=None, footprint = None):
      '''Do a morphological closing
      
      image - pixel image to operate on
      radius - use a structuring element with the given radius. If no structuring
               element, use an 8-connected structuring element.
      mask - if present, only use unmasked pixels for operations
      '''
      dilated_image = grey_dilation(image, radius, mask, footprint)
      return grey_erosion(dilated_image, radius, mask, footprintf closing(image, radius=None, mask=None, footprint = None):
      '''Do a morphological closing
      
      image - pixel image to operate on
      radius - use a structuring element with the given radius. If no structuring
               element, use an 8-connected structuring element.
      mask - if present, only use unmasked pixels for operations
      '''
      dilated_image = grey_dilation(image, radius, mask, footprint)
      return grey_erosion(dilated_image, radius, mask, footprint)
docs: Do a morphological closing
      
      image - pixel image to operate on
      radius - use a structuring element with the given radius. If no structuring
               element, use an 8-connected structuring element.
      mask - if present, only use unmasked pixels for operations