Cleaned up Python bindings to restore functionality:
* StaticPersistence is iterable, its nodes are usable (sign, pair, cycle)
* StaticPersistence knows how to map its nodes into Filtration indices
* moved PythonCmp into utils.h
* minor cosmetic changes
from _dionysus import *
from distances import *
def init_with_data(self, v, d = None):
self._cpp_init_(v)
if d is not None:
self.data = d
def repr_with_data(self):
str = self._cpp_repr_()
if hasattr(self, 'data'):
str += ' %f' % self.data
return str
Simplex._cpp_init_ = Simplex.__init__
Simplex.__init__ = init_with_data
Simplex._cpp_repr_ = Simplex.__repr__
Simplex.__repr__ = repr_with_data
def data_cmp(s1, s2):
return cmp(s1.data, s2.data)
def data_dim_cmp(s1,s2):
dim_cmp = cmp(s1.dimension(), s2.dimension())
if dim_cmp: return dim_cmp
else: return data_cmp(s1,s2)