code: def _check_config_file_keywords(config):
      """
      check config files, validate keywords provided against
      parsers' argument list
      """
  
      # collecting all keywords from the config
      config_keywords = []
      for section in config.sections():
          if config.items(section):
              config_keywords.extend(list(dict(config.items(section))))
      _raises_bad_keys(config_keywords, error_info="config file")
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import argparse
  import os
  import textwrap
  from niftynet.engine.signal import TRAIN, INFER, EVAL
  from niftynet.utilities.util_common import look_up_operations
  from niftynet.engine.application_factory import ApplicationFactory
  from niftynet.engine.application_factory import SUPPORTED_APP
  from niftynet.io.misc_io import resolve_file_name
  from niftynet.utilities.niftynet_global_config import NiftyNetGlobalConfig
  from niftynet.utilities import NiftyNetLaunchConfig
  from niftynet.utilities.user_parameters_custom import SUPPORTED_ARG_SECTIONS
  from niftynet.utilities.user_parameters_custom import add_customised_args
  from niftynet.utilities.user_parameters_default import SUPPORTED_DEFAULT_SECTIONS
  from niftynet.utilities.user_parameters_default import add_input_data_args
  from niftynet.utilities.user_parameters_helper import has_section_in_config
  from niftynet.utilities.user_parameters_helper import standardise_section_name
  from niftynet.utilities.util_common import damerau_levenshtein_distance
  from niftynet.utilities.versioning import get_niftynet_version_string
label_desc: Use image node_id 4 for calling a global function with example usage: _check_config_file_keywords(config) without return types