code: def initialize(self, data_collection):
      super(GetCentroid, self).initialize(data_collection)
  
      for label, data_group in list(self.data_groups.items()):
          data_shape = list(data_group.get_shape())
  
          if self.channels is None:
              self.output_shape[label] = (
                  len(data_shape) - 1,
                  self.max_centroid,
                  1,
              )
          else:
              if type(self.channels) is not list:
                  self.channels = [self.channels]
              self.output_shape[label] = (
                  len(data_shape) - 1,
                  self.max_centroid,
                  len(self.channels),
              )
  
file_path: DeepNeuro/deepneuro/preprocessing/classes.py
imports: import os
  import numpy
  from deepneuro.preprocessing.preprocessor import Preprocessor
  from deepneuro.utilities.util import add_parameter
label_desc: Use image node_id 2 for calling the GetCentroid obj's underlying member method code with example usage: obj.initialize(data_collection) without return types