diff options
author | Vincent Rouvreau <10407034+VincentRouvreau@users.noreply.github.com> | 2022-06-24 14:26:00 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-06-24 14:26:00 +0200 |
commit | 9fc4f5e2ba50287979fc6e56708ec469d29c968c (patch) | |
tree | 2a8da721e11f78a4b54da99c15aade8ff9583cd0 /src/common | |
parent | bc683d3d9985cde2a2c80952971381d7c519db0a (diff) | |
parent | b829a198e16fbef4c0cb2698b2c723fa353aac55 (diff) |
Merge pull request #519 from Hind-M/cech_optimization
Cech optimization
Diffstat (limited to 'src/common')
-rw-r--r-- | src/common/doc/examples.h | 1 | ||||
-rw-r--r-- | src/common/doc/main_page.md | 4 | ||||
-rw-r--r-- | src/common/include/gudhi/distance_functions.h | 49 |
3 files changed, 2 insertions, 52 deletions
diff --git a/src/common/doc/examples.h b/src/common/doc/examples.h index 556a24f1..1634b19e 100644 --- a/src/common/doc/examples.h +++ b/src/common/doc/examples.h @@ -40,7 +40,6 @@ * @example edge_collapse_basic_example.cpp * \section Cech_complex_example_section Cech_complex * @example cech_persistence.cpp - * @example cech_complex_step_by_step.cpp * @example cech_complex_example_from_points.cpp * \section Bitmap_cubical_complex_example_section Bitmap_cubical_complex * @example periodic_cubical_complex_persistence.cpp diff --git a/src/common/doc/main_page.md b/src/common/doc/main_page.md index 4f2f1692..ce903405 100644 --- a/src/common/doc/main_page.md +++ b/src/common/doc/main_page.md @@ -180,8 +180,8 @@ <td width="15%"> <b>Author:</b> Vincent Rouvreau<br> <b>Introduced in:</b> GUDHI 2.2.0<br> - <b>Copyright:</b> MIT [(GPL v3)](../../licensing/)<br> - <b>Includes:</b> [Miniball](https://people.inf.ethz.ch/gaertner/subdir/software/miniball.html)<br> + <b>Copyright:</b> MIT [(LGPL v3)](../../licensing/)<br> + <b>Requires:</b> \ref cgal </td> </tr> <tr> diff --git a/src/common/include/gudhi/distance_functions.h b/src/common/include/gudhi/distance_functions.h index 9bbc62b7..5e5a1e31 100644 --- a/src/common/include/gudhi/distance_functions.h +++ b/src/common/include/gudhi/distance_functions.h @@ -13,8 +13,6 @@ #include <gudhi/Debug_utils.h> -#include <gudhi/Miniball.hpp> - #include <boost/range/metafunctions.hpp> #include <boost/range/size.hpp> @@ -59,53 +57,6 @@ class Euclidean_distance { } }; -/** @brief Compute the radius of the minimal enclosing ball between Points given by a range of coordinates. - * The points are assumed to have the same dimension. */ -class Minimal_enclosing_ball_radius { - public: - /** \brief Minimal_enclosing_ball_radius from two points. - * - * @param[in] point_1 First point. - * @param[in] point_2 second point. - * @return The minimal enclosing ball radius for the two points (aka. Euclidean distance / 2.). - * - * \tparam Point must be a range of Cartesian coordinates. - * - */ - template< typename Point > - typename std::iterator_traits<typename boost::range_iterator<Point>::type>::value_type - operator()(const Point& point_1, const Point& point_2) const { - return Euclidean_distance()(point_1, point_2) / 2.; - } - /** \brief Minimal_enclosing_ball_radius from a point cloud. - * - * @param[in] point_cloud The points. - * @return The minimal enclosing ball radius for the points. - * - * \tparam Point_cloud must be a range of points with Cartesian coordinates. - * Point_cloud is a range over a range of Coordinate. - * - */ - template< typename Point_cloud, - typename Point_iterator = typename boost::range_const_iterator<Point_cloud>::type, - typename Point = typename std::iterator_traits<Point_iterator>::value_type, - typename Coordinate_iterator = typename boost::range_const_iterator<Point>::type, - typename Coordinate = typename std::iterator_traits<Coordinate_iterator>::value_type> - Coordinate - operator()(const Point_cloud& point_cloud) const { - using Min_sphere = Miniball::Miniball<Miniball::CoordAccessor<Point_iterator, Coordinate_iterator>>; - - Min_sphere ms(boost::size(*point_cloud.begin()), point_cloud.begin(), point_cloud.end()); -#ifdef DEBUG_TRACES - std::clog << "Minimal_enclosing_ball_radius = " << std::sqrt(ms.squared_radius()) << " | nb points = " - << boost::size(point_cloud) << " | dimension = " - << boost::size(*point_cloud.begin()) << std::endl; -#endif // DEBUG_TRACES - - return std::sqrt(ms.squared_radius()); - } -}; - } // namespace Gudhi #endif // DISTANCE_FUNCTIONS_H_ |