Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix projection to the space of closed curves #1511

Open
ninamiolane opened this issue Apr 25, 2022 · 4 comments
Open

Fix projection to the space of closed curves #1511

ninamiolane opened this issue Apr 25, 2022 · 4 comments

Comments

@ninamiolane
Copy link
Collaborator

Where should the content be modified?

https://github.com/geomstats/geomstats/blob/master/geomstats/geometry/discrete_curves.py

What should be modified?

The following code:

from geomstats.geometry.discrete_curves import R2, ClosedDiscreteCurves,
CLOSED_CURVES_SPACE = ClosedDiscreteCurves(R2)
closed_curve = CLOSED_CURVES_SPACE.project(curve)

for the curve of 200 sampling points in 2D defined below, does not give a closed curve, but rather:

Curve:
image

Closed curve:
image

Additional information

curve:

[[ 1.88070983e-02  8.36082045e-02]
 [ 1.78089049e-02  8.35361140e-02]
 [ 1.67034181e-02  8.33113287e-02]
 [ 1.57070478e-02  8.30710431e-02]
 [ 1.47350419e-02  8.27563146e-02]
 [ 1.36655054e-02  8.23563798e-02]
 [ 1.26940841e-02  8.19265450e-02]
 [ 1.17705046e-02  8.14630126e-02]
 [ 1.08649099e-02  8.09204126e-02]
 [ 9.93160236e-03  8.03086104e-02]
 [ 8.87529193e-03  7.96680020e-02]
 [ 7.87255618e-03  7.89876034e-02]
 [ 6.92798380e-03  7.82835026e-02]
 [ 5.96251575e-03  7.75614352e-02]
 [ 4.95374179e-03  7.67411822e-02]
 [ 4.03663158e-03  7.59264618e-02]
 [ 2.90097405e-03  7.49206395e-02]
 [ 1.85904697e-03  7.39261696e-02]
 [ 8.81883555e-04  7.29036770e-02]
 [-1.39443626e-04  7.18765709e-02]
 [-1.25016609e-03  7.07799562e-02]
 [-2.30559128e-03  6.96963543e-02]
 [-3.32462273e-03  6.86908239e-02]
 [-4.34954495e-03  6.76257717e-02]
 [-5.45661176e-03  6.62553872e-02]
 [-6.47407899e-03  6.49161394e-02]
 [-7.52384937e-03  6.34870123e-02]
 [-8.54419476e-03  6.20716530e-02]
 [-9.50531567e-03  6.07582037e-02]
 [-1.05717918e-02  5.93924907e-02]
 [-1.16494966e-02  5.78994831e-02]
 [-1.28308537e-02  5.63119045e-02]
 [-1.41536850e-02  5.46374432e-02]
 [-1.55519062e-02  5.28708386e-02]
 [-1.68649710e-02  5.11080523e-02]
 [-1.81125309e-02  4.95730216e-02]
 [-1.90750818e-02  4.81226807e-02]
 [-2.01476622e-02  4.64860191e-02]
 [-2.11744693e-02  4.49096218e-02]
 [-2.21475795e-02  4.33522976e-02]
 [-2.30937304e-02  4.17522819e-02]
 [-2.40432894e-02  4.01467108e-02]
 [-2.48713780e-02  3.86364447e-02]
 [-2.57092476e-02  3.71404112e-02]
 [-2.64126888e-02  3.56112802e-02]
 [-2.69820586e-02  3.41374319e-02]
 [-2.75723079e-02  3.25395610e-02]
 [-2.82435747e-02  3.07744166e-02]
 [-2.89477309e-02  2.90838806e-02]
 [-2.95835877e-02  2.76024037e-02]
 [-3.01560920e-02  2.61415473e-02]
 [-3.07233744e-02  2.47382917e-02]
 [-3.13085922e-02  2.33280203e-02]
 [-3.18111803e-02  2.19131702e-02]
 [-3.23151985e-02  2.05099619e-02]
 [-3.28102761e-02  1.92625846e-02]
 [-3.32589439e-02  1.80566962e-02]
 [-3.36991359e-02  1.67680874e-02]
 [-3.40864254e-02  1.56276725e-02]
 [-3.44555669e-02  1.44486199e-02]
 [-3.48110455e-02  1.33412966e-02]
 [-3.51181443e-02  1.22618764e-02]
 [-3.53877136e-02  1.12034849e-02]
 [-3.55959563e-02  1.02317968e-02]
 [-3.56953966e-02  9.31877890e-03]
 [-3.57545509e-02  8.45747919e-03]
 [-3.57559847e-02  7.59542957e-03]
 [-3.56363783e-02  6.75138713e-03]
 [-3.53955550e-02  5.92841534e-03]
 [-3.51150349e-02  5.01003279e-03]
 [-3.48546221e-02  4.19685663e-03]
 [-3.45573332e-02  3.43946317e-03]
 [-3.41895442e-02  2.80739807e-03]
 [-3.36516002e-02  2.27874428e-03]
 [-3.30146852e-02  1.67827649e-03]
 [-3.24046973e-02  1.12414175e-03]
 [-3.17599696e-02  5.63817403e-04]
 [-3.10739829e-02  1.07279940e-05]
 [-3.03421089e-02 -5.82721170e-04]
 [-2.96008142e-02 -1.19233367e-03]
 [-2.89113239e-02 -1.73675177e-03]
 [-2.81467963e-02 -2.29904520e-03]
 [-2.73688772e-02 -2.82818777e-03]
 [-2.64930643e-02 -3.39262495e-03]
 [-2.55803542e-02 -3.90401557e-03]
 [-2.45774670e-02 -4.46393971e-03]
 [-2.36895561e-02 -5.03927604e-03]
 [-2.27885140e-02 -5.66399896e-03]
 [-2.17331548e-02 -6.33692903e-03]
 [-2.07214273e-02 -6.95104816e-03]
 [-1.97076826e-02 -7.42349836e-03]
 [-1.86565315e-02 -7.79153752e-03]
 [-1.75913071e-02 -8.08762034e-03]
 [-1.65512142e-02 -8.36362951e-03]
 [-1.55877462e-02 -8.60754696e-03]
 [-1.45837537e-02 -8.79170606e-03]
 [-1.34838486e-02 -8.99709385e-03]
 [-1.24911690e-02 -9.19093115e-03]
 [-1.15115134e-02 -9.36862124e-03]
 [-1.05129402e-02 -9.47772572e-03]
 [-9.39116407e-03 -9.49874418e-03]
 [-8.32060065e-03 -9.49757383e-03]
 [-7.16776631e-03 -9.48869542e-03]
 [-6.05039344e-03 -9.48549635e-03]
 [-4.91439556e-03 -9.34340267e-03]
 [-3.78204549e-03 -9.25035034e-03]
 [-2.57292931e-03 -9.10524529e-03]
 [-1.31340405e-03 -8.97276259e-03]
 [-3.06575480e-04 -8.84320022e-03]
 [ 6.64521117e-04 -8.70393084e-03]
 [ 1.81008036e-03 -8.54526533e-03]
 [ 2.92048240e-03 -8.34234878e-03]
 [ 4.05503165e-03 -8.04996411e-03]
 [ 5.20887668e-03 -7.71799409e-03]
 [ 6.27497991e-03 -7.31086663e-03]
 [ 7.28767983e-03 -6.88381361e-03]
 [ 8.50720243e-03 -6.32919308e-03]
 [ 9.61383776e-03 -5.79075790e-03]
 [ 1.06554198e-02 -5.15691824e-03]
 [ 1.17976111e-02 -4.46311269e-03]
 [ 1.29926644e-02 -3.77027534e-03]
 [ 1.42294020e-02 -3.00490110e-03]
 [ 1.55162032e-02 -2.20964907e-03]
 [ 1.67061145e-02 -1.39869578e-03]
 [ 1.77976813e-02 -5.64834661e-04]
 [ 1.89144978e-02  2.16716609e-04]
 [ 2.00170249e-02  1.05518988e-03]
 [ 2.12791394e-02  2.03990047e-03]
 [ 2.26503975e-02  2.97790095e-03]
 [ 2.39306489e-02  3.86208576e-03]
 [ 2.50747402e-02  4.79291825e-03]
 [ 2.60616420e-02  5.65216743e-03]
 [ 2.70855386e-02  6.58835193e-03]
 [ 2.80945368e-02  7.59514063e-03]
 [ 2.89515279e-02  8.66870212e-03]
 [ 2.98138573e-02  9.74309764e-03]
 [ 3.05845249e-02  1.06457581e-02]
 [ 3.13437658e-02  1.16490690e-02]
 [ 3.20415860e-02  1.27569849e-02]
 [ 3.26673867e-02  1.39014326e-02]
 [ 3.33456382e-02  1.50928377e-02]
 [ 3.39510948e-02  1.63053216e-02]
 [ 3.44723131e-02  1.74584502e-02]
 [ 3.49570845e-02  1.86339737e-02]
 [ 3.55067433e-02  1.98192213e-02]
 [ 3.60012125e-02  2.10804543e-02]
 [ 3.64704999e-02  2.23313623e-02]
 [ 3.69176854e-02  2.36726299e-02]
 [ 3.72655485e-02  2.50289601e-02]
 [ 3.76166916e-02  2.63676293e-02]
 [ 3.79856600e-02  2.76796399e-02]
 [ 3.83206788e-02  2.89927500e-02]
 [ 3.85918522e-02  3.02311724e-02]
 [ 3.87297037e-02  3.15387405e-02]
 [ 3.88074431e-02  3.28715352e-02]
 [ 3.88198774e-02  3.41596060e-02]
 [ 3.88141257e-02  3.53505106e-02]
 [ 3.87559939e-02  3.66467553e-02]
 [ 3.86720556e-02  3.80081254e-02]
 [ 3.86019270e-02  3.94660324e-02]
 [ 3.85020789e-02  4.10746021e-02]
 [ 3.84585164e-02  4.26057478e-02]
 [ 3.84481543e-02  4.41580257e-02]
 [ 3.83733980e-02  4.55699696e-02]
 [ 3.82740199e-02  4.70903666e-02]
 [ 3.81116922e-02  4.84168696e-02]
 [ 3.79376637e-02  4.96386948e-02]
 [ 3.76556261e-02  5.08909049e-02]
 [ 3.73205101e-02  5.23440658e-02]
 [ 3.69441421e-02  5.37555071e-02]
 [ 3.66711107e-02  5.50890148e-02]
 [ 3.63331675e-02  5.64873359e-02]
 [ 3.59339072e-02  5.78339505e-02]
 [ 3.55380435e-02  5.91848862e-02]
 [ 3.50505766e-02  6.03645126e-02]
 [ 3.44579179e-02  6.15596655e-02]
 [ 3.38611156e-02  6.27086848e-02]
 [ 3.32357182e-02  6.38390477e-02]
 [ 3.25496217e-02  6.49922258e-02]
 [ 3.17672727e-02  6.61917730e-02]
 [ 3.10476909e-02  6.74887460e-02]
 [ 3.03688744e-02  6.87366569e-02]
 [ 2.95912030e-02  7.01197279e-02]
 [ 2.87956662e-02  7.14089706e-02]
 [ 2.79489295e-02  7.25891889e-02]
 [ 2.71062888e-02  7.37040583e-02]
 [ 2.62816894e-02  7.47420535e-02]
 [ 2.55184840e-02  7.56573869e-02]
 [ 2.47746100e-02  7.65408753e-02]
 [ 2.40169204e-02  7.74370630e-02]
 [ 2.32314271e-02  7.83414218e-02]
 [ 2.24064045e-02  7.91942536e-02]
 [ 2.15399215e-02  7.99240669e-02]
 [ 2.06647599e-02  8.05348790e-02]
 [ 1.98012431e-02  8.10473261e-02]
 [ 1.88857202e-02  8.14750027e-02]
 [ 1.79011826e-02  8.18221719e-02]
 [ 1.69106839e-02  8.21506529e-02]
 [ 1.59367613e-02  8.24039786e-02]
 [ 1.49414872e-02  8.25909654e-02]]

