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 ).
#include <utilities/log.h>
#include <boost/python.hpp>
#include "utils.h"
namespace bp = boost::python;
namespace dp = dionysus::python;
void export_simplex();
void export_filtration();
void export_static_persistence();
void export_chain();
void export_birthid();
void export_zigzag_persistence();
void export_cohomology_persistence();
void export_point();
void export_persistence_diagram();
void export_rips();
void export_pairwise_distances();
#ifndef NO_CGAL
void export_alphashapes2d();
void export_alphashapes3d();
#endif
#ifdef LOGGING
void enable_log(std::string s)
{
stdoutLog.subscribeTo(RLOG_CHANNEL(s.c_str()));
}
#endif
BOOST_PYTHON_MODULE(_dionysus)
{
bp::to_python_converter<std::pair<double, bool>, dp::PairToTupleConverter<double, bool> >();
export_simplex();
export_filtration();
export_static_persistence();
export_chain();
export_point();
export_persistence_diagram();
export_birthid();
export_zigzag_persistence();
export_cohomology_persistence();
export_rips();
export_pairwise_distances();
#ifndef NO_CGAL
export_alphashapes2d();
export_alphashapes3d();
#endif
#ifdef LOGGING
bp::def("enable_log", &enable_log);
#endif
};