code: def write_image_data_to_storage(
      self, data_group_labels=None, repeat=1
  ):
      storage_cases, total_cases = self.cases, self.total_cases
  
      storage_data_generator = self.data_generator(
          data_group_labels, case_list=storage_cases, yield_data=False
      )
  
      for i in tqdm(
          list(range(total_cases)), total=total_cases, unit="datasets"
      ):
          for j in tqdm(
              list(range(self.multiplier)),
              total=self.multiplier,
              unit="augmentations",
              disable=(self.multiplier == 1),
          ):
              output = next(storage_data_generator)
  
              if output:
                  for data_group_label in data_group_labels:
                      self.data_groups[
                          data_group_label
                      ].write_to_storage()
  
      return
  
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 20 for calling the DataCollection obj's underlying member method code with example usage: obj.write_image_data_to_storage(data_group_labels, repeat) without return types