code: def initialize(self, data_collection):
      super(SplitData, self).initialize(data_collection)
  
      # If input data is different shapes, providing an output shape
      # does not make too much sense here. Common problem in all
      # DeepNeuro
      for label, data_group in list(self.data_groups.items()):
          data_shape = list(data_group.get_shape())
          data_shape[-1] = len(self.label_splits)
          self.output_shape[label] = data_shape
  
imports: import subprocess
  import os
  import numpy
  import itertools
  from deepneuro.preprocessing.preprocessor import Preprocessor
  from deepneuro.utilities.util import add_parameter, quotes
label_desc: Use image node_id 2 for calling the SplitData obj's underlying member method code with example usage: obj.initialize(data_collection) without return types