code: def test_quartiles_four_objects(
      image, measurements, module, objects, workspace
  ):
      """test quartile values on a 250x250 square with 4 objects"""
      labels = numpy.ones((250, 250), int)
  
      labels[125:, :] += 1
  
      labels[:, 125:] += 2
  
      numpy.random.seed(0)
  
      data = numpy.random.uniform(size=(250, 250))
  
      #
      # Make the distributions center around .5, .25, 1/6 and .125
      #
      data /= labels.astype(float)
  
      image.pixel_data = data
  
      objects.segmented = labels
  
      module.run(workspace)
  
      feature_name = "%s_%s_%s" % (
          cellprofiler.modules.measureobjectintensity.INTENSITY,
          cellprofiler.modules.measureobjectintensity.LOWER_QUARTILE_INTENSITY,
          "MyImage",
      )
  
      data = measurements.get_current_measurement(
          "MyObjects", feature_name
      )
  
      numpy.testing.assert_almost_equal(data[0], 1.0 / 4.0, 2)
  
      numpy.testing.assert_almost_equal(data[1], 1.0 / 8.0, 2)
  
      numpy.testing.assert_almost_equal(data[2], 1.0 / 12.0, 2)
  
      numpy.testing.assert_almost_equal(data[3], 1.0 / 16.0, 2)
  
      feature_name = "%s_%s_%s" % (
          cellprofiler.modules.measureobjectintensity.INTENSITY,
          cellprofiler.modules.measureobjectintensity.MEDIAN_INTENSITY,
          "MyImage",
      )
  
      data = measurements.get_current_measurement(
          "MyObjects", feature_name
      )
  
      numpy.testing.assert_almost_equal(data[0], 1.0 / 2.0, 2)
  
      numpy.testing.assert_almost_equal(data[1], 1.0 / 4.0, 2)
  
      numpy.testing.assert_almost_equal(data[2], 1.0 / 6.0, 2)
  
      numpy.testing.assert_almost_equal(data[3], 1.0 / 8.0, 2)
  
      feature_name = "%s_%s_%s" % (
          cellprofiler.modules.measureobjectintensity.INTENSITY,
          cellprofiler.modules.measureobjectintensity.UPPER_QUARTILE_INTENSITY,
          "MyImage",
      )
  
      data = measurements.get_current_measurement(
          "MyObjects", feature_name
      )
  
      numpy.testing.assert_almost_equal(data[0], 3.0 / 4.0, 2)
  
      numpy.testing.assert_almost_equal(data[1], 3.0 / 8.0, 2)
  
      numpy.testing.assert_almost_equal(data[2], 3.0 / 12.0, 2)
  
      numpy.testing.assert_almost_equal(data[3], 3.0 / 16.0, 2)
  
      feature_name = "%s_%s_%s" % (
          cellprofiler.modules.measureobjectintensity.INTENSITY,
          cellprofiler.modules.measureobjectintensity.MAD_INTENSITY,
          "MyImage",
      )
  
      data = measurements.get_current_measurement(
          "MyObjects", feature_name
      )
  
      numpy.testing.assert_almost_equal(data[0], 1.0 / 4.0, 2)
  
      numpy.testing.assert_almost_equal(data[1], 1.0 / 8.0, 2)
  
      numpy.testing.assert_almost_equal(data[2], 1.0 / 12.0, 2)
  
      numpy.testing.assert_almost_equal(data[3], 1.0 / 16.0, 2)
  
imports: import math
  import centrosome.outline
  import numpy
  import numpy.testing
  import pytest
  import skimage.measure
  import skimage.segmentation
  import cellprofiler_core.image
  import cellprofiler_core.measurement
  from cellprofiler_core.constants.measurement import EXPERIMENT, COLTYPE_FLOAT, C_LOCATION
  import cellprofiler.modules.measureobjectintensity
  import cellprofiler_core.object
  import cellprofiler_core.pipeline
  import cellprofiler_core.preferences
  import cellprofiler_core.workspace
label_desc: Use image node_id 19 for calling a global function with example usage: test_quartiles_four_objects(image, measurements, module, objects, workspace) without return types