code: def add_case(self, case_dict, case_name=None, load_data=False):
      # add_case currently needs to be refactored to match the new data_load.py data_loading process.
      #
  
      # Create DataGroups for this DataCollection.
      for data_group_name in case_dict:
          if data_group_name not in list(self.data_groups.keys()):
              self.data_groups[data_group_name] = DataGroup(
                  data_group_name
              )
              self.data_groups[data_group_name].source = "directory"
  
      # Search for modality files, and skip those missing with files modalities.
      for data_group_name in list(self.data_groups.keys()):
          if data_group_name in list(case_dict.keys()):
              self.data_groups[data_group_name].add_case(
                  case_name, list(case_dict[data_group_name])
              )
          else:
              self.data_groups[data_group_name].add_case(
                  case_name, None
              )
  
      self.cases.append(case_name)
      self.total_cases = len(self.cases)
  
      if load_data:
          self.load_case_data(case_name)
  
imports: import os
  import csv
  import numpy
  import tables
  import copy
  from tqdm import tqdm
  from deepneuro.augmentation.augment import Copy
  from deepneuro.utilities.conversion import read_image_files
  from deepneuro.data.data_group import DataGroup
  from deepneuro.data.data_load import parse_directories, parse_filepaths, parse_hdf5, parse_csv, parse_numpy
  from deepneuro.utilities.util import add_parameter
label_desc: Use image node_id 5 for calling the DataCollection obj's underlying member method code with example usage: obj.add_case(case_dict, case_name, load_data) without return types