code: def test_bilateral():
      """test the smooth module with bilateral filtering"""
      sigma = 16.0
      sigma_range = 0.2
      numpy.random.seed(0)
      image = numpy.random.uniform(size=(100, 100)).astype(
          numpy.float32
      )
      mask = numpy.ones(image.shape, bool)
      mask[40:60, 45:65] = False
      expected = skimage.restoration.denoise_bilateral(
          image=image.astype(float),
          sigma_color=sigma_range,
          sigma_spatial=sigma,
      )
      workspace, module = make_workspace(image, mask)
      module.smoothing_method.value = (
          cellprofiler.modules.smooth.SMOOTH_KEEPING_EDGES
      )
      module.sigma_range.value = sigma_range
      module.wants_automatic_object_size.value = False
      module.object_size.value = 16.0 * 2.35
      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 8 for calling a global function with example usage: test_bilateral() without return types