llorz / SGA18_orientation_BCICP_code

code for paper "Continuous and Orientation-preserving Correspondence via Functional Maps"
https://arxiv.org/pdf/1806.04455.pdf
34 stars 10 forks source link

Undefined function or variable 'fastmarchmex'. #1

Closed Myzhencai closed 5 years ago

Myzhencai commented 5 years ago

hi. thanks for sharing this awesome woke . I get a issue as the title , I am not familiar with the code could you please help me out . :- ) thanks .Have a nice day. @llorz screenshot from 2019-01-27 16-06-15

llorz commented 5 years ago

Hi @Myzhencai,

Sorry for the late reply!

So here, the code is trying to compute the pairwise geodesic distance of all vertices of a shape S, and save the distance matrix to S.Gamma, where S.Gamma( i , j ) gives the geodesic distance between the i-th vertex and the j-th vertex.

I only have the mex file for the fast-marching algorithm in windows, that's why it does not work for your linux. Here are some possible solutions:

  1. ~try windows~
  2. You can use some approximate distance matrix to get the code work first. For example, you can save the pairwise Euclidean distance (use MATLAB pdist) to S.Gamma, in this case, the code should work, but the quality can be worse I assume.
  3. In the directory: "/utils/external/geodesics_matlab/" there are mex file to compute geodesic distances that works for linux and can be used to compute S.Gamma.

Hope this helps! Please let me know there is anything unclear :D have a nice day :)

Myzhencai commented 5 years ago

@llorz :-),thanks for help . I have made it in windows.Best wish from China .

rFalque commented 4 years ago

The linux version of the fastmarchmex can be found there: https://github.com/abbasloo/dnnAuto/blob/master/preprocessing/isc/fastmarchmex.mexa64

It is substantially faster than the geodesic computation from /utils/external/geodesics_matlab/ (from 40 minutes-ish to few minutes).

Thanks for sharing your code :)

llorz commented 4 years ago

Thank you so much for sharing this! @rFalque Raphael Falque