code: def test_regression_2359(self):
      # Check regression --- for certain point sets, gradient
      # estimation could end up in an infinite loop
      points = np.load(data_file("estimate_gradients_hang.npy"))
      values = np.random.rand(points.shape[0])
      tri = qhull.Delaunay(points)
  
      # This should not hang
      with suppress_warnings() as sup:
          sup.filter(
              interpnd.GradientEstimationWarning,
              "Gradient estimation did not converge",
          )
          interpnd.estimate_gradients_2d_global(tri, values, maxiter=1)
  
imports: from __future__ import division, print_function, absolute_import
  import os
  import numpy
  from numpy.testing import assert_equal, assert_allclose, assert_almost_equal
  from pytest import raises
  import pytest
  from scipy._lib._numpy_compat import suppress_warnings
  import scipy.interpolate.interpnd
  import scipy.spatial.qhull
  import pickle
label_desc: Use image node_id 2 for calling the TestEstimateGradients2DGlobal obj's underlying member method code with example usage: obj.test_regression_2359() without return types