code: def get_and_plot_results(ground_truths, est_dirs, subj_ids):
      df = None
      for est_dir_key in est_dirs:
          # getting the dataset_split file from the settings_train txt file:
          train_settings = [
              l.strip()
              for l in open(
                  est_dirs[est_dir_key] + "../settings_train.txt", "r"
              )
          ]
          dataset_split_file = [
              x.split(":")[1].strip()
              for x in train_settings
              if "dataset_split" in x
          ][0]
  
          new_df = results(
              ground_truths, {est_dir_key: est_dirs[est_dir_key]}
          )
          new_df_long = results_long(new_df, dataset_split_file)
  
          f, axes = plt.subplots(2, 1, figsize=(9, 5))
          f.suptitle("Experiment %s" % est_dir_key)
          show_model_outputs(
              ground_truths,
              new_df_long,
              {est_dir_key: est_dirs[est_dir_key]},
              subj_ids,
              axes,
          )
  
          if df is None:
              df = new_df_long
          else:
              df = pd.concat([df, new_df_long])
  
      combined_df = add_experiment_info_to_datasets(df, est_dirs)
      return combined_df
  
file_path: NiftyNet/demos/unet/unet_demo_utils.py
imports: import os
  import nibabel
  import pandas
  import numpy
  import matplotlib.pyplot
  from skimage.io import imread
  import re
label_desc: Use image node_id 5 for calling a global function with example usage: get_and_plot_results(ground_truths, est_dirs, subj_ids) and returns: combined_df