closed_curve:

[[ 0.0188071   0.0836082 ]
 [ 0.01666495  0.08222567]
 [ 0.01666494  0.08222567]
 [ 0.01666494  0.08222567]
 [ 0.01666494  0.08222567]
 [ 0.01666494  0.08222567]
 [ 0.01666494  0.08222567]
 [ 0.01666494  0.08222567]
 [ 0.01666494  0.08222567]
 [ 0.01666494  0.08222567]
 [ 0.01666494  0.08222567]
 [ 0.01666494  0.08222567]
 [ 0.01666494  0.08222567]
 [ 0.01666494  0.08222567]
 [ 0.01666494  0.08222567]
 [ 0.01666494  0.08222567]
 [ 0.01666494  0.08222567]
 [ 0.01666494  0.08222567]
 [-0.0020193   0.07016639]
 [-0.0020193   0.07016639]
 [-0.00201932  0.0701664 ]
 [-0.00467692  0.06845198]
 [-0.00467693  0.06845198]
 [-0.01900513  0.0592046 ]
 [-0.01900513  0.0592046 ]
 [-0.02667735  0.05425278]
 [-0.02667735  0.05425278]
 [-0.02667735  0.05425278]
 [-0.02669453  0.0542417 ]
 [-0.0276038   0.05365512]
 [-0.0276038   0.05365512]
 [-0.03079736  0.05159399]
 [-0.03079787  0.05159367]
 [-0.03079787  0.05159367]
 [-0.03368665  0.04972939]
 [-0.03368665  0.04972939]
 [-0.03368665  0.04972939]
 [-0.03368665  0.04972939]
 [-0.03368665  0.04972939]
 [-0.03368665  0.04972939]
 [-0.03368665  0.04972939]
 [-0.03368666  0.04972938]
 [-0.03368671  0.04972935]
 [-0.03368671  0.04972935]
 [-0.03368671  0.04972935]
 [-0.03368671  0.04972935]
 [-0.03368672  0.04972935]
 [-0.03368673  0.04972935]
 [-0.03368673  0.04972935]
 [-0.03368673  0.04972935]
 [-0.03368673  0.04972935]
 [-0.03368674  0.04972935]
 [-0.03368674  0.04972935]
 [-0.03368675  0.04972936]
 [-0.03368675  0.04972936]
 [-0.03368675  0.04972936]
 [-0.03368675  0.04972935]
 [-0.03368675  0.04972935]
 [-0.03369085  0.04972671]
 [-0.03369085  0.04972671]
 [-0.03369085  0.04972671]
 [-0.03369085  0.04972671]
 [-0.03369085  0.04972671]
 [-0.03369085  0.04972671]
 [-0.03369085  0.04972671]
 [-0.03369085  0.04972671]
 [-0.03369085  0.04972671]
 [-0.0339678   0.04954802]
 [-0.05397603  0.03663427]
 [-0.05837294  0.03379774]
 [-0.05837316  0.03379759]
 [-0.05837316  0.03379759]
 [-0.05837316  0.03379759]
 [-0.05837316  0.03379759]
 [-0.05837316  0.03379759]
 [-0.05837316  0.03379759]
 [-0.05837316  0.03379759]
 [-0.05837316  0.03379759]
 [-0.05837316  0.03379759]
 [-0.05837316  0.03379759]
 [-0.05837316  0.03379759]
 [-0.05837319  0.03379761]
 [-0.05837319  0.03379761]
 [-0.05837319  0.03379761]
 [-0.06635663  0.02864502]
 [-0.07530695  0.02286839]
 [-0.07530695  0.02286839]
 [-0.07530695  0.02286839]
 [-0.07530695  0.02286839]
 [-0.07531644  0.02287452]
 [-0.08031152  0.01965069]
 [-0.08031152  0.01965069]
 [-0.08031152  0.01965069]
 [-0.08037552  0.01969206]
 [-0.08037552  0.01969206]
 [-0.08037552  0.01969206]
 [-0.08037552  0.01969206]
 [-0.08037552  0.01969206]
 [-0.08037552  0.01969206]
 [-0.08037557  0.01969209]
 [-0.08037557  0.01969209]
 [-0.08037557  0.01969209]
 [-0.08037558  0.01969209]
 [-0.08037558  0.01969209]
 [-0.08037558  0.01969209]
 [-0.08037558  0.01969209]
 [-0.08037558  0.01969209]
 [-0.08037558  0.01969209]
 [-0.08037558  0.01969209]
 [-0.08037558  0.01969209]
 [-0.08037558  0.01969209]
 [-0.08037558  0.01969209]
 [-0.08037558  0.01969209]
 [-0.08037558  0.01969209]
 [-0.08037558  0.01969209]
 [-0.08037558  0.01969209]
 [-0.08037558  0.01969209]
 [-0.08037558  0.01969209]
 [-0.08037558  0.01969209]
 [-0.08037558  0.01969209]
 [-0.08037558  0.01969209]
 [-0.08037558  0.01969209]
 [-0.08037558  0.01969209]
 [-0.08037948  0.01968957]
 [-0.08037948  0.01968957]
 [-0.08037948  0.01968957]
 [-0.08043869  0.01965136]
 [-0.08043869  0.01965136]
 [-0.08044362  0.01964818]
 [-0.08044863  0.01964494]
 [-0.08044863  0.01964494]
 [-0.08044866  0.01964496]
 [-0.08045102  0.01964649]
 [-0.08472367  0.02240827]
 [-0.09765255  0.03076171]
 [-0.11145509  0.03967995]
 [-0.12964098  0.05143455]
 [-0.13885728  0.05738847]
 [-0.15117041  0.06534751]
 [-0.15117041  0.06534751]
 [-0.15530002  0.06801684]
 [-0.15530002  0.06801684]
 [-0.15530002  0.06801684]
 [-0.15530002  0.06801684]
 [-0.15530002  0.06801684]
 [-0.15530003  0.06801684]
 [-0.15530003  0.06801684]
 [-0.15530003  0.06801684]
 [-0.15530003  0.06801684]
 [-0.15530003  0.06801684]
 [-0.15530003  0.06801684]
 [-0.15530004  0.06801685]
 [-0.15530004  0.06801685]
 [-0.15530004  0.06801685]
 [-0.15530004  0.06801685]
 [-0.15530004  0.06801685]
 [-0.15530005  0.06801684]
 [-0.15530233  0.06801831]
 [-0.15530233  0.06801831]
 [-0.15530233  0.06801831]
 [-0.15530233  0.06801831]
 [-0.15530233  0.06801831]
 [-0.15530233  0.06801831]
 [-0.15530233  0.06801831]
 [-0.15530233  0.06801831]
 [-0.15530233  0.06801831]
 [-0.15735895  0.06934768]
 [-0.16197098  0.07232717]
 [-0.16697367  0.07555898]
 [-0.17693382  0.08199687]
 [-0.18685278  0.0884072 ]
 [-0.19270255  0.09218661]
 [-0.19592607  0.09427025]
 [-0.19976418  0.09675115]
 [-0.19976419  0.09675115]
 [-0.19976419  0.09675115]
 [-0.19976419  0.09675115]
 [-0.19976419  0.09675115]
 [-0.19976419  0.09675115]
 [-0.19976419  0.09675115]
 [-0.19976419  0.09675115]
 [-0.19976419  0.09675115]
 [-0.19976419  0.09675115]
 [-0.19976419  0.09675115]
 [-0.19976419  0.09675115]
 [-0.19976419  0.09675115]
 [-0.19976419  0.09675115]
 [-0.19976419  0.09675115]
 [-0.19976419  0.09675115]
 [-0.19976419  0.09675115]
 [-0.19976419  0.09675115]
 [-0.19976419  0.09675115]
 [-0.19976427  0.0967512 ]
 [-0.19976427  0.0967512 ]
 [-0.19976427  0.0967512 ]
 [-0.19976427  0.0967512 ]
 [-0.19976427  0.0967512 ]
 [-0.19976427  0.0967512 ]
 [-0.19976427  0.0967512 ]
 [-0.19976427  0.0967512 ]]
