code: def extract_feature_(self, persistence_diagram):
      n_dims = int(np.max(persistence_diagram[:, 2])) + 1
      feature = np.zeros(n_dims)
  
      for dim in range(n_dims):
          holes = list()
          for hole in persistence_diagram:
              if hole[1] - hole[0] != 0.0 and int(hole[2]) == dim:
                  holes.append(hole)
          if len(holes) != 0:
              feature[dim] = self.get_average_simultaneous_holes_(
                  np.array(holes)
              )
  
      return feature
  
imports: from abc import ABC
  import numpy
  import pandas
  from gtda.diagrams import Scaler, Filtering, PersistenceEntropy, PersistenceLandscape, BettiCurve
  from gtda.homology import VietorisRipsPersistence
label_desc: Use image node_id 4 for calling the SimultaneousAliveHolesFeature obj's underlying member method code with example usage: obj.extract_feature_(persistence_diagram) and returns: feature