docs: def transform(self, diagrams):
          """ Convert diagram or list of diagrams to a persistence image.
  
          Parameters
          -----------
  
          diagrams : list of or singleton diagram, list of pairs. [(birth, death)]
              Persistence diagrams to be converted to persistence images. It is assumed they are in (birth, death) format. Can input a list of diagrams or a single diagram.
  
          """
          # if diagram is empty, return empty image
          if len(diagrams) == 0:
              return np.zeros((self.nx, self.ny))
          # if first entry of first entry is not iterable, then diagrams is singular and we need to make it a list of diagrams
          try:
              singular = not isinstance(diagrams[0][0], collections.Iterable)
          except IndexError:
              singular = False
  
          if singular:
              diagrams = [diagrams]
  
          dgs = [np.copy(diagram, np.float64) for diagram in diagrams]
          landscapes = [PersImage.to_landscape(dg) for dg in dgs]
  
          if not self.specs:
              self.specs = {
                  "maxBD": np.max([np.max(np.vstack((landscape, np.zeros((1, 2))))) 
                                   for landscape in landscapes] + [0]),
                  "minBD": np.min([np.min(np.vstack((landscape, np.zeros((1, 2))))) 
                                   for landscape in landscapes] + [0]),
              }
          imgs = [self._transform(dgm) for dgm in landscapes]
  
          # Make sure we return one item.
          if singular:
              imgs = imgs[0]
  
          return imgs