Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
"""
# 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) 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