summaryrefslogtreecommitdiff
path: root/src/Bottleneck_distance
diff options
context:
space:
mode:
authorcjamin <cjamin@636b058d-ea47-450e-bf9e-a15bfbe3eedb>2017-11-15 14:20:30 +0000
committercjamin <cjamin@636b058d-ea47-450e-bf9e-a15bfbe3eedb>2017-11-15 14:20:30 +0000
commit8428e315efa22a1b40eb996c98eff671f91a9b27 (patch)
treedc2a8813436d0decc171e6779ef4e1db8c89c212 /src/Bottleneck_distance
parent629542264458d2174ece2c18a490f63d1a231802 (diff)
Fixes according to Marc's review
git-svn-id: svn+ssh://scm.gforge.inria.fr/svnroot/gudhi/branches/add_utils_in_gudhi_v2@2881 636b058d-ea47-450e-bf9e-a15bfbe3eedb Former-commit-id: 84870193cb05cabd8c756a3bbc49083e4d739525
Diffstat (limited to 'src/Bottleneck_distance')
-rw-r--r--src/Bottleneck_distance/example/CMakeLists.txt12
-rw-r--r--src/Bottleneck_distance/example/README19
-rw-r--r--src/Bottleneck_distance/example/alpha_rips_persistence_bottleneck_distance.cpp (renamed from src/Bottleneck_distance/utilities/alpha_rips_persistence_bottleneck_distance.cpp)0
-rw-r--r--src/Bottleneck_distance/utilities/CMakeLists.txt11
-rw-r--r--src/Bottleneck_distance/utilities/README19
-rw-r--r--src/Bottleneck_distance/utilities/bottleneck_read_file_example.cpp (renamed from src/Bottleneck_distance/example/bottleneck_read_file_example.cpp)2
6 files changed, 36 insertions, 27 deletions
diff --git a/src/Bottleneck_distance/example/CMakeLists.txt b/src/Bottleneck_distance/example/CMakeLists.txt
index 6a602dbb..9677f5c5 100644
--- a/src/Bottleneck_distance/example/CMakeLists.txt
+++ b/src/Bottleneck_distance/example/CMakeLists.txt
@@ -3,15 +3,15 @@ project(Bottleneck_distance_examples)
if (NOT CGAL_VERSION VERSION_LESS 4.8.1)
add_executable (bottleneck_basic_example bottleneck_basic_example.cpp)
- add_executable (bottleneck_read_file_example bottleneck_read_file_example.cpp)
+ add_executable (alpha_rips_persistence_bottleneck_distance alpha_rips_persistence_bottleneck_distance.cpp)
+ target_link_libraries(alpha_rips_persistence_bottleneck_distance ${Boost_PROGRAM_OPTIONS_LIBRARY})
add_test(NAME Bottleneck_distance_example_basic COMMAND $<TARGET_FILE:bottleneck_basic_example>)
+ add_test(NAME Bottleneck_distance_example_alpha_rips_persistence_bottleneck
+ COMMAND $<TARGET_FILE:alpha_rips_persistence_bottleneck_distance>
+ "${CMAKE_SOURCE_DIR}/data/points/tore3D_1307.off" "-r" "0.15" "-m" "0.12" "-d" "3" "-p" "3")
- add_test(NAME Bottleneck_read_file_example
- COMMAND $<TARGET_FILE:bottleneck_read_file_example>
- "${CMAKE_SOURCE_DIR}/data/persistence_diagram/first.pers" "${CMAKE_SOURCE_DIR}/data/persistence_diagram/second.pers")
-
- install(TARGETS bottleneck_read_file_example DESTINATION bin)
install(TARGETS bottleneck_basic_example DESTINATION bin)
+ install(TARGETS alpha_rips_persistence_bottleneck_distance DESTINATION bin)
endif (NOT CGAL_VERSION VERSION_LESS 4.8.1)
diff --git a/src/Bottleneck_distance/example/README b/src/Bottleneck_distance/example/README
new file mode 100644
index 00000000..0e314608
--- /dev/null
+++ b/src/Bottleneck_distance/example/README
@@ -0,0 +1,19 @@
+# Bottleneck_distance #
+
+## `alpha_rips_persistence_bottleneck_distance` ##
+This program computes the persistent homology with coefficient field Z/pZ of a Rips complex defined on a set of input points. The output diagram contains one bar per line, written with the convention:
+
+`p dim b d`
+
+where `dim` is the dimension of the homological feature, `b` and `d` are respectively the birth and death of the feature, and `p` is the characteristic of the field *Z/pZ* used for homology coefficients.
+
+Usage:
+`alpha_rips_persistence_bottleneck_distance [options] <OFF input file>`
+
+Allowed options:
+
+* `-h [ --help ]` Produce help message
+* `-r [ --max-edge-length ]` (default = inf) Maximal length of an edge for the Rips complex construction.`
+* `-d [ --cpx-dimension ]` (default = 1) Maximal dimension of the Rips complex we want to compute.`
+* `-p [ --field-charac ]` (default = 11) Characteristic p of the coefficient field Z/pZ for computing homology.
+* `-m [ --min-persistence ]` (default = 0) Minimal lifetime of homology feature to be recorded. Enter a negative value to see zero length intervals.
diff --git a/src/Bottleneck_distance/utilities/alpha_rips_persistence_bottleneck_distance.cpp b/src/Bottleneck_distance/example/alpha_rips_persistence_bottleneck_distance.cpp
index fd164b22..fd164b22 100644
--- a/src/Bottleneck_distance/utilities/alpha_rips_persistence_bottleneck_distance.cpp
+++ b/src/Bottleneck_distance/example/alpha_rips_persistence_bottleneck_distance.cpp
diff --git a/src/Bottleneck_distance/utilities/CMakeLists.txt b/src/Bottleneck_distance/utilities/CMakeLists.txt
index 634b2479..decdc789 100644
--- a/src/Bottleneck_distance/utilities/CMakeLists.txt
+++ b/src/Bottleneck_distance/utilities/CMakeLists.txt
@@ -2,16 +2,15 @@ cmake_minimum_required(VERSION 2.6)
project(Bottleneck_distance_utilities)
if (NOT CGAL_WITH_EIGEN3_VERSION VERSION_LESS 4.8.1)
- add_executable (alpha_rips_persistence_bottleneck_distance alpha_rips_persistence_bottleneck_distance.cpp)
- target_link_libraries(alpha_rips_persistence_bottleneck_distance ${Boost_PROGRAM_OPTIONS_LIBRARY})
+ add_executable (bottleneck_read_file_example bottleneck_read_file_example.cpp)
if (TBB_FOUND)
target_link_libraries(alpha_rips_persistence_bottleneck_distance ${TBB_LIBRARIES})
endif(TBB_FOUND)
- add_test(NAME Bottleneck_distance_example_alpha_rips_persistence_bottleneck
- COMMAND $<TARGET_FILE:alpha_rips_persistence_bottleneck_distance>
- "${CMAKE_SOURCE_DIR}/data/points/tore3D_1307.off" "-r" "0.15" "-m" "0.12" "-d" "3" "-p" "3")
+ add_test(NAME Bottleneck_read_file_example
+ COMMAND $<TARGET_FILE:bottleneck_read_file_example>
+ "${CMAKE_SOURCE_DIR}/data/persistence_diagram/first.pers" "${CMAKE_SOURCE_DIR}/data/persistence_diagram/second.pers")
- install(TARGETS alpha_rips_persistence_bottleneck_distance DESTINATION bin)
+ install(TARGETS bottleneck_read_file_example DESTINATION bin)
endif (NOT CGAL_WITH_EIGEN3_VERSION VERSION_LESS 4.8.1)
diff --git a/src/Bottleneck_distance/utilities/README b/src/Bottleneck_distance/utilities/README
index 4c9b0735..cfdccf0b 100644
--- a/src/Bottleneck_distance/utilities/README
+++ b/src/Bottleneck_distance/utilities/README
@@ -1,19 +1,10 @@
# Bottleneck_distance #
-## `alpha_rips_persistence_bottleneck_distance` ##
-This program computes the persistent homology with coefficient field Z/pZ of a Rips complex defined on a set of input points. The output diagram contains one bar per line, written with the convention:
-
-`p dim b d`
-
-where `dim` is the dimension of the homological feature, `b` and `d` are respectively the birth and death of the feature, and `p` is the characteristic of the field *Z/pZ* used for homology coefficients.
+## `bottleneck_read_file_example` ##
+This program computes the Bottleneck distance between two persistence diagram files.
Usage:
-`alpha_rips_persistence_bottleneck_distance [options] <OFF input file>`
-
-Allowed options:
+`bottleneck_read_file_example <file_1.pers> <file_2.pers> [<tolerance>]`
-* `-h [ --help ]` Produce help message
-* `-r [ --max-edge-length ]` (default = inf) Maximal length of an edge for the Rips complex construction.`
-* `-d [ --cpx-dimension ]` (default = 1) Maximal dimension of the Rips complex we want to compute.`
-* `-p [ --field-charac ]` (default = 11) Characteristic p of the coefficient field Z/pZ for computing homology.
-* `-m [ --min-persistence ]` (default = 0) Minimal lifetime of homology feature to be recorded. Enter a negative value to see zero length intervals. \ No newline at end of file
+<file_1.pers> and <file_2.pers> must be in the format described [here](http://gudhi.gforge.inria.fr/doc/latest/fileformats.html#FileFormatsPers).
+<tolerance> is an error bound on the bottleneck distance (set by default to the smallest positive double value).
diff --git a/src/Bottleneck_distance/example/bottleneck_read_file_example.cpp b/src/Bottleneck_distance/utilities/bottleneck_read_file_example.cpp
index 24d73c57..9dd52b31 100644
--- a/src/Bottleneck_distance/example/bottleneck_read_file_example.cpp
+++ b/src/Bottleneck_distance/utilities/bottleneck_read_file_example.cpp
@@ -31,7 +31,7 @@
int main(int argc, char** argv) {
if (argc < 3) {
std::cout << "To run this program please provide as an input two files with persistence diagrams. Each file" <<
- " should contain a birth-death pair per line. Third, optional parameter is an error bound on a bottleneck" <<
+ " should contain a birth-death pair per line. Third, optional parameter is an error bound on the bottleneck" <<
" distance (set by default to the smallest positive double value). If you set the error bound to 0, be" <<
" aware this version is exact but expensive. The program will now terminate \n";
return -1;