code: def key(self):
      if self._key:
          return self._key
      # provide a readable key for the label mapping item
      name1 = self.image_name
      name2 = (
          self.image_name if not self.modalities else self.modalities[0]
      )
      key_from = "{}_{}-from".format(name1, name2)
      key_to = "{}_{}-to".format(name1, name2)
      return standardise_string(key_from), standardise_string(key_to)
  
file_path: NiftyNet/niftynet/layer/discrete_label_normalisation.py
imports: from __future__ import absolute_import, print_function, division
  import os
  import numpy
  import tensorflow
  import niftynet.utilities.histogram_standardisation
  from niftynet.layer.base_layer import DataDependentLayer
  from niftynet.layer.base_layer import Invertible
  from niftynet.utilities.user_parameters_helper import standardise_string
  from niftynet.utilities.util_common import print_progress_bar
label_desc: Use image node_id 2 for calling the DiscreteLabelNormalisationLayer obj's underlying member method code with example usage: obj.key() and returns: standardise_string,  standardise_string, self