summaryrefslogtreecommitdiff
path: root/src/Gudhi_stat/utilities/Hausdorff_subsampling.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Gudhi_stat/utilities/Hausdorff_subsampling.cpp')
-rw-r--r--src/Gudhi_stat/utilities/Hausdorff_subsampling.cpp29
1 files changed, 27 insertions, 2 deletions
diff --git a/src/Gudhi_stat/utilities/Hausdorff_subsampling.cpp b/src/Gudhi_stat/utilities/Hausdorff_subsampling.cpp
index 5c3be0cc..b05a7adb 100644
--- a/src/Gudhi_stat/utilities/Hausdorff_subsampling.cpp
+++ b/src/Gudhi_stat/utilities/Hausdorff_subsampling.cpp
@@ -73,17 +73,42 @@ int main( int argc , char** argv )
points.push_back( point4 );
size_of_subsample = 2;
*/
-// std::vector< std::vector<double> > all_to_all_distance_matrix_between_points = compute_all_to_all_distance_matrix_between_points< std::vector<double> , Euclidean_distance<double> >( points );
+// std::vector< std::vector<double> > all_to_all_distance_matrix_between_points = compute_all_to_all_distance_matrix_between_points< std::vector<double> , Euclidean_distance >( points );
// Hausdorff_distance_between_subspace_and_the_whole_metric_space distance( all_to_all_distance_matrix_between_points );
std::cout << "Read : " << points.size() << " points.\n";
//comute all-to-all distance matrix:
- std::vector< std::vector<double> > all_to_all_distance_matrix_between_points = compute_all_to_all_distance_matrix_between_points< std::vector<double> , Euclidean_distance<double> >( points );
+ std::vector< std::vector<double> > all_to_all_distance_matrix_between_points = compute_all_to_all_distance_matrix_between_points< std::vector<double> , Euclidean_distance >( points );
Hausdorff_distance_between_subspace_and_the_whole_metric_space distance( all_to_all_distance_matrix_between_points );
identity< std::vector<size_t> > identity_char;
+
+ double max = -1;
+ for ( size_t i = 0 ; i != all_to_all_distance_matrix_between_points.size() ; ++i )
+ {
+ double min = 10000000;
+ for ( size_t j = 0 ; j != all_to_all_distance_matrix_between_points.size() ; ++j )
+ {
+ double distance = 0;
+ if ( i > j )
+ {
+ distance = all_to_all_distance_matrix_between_points[i][j];
+ }
+ else
+ {
+ if ( i < j )distance = all_to_all_distance_matrix_between_points[j][i];
+ }
+ if ( (distance < min)&&(distance != 0) )min = distance;
+ }
+ std::cerr << "min : " << min << std::endl;
+ //getchar();
+ if ( min > max )max = min;
+ }
+ std::cerr << "Max element in distance matrix : " << max << std::endl;
+ getchar();
+
// std::vector<size_t> characteristic_of_all_points = {0,1,2,3};
// std::vector<size_t> characteristic_of_subsampled_points = {2,3};
// std::cerr << "DISTANCE BETWEEN SAMPLE AND SUBSAMPLE: " << distance( characteristic_of_subsampled_points , characteristic_of_all_points ) << std::endl;