code: def _jma_true_color_reproduction(img_data, platform=None):
      """Convert from AHI RGB space to sRGB space.
  
      The conversion matrices for this are supplied per-platform.
      The matrices are computed using the method described in the paper:
      'True Color Imagery Rendering for Himawari-8 with a Color Reproduction Approach
      Based on the CIE XYZ Color System' (:doi:`10.2151/jmsj.2018-049`).
  
      """
      # Conversion matrix dictionaries specifying sensor and platform.
      ccm_dict = {
          "himawari-8": np.array(
              [
                  [1.1629, 0.1539, -0.2175],
                  [-0.0252, 0.8725, 0.1300],
                  [-0.0204, -0.1100, 1.0633],
              ]
          ),
          "himawari-9": np.array(
              [
                  [1.1619, 0.1542, -0.2168],
                  [-0.0271, 0.8749, 0.1295],
                  [-0.0202, -0.1103, 1.0634],
              ]
          ),
          "goes-16": np.array(
              [
                  [1.1425, 0.1819, -0.2250],
                  [-0.0951, 0.9363, 0.1360],
                  [-0.0113, -0.1179, 1.0621],
              ]
          ),
          "goes-17": np.array(
              [
                  [1.1437, 0.1818, -0.2262],
                  [-0.0952, 0.9354, 0.1371],
                  [-0.0113, -0.1178, 1.0620],
              ]
          ),
          "goes-18": np.array(
              [
                  [1.1629, 0.1539, -0.2175],
                  [-0.0252, 0.8725, 0.1300],
                  [-0.0204, -0.1100, 1.0633],
              ]
          ),
          "mtg-i1": np.array(
              [
                  [0.9007, 0.2086, -0.0100],
                  [-0.0475, 1.0662, -0.0414],
                  [-0.0123, -0.1342, 1.0794],
              ]
          ),
          "geo-kompsat-2a": np.array(
              [
                  [1.1661, 0.1489, -0.2157],
                  [-0.0255, 0.8745, 0.1282],
                  [-0.0205, -0.1103, 1.0637],
              ]
          ),
      }
  
      # A conversion matrix, sensor name and platform name is required
      if platform is None:
          raise ValueError("Missing platform name.")
  
      # Get the satellite-specific conversion matrix
      try:
          ccm = ccm_dict[platform.lower()]
      except KeyError:
          raise KeyError(
              f"No conversion matrix found for platform {platform}"
          )
  
      output = da.dot(img_data.T, ccm.T)
      return output.T
  
imports: import logging
  import os
  from collections import namedtuple
  from functools import wraps
  from numbers import Number
  from typing import Optional
  import dask
  import dask.array
  import numpy
  import xarray
  from trollimage.colormap import Colormap
  from trollimage.xrimage import XRImage
  from satpy._compat import ArrayLike
  from satpy._config import get_config_path
  from satpy.utils import find_in_ancillary
label_desc: Use image node_id 28 for calling a global function with example usage: _jma_true_color_reproduction(img_data, platform) and returns: output