code: def train(self, image_list):
      # check modalities to train, using the first subject in subject list
      # to find input modality list
      if self.is_ready():
          tf.logging.info(
              "normalisation histogram reference models ready"
              " for {}:{}".format(self.image_name, self.modalities)
          )
          return
      mod_to_train = self.__check_modalities_to_train()
      tf.logging.info(
          "training normalisation histogram references "
          "for {}:{}, using {} subjects".format(
              self.image_name, mod_to_train, len(image_list)
          )
      )
      trained_mapping = hs.create_mapping_from_multimod_arrayfiles(
          image_list,
          self.image_name,
          self.modalities,
          mod_to_train,
          self.cutoff,
          self.binary_masking_func,
      )
  
      # merging trained_mapping dict and self.mapping dict
      self.mapping.update(trained_mapping)
      all_maps = hs.read_mapping_file(self.model_file)
      all_maps.update(self.mapping)
      hs.write_all_mod_mapping(self.model_file, all_maps)
  
file_path: NiftyNet/niftynet/layer/histogram_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.binary_masking import BinaryMaskingLayer
label_desc: Use image node_id 5 for calling the HistogramNormalisationLayer obj's underlying member method code with example usage: obj.train(image_list) without return types