From c01bfb9543b1144e2c5adf291eac50c489c501b6 Mon Sep 17 00:00:00 2001 From: Arnur Nigmetov Date: Tue, 6 Mar 2018 22:09:20 +0100 Subject: Points with 0 persistence ignored in the input --- geom_matching/wasserstein/include/diagram_reader.h | 8 +- geom_matching/wasserstein/tests/data/test_diag1_A | 1 + geom_matching/wasserstein/tests/data/test_diag1_B | 1 + geom_matching/wasserstein/tests/data/test_diag2_A | 1 + geom_matching/wasserstein/tests/data/test_diag2_B | 1 + geom_matching/wasserstein/tests/data/test_diag3_A | 220 +++++++++++++++++++++ geom_matching/wasserstein/tests/data/test_diag3_B | 193 ++++++++++++++++++ geom_matching/wasserstein/tests/data/test_list.txt | 3 + 8 files changed, 427 insertions(+), 1 deletion(-) create mode 100644 geom_matching/wasserstein/tests/data/test_diag1_A create mode 100644 geom_matching/wasserstein/tests/data/test_diag1_B create mode 100644 geom_matching/wasserstein/tests/data/test_diag2_A create mode 100644 geom_matching/wasserstein/tests/data/test_diag2_B create mode 100644 geom_matching/wasserstein/tests/data/test_diag3_A create mode 100644 geom_matching/wasserstein/tests/data/test_diag3_B diff --git a/geom_matching/wasserstein/include/diagram_reader.h b/geom_matching/wasserstein/include/diagram_reader.h index 8d09c9b..5c690fa 100644 --- a/geom_matching/wasserstein/include/diagram_reader.h +++ b/geom_matching/wasserstein/include/diagram_reader.h @@ -151,7 +151,13 @@ bool read_diagram_point_set(const char* fname, ContType_& result, int& decPrecis x = parse_real_from_str(str_x); y = parse_real_from_str(str_y); - result.push_back(std::make_pair(x, y)); + if (x != y) { + result.push_back(std::make_pair(x, y)); + } else { +#ifndef FOR_R_TDA + std::cerr << "Warning: point with 0 persistence ignored in " << fname << ":" << lineNumber << "\n"; +#endif + } } catch (const std::invalid_argument& e) { #ifndef FOR_R_TDA diff --git a/geom_matching/wasserstein/tests/data/test_diag1_A b/geom_matching/wasserstein/tests/data/test_diag1_A new file mode 100644 index 0000000..f7f90ff --- /dev/null +++ b/geom_matching/wasserstein/tests/data/test_diag1_A @@ -0,0 +1 @@ +1.0 1.0 diff --git a/geom_matching/wasserstein/tests/data/test_diag1_B b/geom_matching/wasserstein/tests/data/test_diag1_B new file mode 100644 index 0000000..a167a4f --- /dev/null +++ b/geom_matching/wasserstein/tests/data/test_diag1_B @@ -0,0 +1 @@ +5.0 5.0 diff --git a/geom_matching/wasserstein/tests/data/test_diag2_A b/geom_matching/wasserstein/tests/data/test_diag2_A new file mode 100644 index 0000000..a167a4f --- /dev/null +++ b/geom_matching/wasserstein/tests/data/test_diag2_A @@ -0,0 +1 @@ +5.0 5.0 diff --git a/geom_matching/wasserstein/tests/data/test_diag2_B b/geom_matching/wasserstein/tests/data/test_diag2_B new file mode 100644 index 0000000..a167a4f --- /dev/null +++ b/geom_matching/wasserstein/tests/data/test_diag2_B @@ -0,0 +1 @@ +5.0 5.0 diff --git a/geom_matching/wasserstein/tests/data/test_diag3_A b/geom_matching/wasserstein/tests/data/test_diag3_A new file mode 100644 index 0000000..151d4b1 --- /dev/null +++ b/geom_matching/wasserstein/tests/data/test_diag3_A @@ -0,0 +1,220 @@ +1.391781911475341 1.391781911475341 +1.395142124726278 1.395142124726278 +1.514181227875788 1.514181227875788 +1.528291566797427 1.528291566797427 +1.585389310674157 1.585389310674157 +1.629232116709072 1.629232116709072 +1.641428662445941 1.641428662445941 +1.646998748860116 1.646998748860116 +1.652915988616469 1.652915988616469 +1.69199679556404 1.69199679556404 +1.705727462482595 1.705727462482595 +1.706819293048617 1.706819293048617 +1.720175733750729 1.720175733750729 +1.728031840308488 1.728031840308488 +1.73797421040929 1.73797421040929 +1.739519744204842 1.739519744204842 +1.76132425248022 1.76132425248022 +1.767766952966369 1.767766952966369 +1.792444271021371 1.792444271021371 +1.831487552809192 1.831487552809192 +1.837086616049901 1.837086616049901 +1.851186504948943 1.851186504948943 +1.860502132730509 1.860502132730509 +1.8619433117852 1.8619433117852 +1.878229072834972 1.878229072834972 +1.880655074837347 1.880655074837347 +1.883647832802556 1.883647832802556 +1.884127769927503 1.884127769927503 +1.892969784466709 1.892969784466709 +1.916936460787894 1.916936460787894 +1.931545068229315 1.931545068229315 +1.937626522143119 1.937626522143119 +1.942267721488891 1.942267721488891 +1.963295334827521 1.963295334827521 +1.975655395743736 1.975655395743736 +1.981448090925679 1.981448090925679 +1.986220565173897 1.986220565173897 +1.98709020812351 1.98709020812351 +1.989420269013254 1.989420269013254 +2.007874648480185 2.007874648480185 +2.012179388983059 2.012179388983059 +2.019051972834053 2.019051972834053 +2.023278848058142 2.023278848058142 +2.026190677562545 2.026190677562545 +2.041594763633561 2.041594763633561 +2.042508934597344 2.042508934597344 +2.04305394648524 2.04305394648524 +2.052514683218775 2.052514683218775 +2.059038785694094 2.059038785694094 +2.062577320792516 2.062577320792516 +2.063488177732052 2.063488177732052 +2.067806664626417 2.067806664626417 +2.073013782498534 2.073013782498534 +2.08646120854976 2.08646120854976 +2.098476357223667 2.098476357223667 +2.101378199886176 2.101378199886176 +2.101927506425904 2.101927506425904 +2.12671744783454 2.12671744783454 +2.143966150630584 2.143966150630584 +2.145312642688415 2.145312642688415 +2.148704396208969 2.148704396208969 +2.153092682531471 2.153092682531471 +2.157553654759374 2.157553654759374 +2.176659075756566 2.176659075756566 +2.177260578806816 2.177260578806816 +2.179141269427014 2.179141269427014 +2.201895416482074 2.201895416482074 +2.202563945779844 2.202563945779844 +2.205113735193028 2.205113735193028 +2.207345865351049 2.207345865351049 +2.208922099676958 2.208922099676958 +2.218057898922937 2.218057898922937 +2.228610453267036 2.228610453267036 +2.241314066596301 2.241314066596301 +2.242145210071643 2.242145210071643 +2.253976266568437 2.253976266568437 +2.255324860119305 2.255324860119305 +2.271300972641221 2.271300972641221 +2.279438361991067 2.279438361991067 +2.286592331830957 2.286592331830957 +2.287159411646074 2.287159411646074 +2.296653147995115 2.296653147995115 +2.301754785182811 2.301754785182811 +2.30409930499031 2.30409930499031 +2.32141477565108 2.32141477565108 +2.347789281926012 2.347789281926012 +2.347827987256373 2.347827987256373 +2.349391321950732 2.349391321950732 +2.350129292983257 2.350129292983257 +2.358679083392328 2.358679083392328 +2.372845273125388 2.372845273125388 +2.385040766846267 2.385040766846267 +2.42114588843816 2.42114588843816 +2.425116524931602 2.425116524931602 +2.426518521893022 2.426518521893022 +2.43211651886311 2.43211651886311 +2.441302771998711 2.441302771998711 +2.446429340510857 2.446429340510857 +2.446547553904861 2.446547553904861 +2.45764765793376 2.45764765793376 +2.461222149682938 2.461222149682938 +2.467900747394114 2.467900747394114 +2.473214152160872 2.473214152160872 +2.5 2.5 +2.503557913626332 2.503557913626332 +2.504315621146863 2.504315621146863 +2.515634290122204 2.515634290122204 +2.516231935083851 2.516231935083851 +2.517558892374071 2.517558892374071 +2.526325773757754 2.526325773757754 +2.531164001388939 2.531164001388939 +2.53128061055404 2.53128061055404 +2.539387277827314 2.539387277827314 +2.540864599180268 2.540864599180268 +2.548084457784768 2.548084457784768 +2.548923292215475 2.548923292215475 +2.551730202825644 2.551730202825644 +2.553178578801818 2.553178578801818 +2.560295747947446 2.560295747947446 +2.566321603108612 2.566321603108612 +2.568932286976676 2.568932286976676 +2.574887688783916 2.574887688783916 +2.581809142325336 2.581809142325336 +2.584541960262555 2.584541960262555 +2.585511915815223 2.585511915815223 +2.592970592044868 2.592970592044868 +2.596055336381078 2.596055336381078 +2.598560573626668 2.598560573626668 +2.614019084614256 2.614019084614256 +2.618463725327216 2.618463725327216 +2.622883674481145 2.622883674481145 +2.627791161528314 2.627791161528314 +2.63535653879261 2.63535653879261 +2.654825898255443 2.654825898255443 +2.660423271276714 2.660423271276714 +2.667148030102869 2.667148030102869 +2.67012591760915 2.67012591760915 +2.698712599567882 2.698712599567882 +2.72180967799905 2.72180967799905 +2.732466204434637 2.732466204434637 +2.734187392905275 2.734187392905275 +2.737296308103857 2.737296308103857 +2.745724923243991 2.745724923243991 +2.749541709159369 2.749541709159369 +2.752925621447035 2.752925621447035 +2.754183973113479 2.754183973113479 +2.763972022430258 2.763972022430258 +2.766941997926879 2.766941997926879 +2.773850925522978 2.773850925522978 +2.777506755238121 2.777506755238121 +2.780333194223143 2.780333194223143 +2.783060349483276 2.783060349483276 +2.78679029681548 2.78679029681548 +2.786792895521339 2.786792895521339 +2.795170825459034 2.795170825459034 +2.801104989227437 2.801104989227437 +2.80525433080833 2.80525433080833 +2.805376738133109 2.805376738133109 +2.806844454092663 2.806844454092663 +2.811611818684648 2.811611818684648 +2.811994908451803 2.811994908451803 +2.816002798930236 2.816002798930236 +2.816814002472584 2.816814002472584 +2.818569391261086 2.818569391261086 +2.821660827076439 2.821660827076439 +2.822317588351085 2.822317588351085 +2.824910409962511 2.824910409962511 +2.829322097471409 2.829322097471409 +2.833852169620359 2.833852169620359 +2.839287537694811 2.839287537694811 +2.841714730677953 2.841714730677953 +2.841715058318205 2.841715058318205 +2.851653306950001 2.851653306950001 +2.853639002902003 2.853639002902003 +2.85515962291442 2.85515962291442 +2.855333736885793 2.855333736885793 +2.872540314564304 2.872540314564304 +2.879449214478037 2.879449214478037 +2.881003856158217 2.881003856158217 +2.881074731438092 2.881074731438092 +2.893589165559115 2.893589165559115 +2.898664743213686 2.898664743213686 +2.90387832180792 2.90387832180792 +2.919095859678745 2.919095859678745 +2.924945175440496 2.924945175440496 +2.931795145696962 2.931795145696962 +2.932285006979528 2.932285006979528 +2.934606807227626 2.934606807227626 +2.936392671567475 2.936392671567475 +2.953794710898493 2.953794710898493 +2.958055395706548 2.958055395706548 +2.960407744013656 2.960407744013656 +2.960759715914242 2.960759715914242 +2.969702548922556 2.969702548922556 +2.970149844982665 2.970149844982665 +2.978953970679893 2.978953970679893 +2.979075864664287 2.979075864664287 +2.984665519558418 2.984665519558418 +3.04548240149063 3.04548240149063 +3.050688336416719 3.050688336416719 +3.05773927378742 3.05773927378742 +3.059596740753369 3.059596740753369 +3.059762479996741 3.059762479996741 +3.088543279751235 3.088543279751235 +3.093580813520995 3.093580813520995 +3.104787362108069 3.104787362108069 +3.173380191779681 3.173380191779681 +3.583124637167399 3.583124637167399 +3.630658112409034 3.630658112409034 +3.631421639368965 3.631421639368965 +3.751087101339956 3.751087101339956 +3.800845709568037 3.800845709568037 +3.846558940956666 3.846558940956666 +4 4 +4 4 +4.076238038291317 4.076238038291317 +4.455547086147983 4.455547086147983 +5.356087357608394 5.356087357608394 +5.54364842773721 5.54364842773721 +7.587654388717225 7.587654388717225 diff --git a/geom_matching/wasserstein/tests/data/test_diag3_B b/geom_matching/wasserstein/tests/data/test_diag3_B new file mode 100644 index 0000000..bb8655a --- /dev/null +++ b/geom_matching/wasserstein/tests/data/test_diag3_B @@ -0,0 +1,193 @@ +1.167089173446239 1.167089173446239 +1.256234452640111 1.256234452640111 +1.303693422257498 1.303693422257498 +1.413255970488646 1.413255970488646 +1.697910382446573 1.697910382446573 +1.718844728805093 1.718844728805093 +1.734124820632724 1.734124820632724 +1.749572938304276 1.749572938304276 +1.770320424526358 1.770320424526358 +1.786344763036807 1.786344763036807 +1.810054737907635 1.810054737907635 +1.815127306170105 1.815127306170105 +1.837806648681218 1.837806648681218 +1.870552189043019 1.870552189043019 +1.897240351979503 1.897240351979503 +1.935562152643027 1.935562152643027 +1.952562418976663 1.952562418976663 +1.959552126104175 1.959552126104175 +1.979899732318601 1.979899732318601 +2.00044500769347 2.00044500769347 +2.028951227523087 2.028951227523087 +2.037678749316724 2.037678749316724 +2.047911420446857 2.047911420446857 +2.075181804515723 2.075181804515723 +2.077245386452578 2.077245386452578 +2.084751316684838 2.084751316684838 +2.084860886126203 2.084860886126203 +2.103286477421968 2.103286477421968 +2.106856827309345 2.106856827309345 +2.113139266068691 2.113139266068691 +2.114594962503455 2.114594962503455 +2.115917727493158 2.115917727493158 +2.122335878797089 2.122335878797089 +2.127359082726206 2.127359082726206 +2.131673381033273 2.131673381033273 +2.155015793320908 2.155015793320908 +2.162480684365264 2.162480684365264 +2.195207236194009 2.195207236194009 +2.203279931784429 2.203279931784429 +2.205567995563669 2.205567995563669 +2.212933962936773 2.212933962936773 +2.215081271089993 2.215081271089993 +2.225989037578865 2.225989037578865 +2.24218929203347 2.24218929203347 +2.246321319993257 2.246321319993257 +2.280059407166517 2.280059407166517 +2.284117669032543 2.284117669032543 +2.293233992770926 2.293233992770926 +2.298815356955373 2.298815356955373 +2.300542634724628 2.300542634724628 +2.326408290042679 2.326408290042679 +2.328797162040625 2.328797162040625 +2.36025798094028 2.36025798094028 +2.365031313604634 2.365031313604634 +2.372266311053883 2.372266311053883 +2.400053902049271 2.400053902049271 +2.409134054334209 2.409134054334209 +2.411368235895246 2.411368235895246 +2.415934766378347 2.415934766378347 +2.420989857074179 2.420989857074179 +2.422520269961376 2.422520269961376 +2.43377629944218 2.43377629944218 +2.449308615746858 2.449308615746858 +2.452936540056068 2.452936540056068 +2.453698388060092 2.453698388060092 +2.454711357943602 2.454711357943602 +2.459202673400056 2.459202673400056 +2.493778305287384 2.493778305287384 +2.537394117473177 2.537394117473177 +2.544674753106669 2.544674753106669 +2.558904304820755 2.558904304820755 +2.563089994365716 2.563089994365716 +2.565476194422898 2.565476194422898 +2.599756049189921 2.599756049189921 +2.603619661709009 2.603619661709009 +2.609775379385211 2.609775379385211 +2.622552038976658 2.622552038976658 +2.623798471910885 2.623798471910885 +2.635711198661633 2.635711198661633 +2.644229304223612 2.644229304223612 +2.661919064427223 2.661919064427223 +2.666783921498494 2.666783921498494 +2.675503310152301 2.675503310152301 +2.684228699964661 2.684228699964661 +2.696854617267681 2.696854617267681 +2.700538654666735 2.700538654666735 +2.744886611436907 2.744886611436907 +2.748618547996708 2.748618547996708 +2.757981496641135 2.757981496641135 +2.774766825791652 2.774766825791652 +2.784491736143893 2.784491736143893 +2.796482184304273 2.796482184304273 +2.800849254751463 2.800849254751463 +2.816963410000067 2.816963410000067 +2.825207379914743 2.825207379914743 +2.831286409028398 2.831286409028398 +2.844827082550712 2.844827082550712 +2.853558438121966 2.853558438121966 +2.859806035663089 2.859806035663089 +2.878956033959891 2.878956033959891 +2.886422825109222 2.886422825109222 +2.891566924618832 2.891566924618832 +2.892028419188578 2.892028419188578 +2.893138900330932 2.893138900330932 +2.894250936382814 2.894250936382814 +2.90112201577666 2.90112201577666 +2.902172795370005 2.902172795370005 +2.90967533504119 2.90967533504119 +2.919687125962211 2.919687125962211 +2.923711238894001 2.923711238894001 +2.929041907338841 2.929041907338841 +2.938734873084349 2.938734873084349 +2.939642428979572 2.939642428979572 +2.943010909640486 2.943010909640486 +2.944210926048103 2.944210926048103 +2.951091358234723 2.951091358234723 +2.953950275008233 2.953950275008233 +2.966943157369611 2.966943157369611 +2.982522008227535 2.982522008227535 +2.992174049247434 2.992174049247434 +2.993098995839607 2.993098995839607 +2.995311055519335 2.995311055519335 +2.996708164866609 2.996708164866609 +2.999922110096644 2.999922110096644 +3 3 +3.000364533251431 3.000364533251431 +3.003840990677832 3.003840990677832 +3.006672301312824 3.006672301312824 +3.016489409140306 3.016489409140306 +3.021123787004333 3.021123787004333 +3.039117818612596 3.039117818612596 +3.039555193616473 3.039555193616473 +3.049952247267922 3.049952247267922 +3.057673482371216 3.057673482371216 +3.06920083507411 3.06920083507411 +3.075505231082782 3.075505231082782 +3.079038628197304 3.079038628197304 +3.084265889701239 3.084265889701239 +3.086837468106297 3.086837468106297 +3.103873984398081 3.103873984398081 +3.11528125482979 3.11528125482979 +3.119720021802376 3.119720021802376 +3.132543753577128 3.132543753577128 +3.141822873359038 3.141822873359038 +3.143502053175705 3.143502053175705 +3.153232877003746 3.153232877003746 +3.157586960809866 3.157586960809866 +3.157966892275408 3.157966892275408 +3.163583225161638 3.163583225161638 +3.178188125342772 3.178188125342772 +3.178475867931057 3.178475867931057 +3.179372297765929 3.179372297765929 +3.186437137237586 3.186437137237586 +3.188053957464282 3.188053957464282 +3.199351610026191 3.199351610026191 +3.204566427513051 3.204566427513051 +3.22885278850648 3.22885278850648 +3.229088648916556 3.229088648916556 +3.236685523936269 3.236685523936269 +3.239854786600373 3.239854786600373 +3.255809161351669 3.255809161351669 +3.287718056143732 3.287718056143732 +3.294038308299402 3.294038308299402 +3.313688277153076 3.313688277153076 +3.325783245946608 3.325783245946608 +3.331072954808429 3.331072954808429 +3.354962852285211 3.354962852285211 +3.357502741262644 3.357502741262644 +3.373668509804576 3.373668509804576 +3.408653045775418 3.408653045775418 +3.416281541503763 3.416281541503763 +3.443144279972986 3.443144279972986 +3.492970564191033 3.492970564191033 +3.493767805580122 3.493767805580122 +3.559084134799019 3.559084134799019 +3.559898699300211 3.559898699300211 +3.833585501974904 3.833585501974904 +4.099502076836052 4.099502076836052 +4.484082147277348 4.484082147277348 +4.505718324707756 4.505718324707756 +4.891723119528026 4.891723119528026 +5.065300494905414 5.065300494905414 +5.188599238535201 5.188599238535201 +5.36134479630535 5.36134479630535 +5.609786508140671 5.609786508140671 +7.08640314680382 7.08640314680382 +7.113765883549079 7.113765883549079 +7.328944131981744 7.328944131981744 +7.63625182217108 7.63625182217108 +7.716743341311718 7.716743341311718 +7.938093404092351 7.938093404092351 +8.112783377863046 8.112783377863046 +8.131485096731454 8.131485096731454 diff --git a/geom_matching/wasserstein/tests/data/test_list.txt b/geom_matching/wasserstein/tests/data/test_list.txt index b5ac730..27340d8 100644 --- a/geom_matching/wasserstein/tests/data/test_list.txt +++ b/geom_matching/wasserstein/tests/data/test_list.txt @@ -16,3 +16,6 @@ test_100_A test_100_B 3.0 1.0 2.556594741819 test_100_A test_100_B 1.0 2.0 31.7187555735287 test_100_A test_100_B 2.0 2.0 3.81132239777023 test_100_A test_100_B 3.0 2.0 2.09695346034248 +test_diag1_A test_diag1_B 1.0 -1.0 0.0 +test_diag2_A test_diag2_B 1.0 -1.0 0.0 +test_diag3_A test_diag3_B 1.0 -1.0 0.0 -- cgit v1.2.3