code: def inverse_gaussian_gradient(image, alpha=100.0, sigma=5.0):
      
      gradnorm = ndi.gaussian_gradient_magnitude(image, sigma, mode='nearest')
      return 1.0 / np.sqrt(1.0 + alpha * gradnorm)
docs: Inverse of gradient magnitude.
  
      Compute the magnitude of the gradients in the image and then inverts the
      result in the range [0, 1]. Flat areas are assigned values close to 1,
      while areas close to borders are assigned values close to 0.
  
      This function or a similar one defined by the user should be applied over
      the image as a preprocessing step before calling
      `morphological_geodesic_active_contour`.
  
      Parameters
      ----------
      image : (M, N) or (L, M, N) array
          Grayscale image or volume.
      alpha : float, optional
          Controls the steepness of the inversion. A larger value will make the
          transition between the flat areas and border areas steeper in the
          resulting array.
      sigma : float, optional
          Standard deviation of the Gaussian filter applied over the image.
  
      Returns
      -------
      gimage : (M, N) or (L, M, N) array
          Preprocessed image (or volume) suitable for
          `morphological_geodesic_active_contour`.