@Hzaatiti
Copy link
Collaborator

Hi @ninamiolane , I am getting the orange points when using your code snippet and not the green one that you obtained,
image

Code:

`import matplotlib.pyplot as plt
import numpy as np

curve = np.array([[ 1.88070983e-02, 8.36082045e-02],
[ 1.78089049e-02, 8.35361140e-02],
[ 1.67034181e-02 , 8.33113287e-02],
[ 1.57070478e-02 ,8.30710431e-02],
[ 1.47350419e-02 ,8.27563146e-02],
[ 1.36655054e-02 ,8.23563798e-02],
[ 1.26940841e-02 ,8.19265450e-02],
[ 1.17705046e-02 ,8.14630126e-02],
[ 1.08649099e-02 ,8.09204126e-02],
[ 9.93160236e-03 ,8.03086104e-02],
[ 8.87529193e-03 ,7.96680020e-02],
[ 7.87255618e-03 ,7.89876034e-02],
[ 6.92798380e-03 ,7.82835026e-02],
[ 5.96251575e-03 ,7.75614352e-02],
[ 4.95374179e-03 ,7.67411822e-02],
[ 4.03663158e-03 ,7.59264618e-02],
[ 2.90097405e-03 ,7.49206395e-02],
[ 1.85904697e-03 ,7.39261696e-02],
[ 8.81883555e-04 ,7.29036770e-02],
[-1.39443626e-04 ,7.18765709e-02],
[-1.25016609e-03 ,7.07799562e-02],
[-2.30559128e-03 ,6.96963543e-02],
[-3.32462273e-03 ,6.86908239e-02],
[-4.34954495e-03 ,6.76257717e-02],
[-5.45661176e-03 ,6.62553872e-02],
[-6.47407899e-03 ,6.49161394e-02],
[-7.52384937e-03 ,6.34870123e-02],
[-8.54419476e-03 ,6.20716530e-02],
[-9.50531567e-03 ,6.07582037e-02],
[-1.05717918e-02 ,5.93924907e-02],
[-1.16494966e-02 ,5.78994831e-02],
[-1.28308537e-02 ,5.63119045e-02],
[-1.41536850e-02 ,5.46374432e-02],
[-1.55519062e-02 ,5.28708386e-02],
[-1.68649710e-02 ,5.11080523e-02],
[-1.81125309e-02 ,4.95730216e-02],
[-1.90750818e-02 ,4.81226807e-02],
[-2.01476622e-02 ,4.64860191e-02],
[-2.11744693e-02 ,4.49096218e-02],
[-2.21475795e-02 ,4.33522976e-02],
[-2.30937304e-02 ,4.17522819e-02],
[-2.40432894e-02 ,4.01467108e-02],
[-2.48713780e-02 ,3.86364447e-02],
[-2.57092476e-02 ,3.71404112e-02],
[-2.64126888e-02 ,3.56112802e-02],
[-2.69820586e-02 ,3.41374319e-02],
[-2.75723079e-02 ,3.25395610e-02],
[-2.82435747e-02 ,3.07744166e-02],
[-2.89477309e-02 ,2.90838806e-02],
[-2.95835877e-02 ,2.76024037e-02],
[-3.01560920e-02 ,2.61415473e-02],
[-3.07233744e-02 ,2.47382917e-02],
[-3.13085922e-02 ,2.33280203e-02],
[-3.18111803e-02 ,2.19131702e-02],
[-3.23151985e-02 ,2.05099619e-02],
[-3.28102761e-02 ,1.92625846e-02],
[-3.32589439e-02 ,1.80566962e-02],
[-3.36991359e-02 ,1.67680874e-02],
[-3.40864254e-02 ,1.56276725e-02],
[-3.44555669e-02 ,1.44486199e-02],
[-3.48110455e-02 ,1.33412966e-02],
[-3.51181443e-02 ,1.22618764e-02],
[-3.53877136e-02 ,1.12034849e-02],
[-3.55959563e-02, 1.02317968e-02],
[-3.56953966e-02, 9.31877890e-03],
[-3.57545509e-02, 8.45747919e-03],
[-3.57559847e-02, 7.59542957e-03],
[-3.56363783e-02, 6.75138713e-03],
[-3.53955550e-02, 5.92841534e-03],
[-3.51150349e-02, 5.01003279e-03],
[-3.48546221e-02, 4.19685663e-03],
[-3.45573332e-02, 3.43946317e-03],
[-3.41895442e-02, 2.80739807e-03],
[-3.36516002e-02, 2.27874428e-03],
[-3.30146852e-02, 1.67827649e-03],
[-3.24046973e-02, 1.12414175e-03],
[-3.17599696e-02, 5.63817403e-04],
[-3.10739829e-02, 1.07279940e-05],
[-3.03421089e-02, -5.82721170e-04],
[-2.96008142e-02, -1.19233367e-03],
[-2.89113239e-02, -1.73675177e-03],
[-2.81467963e-02, -2.29904520e-03],
[-2.73688772e-02, -2.82818777e-03],
[-2.64930643e-02, -3.39262495e-03],
[-2.55803542e-02, -3.90401557e-03],
[-2.45774670e-02, -4.46393971e-03],
[-2.36895561e-02, -5.03927604e-03],
[-2.27885140e-02, -5.66399896e-03],
[-2.17331548e-02, -6.33692903e-03],
[-2.07214273e-02, -6.95104816e-03],
[-1.97076826e-02, -7.42349836e-03],
[-1.86565315e-02, -7.79153752e-03],
[-1.75913071e-02, -8.08762034e-03],
[-1.65512142e-02, -8.36362951e-03],
[-1.55877462e-02, -8.60754696e-03],
[-1.45837537e-02, -8.79170606e-03],
[-1.34838486e-02, -8.99709385e-03],
[-1.24911690e-02, -9.19093115e-03],
[-1.15115134e-02, -9.36862124e-03],
[-1.05129402e-02, -9.47772572e-03],
[-9.39116407e-03, -9.49874418e-03],
[-8.32060065e-03, -9.49757383e-03],
[-7.16776631e-03, -9.48869542e-03],
[-6.05039344e-03, -9.48549635e-03],
[-4.91439556e-03, -9.34340267e-03],
[-3.78204549e-03, -9.25035034e-03],
[-2.57292931e-03, -9.10524529e-03],
[-1.31340405e-03, -8.97276259e-03],
[-3.06575480e-04, -8.84320022e-03],
[ 6.64521117e-04, -8.70393084e-03],
[ 1.81008036e-03, -8.54526533e-03],
[ 2.92048240e-03, -8.34234878e-03],
[ 4.05503165e-03, -8.04996411e-03],
[ 5.20887668e-03, -7.71799409e-03],
[ 6.27497991e-03, -7.31086663e-03],
[ 7.28767983e-03, -6.88381361e-03],
[ 8.50720243e-03, -6.32919308e-03],
[ 9.61383776e-03, -5.79075790e-03],
[ 1.06554198e-02, -5.15691824e-03],
[ 1.17976111e-02, -4.46311269e-03],
[ 1.29926644e-02, -3.77027534e-03],
[ 1.42294020e-02, -3.00490110e-03],
[ 1.55162032e-02, -2.20964907e-03],
[ 1.67061145e-02, -1.39869578e-03],
[ 1.77976813e-02, -5.64834661e-04],
[ 1.89144978e-02, 2.16716609e-04],
[ 2.00170249e-02, 1.05518988e-03],
[ 2.12791394e-02, 2.03990047e-03],
[ 2.26503975e-02, 2.97790095e-03],
[ 2.39306489e-02, 3.86208576e-03],
[ 2.50747402e-02, 4.79291825e-03],
[ 2.60616420e-02, 5.65216743e-03],
[ 2.70855386e-02, 6.58835193e-03],
[ 2.80945368e-02, 7.59514063e-03],
[ 2.89515279e-02, 8.66870212e-03],
[ 2.98138573e-02, 9.74309764e-03],
[ 3.05845249e-02, 1.06457581e-02],
[ 3.13437658e-02, 1.16490690e-02],
[ 3.20415860e-02, 1.27569849e-02],
[ 3.26673867e-02, 1.39014326e-02],
[ 3.33456382e-02, 1.50928377e-02],
[ 3.39510948e-02, 1.63053216e-02],
[ 3.44723131e-02, 1.74584502e-02],
[ 3.49570845e-02, 1.86339737e-02],
[ 3.55067433e-02, 1.98192213e-02],
[ 3.60012125e-02, 2.10804543e-02],
[ 3.64704999e-02, 2.23313623e-02],
[ 3.69176854e-02, 2.36726299e-02],
[ 3.72655485e-02, 2.50289601e-02],
[ 3.76166916e-02, 2.63676293e-02],
[ 3.79856600e-02, 2.76796399e-02],
[ 3.83206788e-02, 2.89927500e-02],
[ 3.85918522e-02, 3.02311724e-02],
[ 3.87297037e-02, 3.15387405e-02],
[ 3.88074431e-02, 3.28715352e-02],
[ 3.88198774e-02, 3.41596060e-02],
[ 3.88141257e-02, 3.53505106e-02],
[ 3.87559939e-02, 3.66467553e-02],
[ 3.86720556e-02, 3.80081254e-02],
[ 3.86019270e-02, 3.94660324e-02],
[ 3.85020789e-02, 4.10746021e-02],
[ 3.84585164e-02, 4.26057478e-02],
[ 3.84481543e-02, 4.41580257e-02],
[ 3.83733980e-02, 4.55699696e-02],
[ 3.82740199e-02, 4.70903666e-02],
[ 3.81116922e-02, 4.84168696e-02],
[ 3.79376637e-02, 4.96386948e-02],
[ 3.76556261e-02, 5.08909049e-02],
[ 3.73205101e-02, 5.23440658e-02],
[ 3.69441421e-02, 5.37555071e-02],
[ 3.66711107e-02, 5.50890148e-02],
[ 3.63331675e-02, 5.64873359e-02],
[ 3.59339072e-02, 5.78339505e-02],
[ 3.55380435e-02, 5.91848862e-02],
[ 3.50505766e-02, 6.03645126e-02],
[ 3.44579179e-02, 6.15596655e-02],
[ 3.38611156e-02, 6.27086848e-02],
[ 3.32357182e-02, 6.38390477e-02],
[ 3.25496217e-02, 6.49922258e-02],
[ 3.17672727e-02, 6.61917730e-02],
[ 3.10476909e-02, 6.74887460e-02],
[ 3.03688744e-02, 6.87366569e-02],
[ 2.95912030e-02, 7.01197279e-02],
[ 2.87956662e-02, 7.14089706e-02],
[ 2.79489295e-02, 7.25891889e-02],
[ 2.71062888e-02, 7.37040583e-02],
[ 2.62816894e-02, 7.47420535e-02],
[ 2.55184840e-02, 7.56573869e-02],
[ 2.47746100e-02, 7.65408753e-02],
[ 2.40169204e-02, 7.74370630e-02],
[ 2.32314271e-02, 7.83414218e-02],
[ 2.24064045e-02, 7.91942536e-02],
[ 2.15399215e-02, 7.99240669e-02],
[ 2.06647599e-02, 8.05348790e-02],
[ 1.98012431e-02, 8.10473261e-02],
[ 1.88857202e-02, 8.14750027e-02],
[ 1.79011826e-02, 8.18221719e-02],
[ 1.69106839e-02, 8.21506529e-02],
[ 1.59367613e-02, 8.24039786e-02],
[ 1.49414872e-02, 8.25909654e-02]])

projection = np.array([[ 0.0188071 , 0.0836082 ],
[0.01666495, 0.08222567],
[0.01666494, 0.08222567],
[0.01666494, 0.08222567],
[0.01666494, 0.08222567],
[0.01666494, 0.08222567],
[0.01666494, 0.08222567],
[0.01666494, 0.08222567],
[0.01666494, 0.08222567],
[0.01666494, 0.08222567],
[0.01666494, 0.08222567],
[0.01666494, 0.08222567],
[0.01666494, 0.08222567],
[0.01666494, 0.08222567],
[0.01666494, 0.08222567],
[0.01666494, 0.08222567],
[0.01666494, 0.08222567],
[0.01666494, 0.08222567],
[-0.0020193 , 0.07016639],
[-0.0020193 , 0.07016639],
[-0.00201932, 0.0701664 ],
[-0.00467692, 0.06845198],
[-0.00467693, 0.06845198],
[-0.01900513, 0.0592046 ],
[-0.01900513, 0.0592046 ],
[-0.02667735, 0.05425278],
[-0.02667735, 0.05425278],
[-0.02667735, 0.05425278],
[-0.02669453, 0.0542417 ],
[-0.0276038 , 0.05365512],
[-0.0276038 , 0.05365512],
[-0.03079736, 0.05159399],
[-0.03079787, 0.05159367],
[-0.03079787, 0.05159367],
[-0.03368665, 0.04972939],
[-0.03368665, 0.04972939],
[-0.03368665, 0.04972939],
[-0.03368665, 0.04972939],
[-0.03368665, 0.04972939],
[-0.03368665, 0.04972939],
[-0.03368665, 0.04972939],
[-0.03368666, 0.04972938],
[-0.03368671, 0.04972935],
[-0.03368671, 0.04972935],
[-0.03368671, 0.04972935],
[-0.03368671, 0.04972935],
[-0.03368672, 0.04972935],
[-0.03368673, 0.04972935],
[-0.03368673, 0.04972935],
[-0.03368673, 0.04972935],
[-0.03368673, 0.04972935],
[-0.03368674, 0.04972935],
[-0.03368674, 0.04972935],
[-0.03368675, 0.04972936],
[-0.03368675, 0.04972936],
[-0.03368675, 0.04972936],
[-0.03368675, 0.04972935],
[-0.03368675, 0.04972935],
[-0.03369085, 0.04972671],
[-0.03369085, 0.04972671],
[-0.03369085, 0.04972671],
[-0.03369085, 0.04972671],
[-0.03369085, 0.04972671],
[-0.03369085, 0.04972671],
[-0.03369085, 0.04972671],
[-0.03369085, 0.04972671],
[-0.03369085, 0.04972671],
[-0.0339678 , 0.04954802],
[-0.05397603, 0.03663427],
[-0.05837294, 0.03379774],
[-0.05837316, 0.03379759],
[-0.05837316, 0.03379759],
[-0.05837316, 0.03379759],
[-0.05837316, 0.03379759],
[-0.05837316, 0.03379759],
[-0.05837316, 0.03379759],
[-0.05837316, 0.03379759],
[-0.05837316, 0.03379759],
[-0.05837316, 0.03379759],
[-0.05837316, 0.03379759],
[-0.05837316, 0.03379759],
[-0.05837319, 0.03379761],
[-0.05837319, 0.03379761],
[-0.05837319, 0.03379761],
[-0.06635663, 0.02864502],
[-0.07530695, 0.02286839],
[-0.07530695, 0.02286839],
[-0.07530695, 0.02286839],
[-0.07530695, 0.02286839],
[-0.07531644, 0.02287452],
[-0.08031152, 0.01965069],
[-0.08031152, 0.01965069],
[-0.08031152, 0.01965069],
[-0.08037552, 0.01969206],
[-0.08037552, 0.01969206],
[-0.08037552, 0.01969206],
[-0.08037552, 0.01969206],
[-0.08037552, 0.01969206],
[-0.08037552, 0.01969206],
[-0.08037557, 0.01969209],
[-0.08037557, 0.01969209],
[-0.08037557, 0.01969209],
[-0.08037558, 0.01969209],
[-0.08037558, 0.01969209],
[-0.08037558, 0.01969209],
[-0.08037558, 0.01969209],
[-0.08037558, 0.01969209],
[-0.08037558, 0.01969209],
[-0.08037558, 0.01969209],
[-0.08037558, 0.01969209],
[-0.08037558, 0.01969209],
[-0.08037558, 0.01969209],
[-0.08037558, 0.01969209],
[-0.08037558, 0.01969209],
[-0.08037558, 0.01969209],
[-0.08037558, 0.01969209],
[-0.08037558, 0.01969209],
[-0.08037558, 0.01969209],
[-0.08037558, 0.01969209],
[-0.08037558, 0.01969209],
[-0.08037558, 0.01969209],
[-0.08037558, 0.01969209],
[-0.08037558, 0.01969209],
[-0.08037948, 0.01968957],
[-0.08037948, 0.01968957],
[-0.08037948, 0.01968957],
[-0.08043869, 0.01965136],
[-0.08043869, 0.01965136],
[-0.08044362, 0.01964818],
[-0.08044863, 0.01964494],
[-0.08044863, 0.01964494],
[-0.08044866, 0.01964496],
[-0.08045102, 0.01964649],
[-0.08472367, 0.02240827],
[-0.09765255, 0.03076171],
[-0.11145509, 0.03967995],
[-0.12964098, 0.05143455],
[-0.13885728, 0.05738847],
[-0.15117041, 0.06534751],
[-0.15117041, 0.06534751],
[-0.15530002, 0.06801684],
[-0.15530002, 0.06801684],
[-0.15530002, 0.06801684],
[-0.15530002, 0.06801684],
[-0.15530002, 0.06801684],
[-0.15530003, 0.06801684],
[-0.15530003, 0.06801684],
[-0.15530003, 0.06801684],
[-0.15530003, 0.06801684],
[-0.15530003, 0.06801684],
[-0.15530003, 0.06801684],
[-0.15530004, 0.06801685],
[-0.15530004, 0.06801685],
[-0.15530004, 0.06801685],
[-0.15530004, 0.06801685],
[-0.15530004, 0.06801685],
[-0.15530005, 0.06801684],
[-0.15530233, 0.06801831],
[-0.15530233, 0.06801831],
[-0.15530233, 0.06801831],
[-0.15530233, 0.06801831],
[-0.15530233, 0.06801831],
[-0.15530233, 0.06801831],
[-0.15530233, 0.06801831],
[-0.15530233, 0.06801831],
[-0.15530233, 0.06801831],
[-0.15735895, 0.06934768],
[-0.16197098, 0.07232717],
[-0.16697367, 0.07555898],
[-0.17693382, 0.08199687],
[-0.18685278, 0.0884072 ],
[-0.19270255, 0.09218661],
[-0.19592607, 0.09427025],
[-0.19976418, 0.09675115],
[-0.19976419, 0.09675115],
[-0.19976419, 0.09675115],
[-0.19976419, 0.09675115],
[-0.19976419, 0.09675115],
[-0.19976419, 0.09675115],
[-0.19976419, 0.09675115],
[-0.19976419, 0.09675115],
[-0.19976419, 0.09675115],
[-0.19976419, 0.09675115],
[-0.19976419, 0.09675115],
[-0.19976419, 0.09675115],
[-0.19976419, 0.09675115],
[-0.19976419, 0.09675115],
[-0.19976419, 0.09675115],
[-0.19976419, 0.09675115],
[-0.19976419, 0.09675115],
[-0.19976419, 0.09675115],
[-0.19976419, 0.09675115],
[-0.19976427, 0.0967512 ],
[-0.19976427, 0.0967512 ],
[-0.19976427, 0.0967512 ],
[-0.19976427, 0.0967512 ],
[-0.19976427, 0.0967512 ],
[-0.19976427, 0.0967512 ],
[-0.19976427, 0.0967512 ],
[-0.19976427, 0.0967512 ]])

from geomstats.geometry.discrete_curves import R2,ClosedDiscreteCurves
CLOSED_CURVES_SPACE = ClosedDiscreteCurves(R2)
closed_curve = CLOSED_CURVES_SPACE.project(curve)

plt.scatter(curve[:,0], curve[:,1])

plt.savefig("out.png")

plt.scatter(closed_curve[:,0], closed_curve[:,1])

plt.savefig("out3.png")

plt.scatter(projection[:,0],projection[:,1])

plt.savefig("out2.png")

print(closed_curve)`

@ninamiolane
Copy link
Collaborator Author

Interesting! I wonder if I made a mistake copy-pasting this snippet :/

In any case, you get the bug too: since the orange points do not form the closed version of the open blue curve.

Would you know where it is coming from?

@EBIluishauptmann
Copy link

Hello @ninamiolane,
I have the same bug in the CLOSED_CURVES_SPACE.projection(curve) function as described above.
I wanted to ask whether there is a solution or a way around this issue known.
Kind regards

@ninamiolane
Copy link
Collaborator Author

Hi @EBIluishauptmann which version of Geomstats are you using?

Two recommendations:

  • use the master version of geomstats
  • use float64 precision

I have not fully understood why the bug happens, but I have noticed in practice that the two bullet points above helped.

Send us your code snippet if you have a reproducible error, with the version you use, so that we can try to fix this?
Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants