code: def generate(self):
      self.generate_output_directory()
  
      if self.case is not None:
          return self.generate_individual_case(self.case)
  
      data_generator = self.data_collection.data_generator(
          verbose=True, batch_size=self.batch_size
      )
  
      input_data = next(data_generator)
  
      while input_data is not None:
          self.return_objects = []
          self.return_filenames = []
          self.process_case(input_data)
          self.postprocess(input_data)
          input_data = next(data_generator)
  
      self.close_output()
  
      return_dict = {
          "data": self.return_objects,
          "filenames": self.return_filenames,
      }
      return return_dict
  
imports: import os
  import csv
  import numpy
  from collections import defaultdict
  from deepneuro.utilities.conversion import save_data
  from deepneuro.utilities.util import add_parameter, replace_suffix, nifti_splitext, additional_kwargs
  from deepneuro.utilities.visualize import check_data
label_desc: Use image node_id 5 for calling the Output obj's underlying member method code with example usage: obj.generate() and returns: return_dict, self