code: def insert_sphere(im, c, r):
      r
      c = sp.array(c, dtype=int)
      if c.size != im.ndim:
          raise Exception('Coordinates do not match dimensionality of image')
  
      bbox = []
      [bbox.append(sp.clip(c[i] - r, 0, im.shape[i])) for i in range(im.ndim)]
      [bbox.append(sp.clip(c[i] + r, 0, im.shape[i])) for i in range(im.ndim)]
      bbox = sp.ravel(bbox)
      s = bbox_to_slices(bbox)
      temp = im[s]
      blank = sp.ones_like(temp)
      blank[tuple(c - bbox[0:im.ndim])] = 0
      blank = spim.distance_transform_edt(blank) < r
      im[s] = blank
      return im
docs: r"""
      Inserts a sphere of a specified radius into a given image
  
      Parameters
      ----------
      im : array_like
          Image into which the sphere should be inserted
      c : array_like
          The [x, y, z] coordinate indicating the center of the sphere
      r : int
          The radius of sphere to insert
  
      Returns
      -------
      image : ND-array
          The original image with a sphere inerted at the specified location