Added extra functionality to Point class( an iterator ) and PersistenceDiagram( dimension property and __len__ func ).
persistence-diagram.h:
Added a new read-only dimension member and member function to access it.
With a new constructor that that takes in an int type to initialize dimension.
persistence-diagram.cpp:
Added new bp::init constructor. Takes in an integer type to initialize the dimension. Exposed the dimension property. Exposed the size property via a __len__ method.
__init__.py:
Added an iterator for Point objects. This iterates over the coords and then the data( if present ).
def add_simplices(zz, simplices, complex, birth, report_local = False):
deaths = []
for s in simplices:
i,d = zz.add([complex[sb] for sb in s.boundary], (s.dimension(), birth))
complex[s] = i
if d is not None:
if report_local or not d[1] == birth:
deaths.append(d)
return deaths
def remove_simplices(zz, simplices, complex, birth, report_local = False):
deaths = []
for s in simplices:
d = zz.remove(complex[s], (s.dimension() - 1, birth))
complex[s] = None
if d is not None:
if report_local or not d[1] == birth:
deaths.append(d)
return deaths