code: def load_case_data(self, case):
      data_groups = self.get_data_groups()
  
      # This is weird.
      self.current_case = case
  
      for data_group in data_groups:
          if self.preprocessors != []:
              data_group.preprocessed_case = copy.copy(
                  data_group.data[self.current_case]
              )
          else:
              data_group.preprocessed_case = data_group.data[
                  self.current_case
              ]
  
      self.preprocess()
  
      for data_group in data_groups:
          if type(data_group.preprocessed_case) is np.ndarray:
              (
                  data_group.preprocessed_case,
                  data_group.preprocessed_affine,
              ) = (
                  data_group.preprocessed_case,
                  data_group.preprocessed_affine,
              )
          else:
              (
                  data_group.preprocessed_case,
                  data_group.preprocessed_affine,
              ) = read_image_files(
                  data_group.preprocessed_case, return_affine=True
              )
  
          (
              data_group.base_case,
              data_group.base_affine,
          ) = data_group.get_data(index=case, return_affine=True)
  
          if self.preprocessors == []:
              (
                  data_group.preprocessed_case,
                  data_group.preprocessed_affine,
              ) = (data_group.base_case, data_group.base_affine)
  
          if data_group.source == "hdf5":
              data_group.base_casename = data_group.data_casenames[
                  case
              ][0].decode("utf-8")
          else:
              data_group.base_case = data_group.base_case[
                  np.newaxis, ...
              ]
              data_group.base_casename = case
  
      for data_group in data_groups:
          # Inconsistencies in batch size during preprocessing, TODO! Important.
          data_group.preprocessed_case = data_group.preprocessed_case[
              np.newaxis, ...
          ]
  
          if len(self.augmentations) != 0:
              data_group.augmentation_cases[
                  0
              ] = data_group.preprocessed_case
  
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 14 for calling the DataCollection obj's underlying member method code with example usage: obj.load_case_data(case) without return types