code: def make_image(expected, absorbances):
      eps = 1.0 / 256.0 / 2.0
      absorbance = 1 - expected
      log_absorbance = numpy.log(absorbance + eps)
      absorbances = numpy.array(absorbances)
      absorbances = absorbances / numpy.sqrt(
          numpy.sum(absorbances**2)
      )
      log_absorbance = (
          log_absorbance[:, :, numpy.newaxis]
          * absorbances[numpy.newaxis, numpy.newaxis, :]
      )
      image = numpy.exp(log_absorbance) - eps
      return image
  
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 4 for calling a global function with example usage: make_image(expected, absorbances) and returns: image