code: def get_shape(self):
      # TODO: Add support for non-nifti files.
      # Also this is not good. Perhaps specify shape in input?
  
      if self.output_shape is None:
          if self.data == {}:
              print("No Data!")
              return (0,)
          elif self.base_shape is None:
              if self.source == "hdf5":
                  self.base_shape = self.data[0].shape
              else:
                  self.base_shape = read_image_files(
                      list(self.data.values())[0]
                  ).shape
              self.output_shape = self.base_shape
          else:
              return None
  
      return self.output_shape
  
file_path: DeepNeuro/deepneuro/data/data_group.py
imports: import numpy
  from deepneuro.utilities.conversion import read_image_files
label_desc: Use image node_id 3 for calling the DataGroup obj's underlying member method code with example usage: obj.get_shape() and returns: self, int, None