summaryrefslogtreecommitdiff
path: root/src/Witness_complex
diff options
context:
space:
mode:
authorcjamin <cjamin@636b058d-ea47-450e-bf9e-a15bfbe3eedb>2017-10-04 10:24:04 +0000
committercjamin <cjamin@636b058d-ea47-450e-bf9e-a15bfbe3eedb>2017-10-04 10:24:04 +0000
commit73efba37dfcab3f9b8589cb3b0b80f6d7dd7bd0b (patch)
tree8ed0cf77fafbf47f0cb5bdea97d49b6611a1ef48 /src/Witness_complex
parentf45959484fb85299d9ac60c43de9325e5c06e730 (diff)
Document utilies in README files using Markdown + move/rename some utilities
Only missing doc for now: Garland_heckbert git-svn-id: svn+ssh://scm.gforge.inria.fr/svnroot/gudhi/branches/add_utils_in_gudhi_v2@2752 636b058d-ea47-450e-bf9e-a15bfbe3eedb Former-commit-id: 7ba0113762b6622130835dc9e372acfae29c2db8
Diffstat (limited to 'src/Witness_complex')
-rw-r--r--src/Witness_complex/example/CMakeLists.txt21
-rw-r--r--src/Witness_complex/example/example_strong_witness_complex_off.cpp (renamed from src/Witness_complex/utilities/example_strong_witness_complex_off.cpp)0
-rw-r--r--src/Witness_complex/utilities/CMakeLists.txt26
-rw-r--r--src/Witness_complex/utilities/README72
-rw-r--r--src/Witness_complex/utilities/strong_witness_persistence.cpp (renamed from src/Witness_complex/utilities/example_strong_witness_persistence.cpp)0
-rw-r--r--src/Witness_complex/utilities/weak_witness_persistence.cpp (renamed from src/Witness_complex/example/example_witness_complex_persistence.cpp)0
6 files changed, 95 insertions, 24 deletions
diff --git a/src/Witness_complex/example/CMakeLists.txt b/src/Witness_complex/example/CMakeLists.txt
index f8527e0f..a8231392 100644
--- a/src/Witness_complex/example/CMakeLists.txt
+++ b/src/Witness_complex/example/CMakeLists.txt
@@ -14,25 +14,22 @@ install(TARGETS Witness_complex_example_nearest_landmark_table DESTINATION bin)
if (NOT CGAL_WITH_EIGEN3_VERSION VERSION_LESS 4.6.0)
add_executable( Witness_complex_example_off example_witness_complex_off.cpp )
add_executable ( Witness_complex_example_sphere example_witness_complex_sphere.cpp )
-
- add_executable ( Witness_complex_example_witness_persistence example_witness_complex_persistence.cpp )
- target_link_libraries(Witness_complex_example_witness_persistence ${Boost_PROGRAM_OPTIONS_LIBRARY})
-
- if (TBB_FOUND)
- target_link_libraries(Witness_complex_example_witness_persistence ${TBB_LIBRARIES})
- endif()
+
+ add_executable( Witness_complex_example_strong_off example_strong_witness_complex_off.cpp )
+ target_link_libraries(Witness_complex_example_strong_off)
add_test(NAME Witness_complex_example_off_test_torus
COMMAND $<TARGET_FILE:Witness_complex_example_off>
"${CMAKE_SOURCE_DIR}/data/points/tore3D_1307.off" "20" "1.0" "3")
add_test(NAME Witness_complex_example_test_sphere_10
COMMAND $<TARGET_FILE:Witness_complex_example_sphere> "10")
- add_test(NAME Witness_complex_example_test_torus_persistence
- COMMAND $<TARGET_FILE:Witness_complex_example_witness_persistence>
- "${CMAKE_SOURCE_DIR}/data/points/tore3D_1307.off" "-l" "20" "-a" "0.5")
-
+ add_test(NAME Witness_complex_example_strong_off_test_torus
+ COMMAND $<TARGET_FILE:Witness_complex_example_strong_off>
+ "${CMAKE_SOURCE_DIR}/data/points/tore3D_1307.off" "20" "1.0" "3")
+
install(TARGETS Witness_complex_example_off DESTINATION bin)
install(TARGETS Witness_complex_example_sphere DESTINATION bin)
- install(TARGETS Witness_complex_example_witness_persistence DESTINATION bin)
+ install(TARGETS Witness_complex_example_strong_off DESTINATION bin)
+
endif (NOT CGAL_WITH_EIGEN3_VERSION VERSION_LESS 4.6.0)
diff --git a/src/Witness_complex/utilities/example_strong_witness_complex_off.cpp b/src/Witness_complex/example/example_strong_witness_complex_off.cpp
index 0ee9ee90..0ee9ee90 100644
--- a/src/Witness_complex/utilities/example_strong_witness_complex_off.cpp
+++ b/src/Witness_complex/example/example_strong_witness_complex_off.cpp
diff --git a/src/Witness_complex/utilities/CMakeLists.txt b/src/Witness_complex/utilities/CMakeLists.txt
index 918ab864..125a41ff 100644
--- a/src/Witness_complex/utilities/CMakeLists.txt
+++ b/src/Witness_complex/utilities/CMakeLists.txt
@@ -3,24 +3,26 @@ project(Witness_complex_utilities)
# CGAL and Eigen3 are required for Euclidean version of Witness
if (NOT CGAL_WITH_EIGEN3_VERSION VERSION_LESS 4.6.0)
- add_executable( Witness_complex_example_strong_off example_strong_witness_complex_off.cpp )
- target_link_libraries(Witness_complex_example_strong_off)
+
+ add_executable ( Witness_complex_strong_witness_persistence strong_witness_persistence.cpp )
+ target_link_libraries(Witness_complex_strong_witness_persistence ${Boost_PROGRAM_OPTIONS_LIBRARY})
- add_executable ( Witness_complex_example_strong_witness_persistence example_strong_witness_persistence.cpp )
- target_link_libraries(Witness_complex_example_strong_witness_persistence ${Boost_PROGRAM_OPTIONS_LIBRARY})
+ add_executable ( Witness_complex_weak_witness_persistence weak_witness_persistence.cpp )
+ target_link_libraries(Witness_complex_weak_witness_persistence ${Boost_PROGRAM_OPTIONS_LIBRARY})
if (TBB_FOUND)
- target_link_libraries(Witness_complex_example_strong_witness_persistence ${TBB_LIBRARIES})
+ target_link_libraries(Witness_complex_strong_witness_persistence ${TBB_LIBRARIES})
+ target_link_libraries(Witness_complex_weak_witness_persistence ${TBB_LIBRARIES})
endif()
- add_test(NAME Witness_complex_example_strong_off_test_torus
- COMMAND $<TARGET_FILE:Witness_complex_example_strong_off>
- "${CMAKE_SOURCE_DIR}/data/points/tore3D_1307.off" "20" "1.0" "3")
- add_test(NAME Witness_complex_example_strong_test_torus_persistence
- COMMAND $<TARGET_FILE:Witness_complex_example_strong_witness_persistence>
+ add_test(NAME Witness_complex_strong_test_torus_persistence
+ COMMAND $<TARGET_FILE:Witness_complex_strong_witness_persistence>
+ "${CMAKE_SOURCE_DIR}/data/points/tore3D_1307.off" "-l" "20" "-a" "0.5")
+ add_test(NAME Witness_complex_weak_test_torus_persistence
+ COMMAND $<TARGET_FILE:Witness_complex_weak_witness_persistence>
"${CMAKE_SOURCE_DIR}/data/points/tore3D_1307.off" "-l" "20" "-a" "0.5")
- install(TARGETS Witness_complex_example_strong_off DESTINATION bin)
- install(TARGETS Witness_complex_example_strong_witness_persistence DESTINATION bin)
+ install(TARGETS Witness_complex_strong_witness_persistence DESTINATION bin)
+ install(TARGETS Witness_complex_weak_witness_persistence DESTINATION bin)
endif (NOT CGAL_WITH_EIGEN3_VERSION VERSION_LESS 4.6.0)
diff --git a/src/Witness_complex/utilities/README b/src/Witness_complex/utilities/README
new file mode 100644
index 00000000..d8dc9ca7
--- /dev/null
+++ b/src/Witness_complex/utilities/README
@@ -0,0 +1,72 @@
+# Witness_complex #
+
+## `weak_witness_persistence` ##
+This program computes the persistent homology with coefficient field *Z/pZ* of a Weak witness 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*
+`weak_witness_persistence [options] <OFF input file>`
+
+*Allowed options*
+
+* `-h [ --help ]` Produce help message
+* `-l [ --landmarks ]` Number of landmarks to choose from the point cloud.
+* `-o [ --output-file ]` Name of file in which the persistence diagram is written. By default, print in std::cout.
+* `-a [ --max-sq-alpha ]` (default = inf) Maximal squared relaxation parameter.
+* `-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.
+* `-d [ --cpx-dimension ]` (default = 2147483647) Maximal dimension of the weak witness complex we want to compute.
+
+*Example*
+`weak_witness_persistence data/points/tore3D_1307.off -l 20 -a 0.5 -m 0.006`
+
+outputs:
+```
+Successfully read 1307 points.
+Ambient dimension is 3.
+The complex contains 732 simplices and has dimension 8
+11 0 0 inf
+11 1 0 inf
+11 2 0.0275251 0.0534586
+11 1 0 0.0239952
+```
+
+N.B.: output is random as the 20 landmarks are chosen randomly.
+
+## `strong_witness_persistence` ##
+This program computes the persistent homology with coefficient field *Z/pZ* of a Strong witness 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*
+`strong_witness_persistence [options] <OFF input file>`
+
+*Allowed options*
+
+* `-h [ --help ]` Produce help message
+* `-l [ --landmarks ]` Number of landmarks to choose from the point cloud.
+* `-o [ --output-file ]` Name of file in which the persistence diagram is written. By default, print in std::cout.
+* `-a [ --max-sq-alpha ]` (default = inf) Maximal squared relaxation parameter.
+* `-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.
+* `-d [ --cpx-dimension ]` (default = 2147483647) Maximal dimension of the weak witness complex we want to compute.
+
+*Example*
+`strong_witness_persistence data/points/tore3D_1307.off -l 20 -a 0.5 -m 0.06`
+
+outputs:
+```
+Successfully read 1307 points.
+Ambient dimension is 3.
+The complex contains 1836 simplices and has dimension 8
+11 0 0 inf
+11 1 0.00674748 inf
+11 2 0.0937751 0.235354
+```
+
+N.B.: output is random as the 20 landmarks are chosen randomly.
diff --git a/src/Witness_complex/utilities/example_strong_witness_persistence.cpp b/src/Witness_complex/utilities/strong_witness_persistence.cpp
index f786fe7b..f786fe7b 100644
--- a/src/Witness_complex/utilities/example_strong_witness_persistence.cpp
+++ b/src/Witness_complex/utilities/strong_witness_persistence.cpp
diff --git a/src/Witness_complex/example/example_witness_complex_persistence.cpp b/src/Witness_complex/utilities/weak_witness_persistence.cpp
index a1146922..a1146922 100644
--- a/src/Witness_complex/example/example_witness_complex_persistence.cpp
+++ b/src/Witness_complex/utilities/weak_witness_persistence.cpp