code: def test_two_stains():
      """Test on two stains mixed together"""
      numpy.random.seed(24)
      expected_1 = numpy.random.uniform(size=(10, 20)) * 0.5
      expected_2 = numpy.random.uniform(size=(10, 20)) * 0.5
      #
      # The absorbances should add in log space and multiply in
      # the image space
      #
      image = make_image(
          expected_1, cellprofiler.modules.unmixcolors.ST_HEMATOXYLIN
      )
      image *= make_image(
          expected_2, cellprofiler.modules.unmixcolors.ST_EOSIN
      )
      workspace, module = make_workspace(
          image,
          [
              cellprofiler.modules.unmixcolors.CHOICE_HEMATOXYLIN,
              cellprofiler.modules.unmixcolors.CHOICE_EOSIN,
          ],
      )
      module.run(workspace)
      image_1 = workspace.image_set.get_image(output_image_name(0))
      numpy.testing.assert_almost_equal(
          image_1.pixel_data, expected_1, 2
      )
      image_2 = workspace.image_set.get_image(output_image_name(1))
      numpy.testing.assert_almost_equal(
          image_2.pixel_data, expected_2, 2
      )
  
file_path: CellProfiler/tests/frontend/modules/test_unmixcolors.py
imports: import numpy
  import six.moves
  import cellprofiler_core.image
  import cellprofiler_core.measurement
  import cellprofiler.modules.unmixcolors
  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_two_stains() without return types