code: def test_fit_polynomial():
      """Test the smooth module with polynomial fitting"""
      numpy.random.seed(0)
      #
      # Make an image that has a single sinusoidal cycle with different
      # phase in i and j. Make it a little out-of-bounds to start to test
      # clipping
      #
      i, j = numpy.mgrid[0:100, 0:100].astype(float) * numpy.pi / 50
      image = (numpy.sin(i) + numpy.cos(j)) / 1.8 + 0.9
      image += numpy.random.uniform(size=(100, 100)) * 0.1
      mask = numpy.ones(image.shape, bool)
      mask[40:60, 45:65] = False
      for clip in (False, True):
          expected = centrosome.smooth.fit_polynomial(image, mask, clip)
          assert numpy.all((expected >= 0) & (expected <= 1)) == clip
          workspace, module = make_workspace(image, mask)
          module.smoothing_method.value = (
              cellprofiler.modules.smooth.FIT_POLYNOMIAL
          )
          module.clip.value = clip
          module.run(workspace)
          result = workspace.image_set.get_image(OUTPUT_IMAGE_NAME)
          assert not (result is None)
          numpy.testing.assert_almost_equal(result.pixel_data, expected)
  
imports: import io
  import centrosome.filter
  import centrosome.smooth
  import numpy
  import scipy.ndimage
  import skimage.restoration
  import cellprofiler_core.image
  import cellprofiler_core.measurement
  import cellprofiler.modules.smooth
  import cellprofiler_core.object
  import cellprofiler_core.pipeline
  import cellprofiler_core.workspace
  import tests.frontend.modules
label_desc: Use image node_id 3 for calling a global function with example usage: test_fit_polynomial() without return types