code: def load_case_from_list_of_files(data_files, seg_file=None):
      assert isinstance(data_files, list) or isinstance(
          data_files, tuple
      ), "Single case must be either a list or a tuple including image path and label path, but got type {}.".format(
          type(data_files)
      )
      properties = OrderedDict()
      data_itk = [sitk.ReadImage(f) for f in data_files]
      properties["original_size_of_raw_data"] = np.array(
          data_itk[0].GetSize()
      )[[2, 1, 0]]
      properties["original_spacing"] = np.array(
          data_itk[0].GetSpacing()
      )[[2, 1, 0]]
      properties["list_of_data_files"] = data_files
      properties["seg_file"] = seg_file
      properties["itk_origin"] = data_itk[0].GetOrigin()
      properties["itk_spacing"] = data_itk[0].GetSpacing()
      properties["itk_direction"] = data_itk[0].GetDirection()
  
      data_npy = np.vstack(
          [sitk.GetArrayFromImage(d)[None] for d in data_itk]
      )
      if seg_file is not None:
          seg_itk = sitk.ReadImage(seg_file)
          seg_npy = sitk.GetArrayFromImage(seg_itk)[None].astype(
              np.float32
          )
      else:
          seg_npy = None
      return data_npy.astype(np.float32), seg_npy, properties
  
imports: import os
  import json
  import shutil
  import pickle
  import numpy
  import SimpleITK
  from scipy.ndimage import binary_fill_holes
  from multiprocessing import Pool
  from collections import OrderedDict
  from .path_utils import join_paths
label_desc: Use image node_id 8 for calling a global function with example usage: load_case_from_list_of_files(data_files, seg_file) and returns: data_npy,  seg_npy,  properties