Entropic Metric Alignment for Correspondence Problems

SIGGRAPH 2016


Reviews

Information

  • Paper topic: Geometry
  • Software type: Code
  • Able to run a replicability test: True
  • Replicability score: 5
  • Software language: Matlab / Mathematica / ..
  • License: unspecified
  • Build mechanism: Not applicable (python, Matlab..)
  • Dependencies: matlab / cvx / labelpoints / toolbox_fast_marching
  • Documentation score {0,1,2}: 0
  • Reviewer: Nicolas Bonneel <nicolas.bonneel@liris.cnrs.fr>
  • Time spent for the test (build->first run, timeout at 100min): 80min

Source code information

Comments

The code would be a model in term of replicability as there is one matlab file for each figure in the paper.
To install the code, put the toolbox_fast_marching directory and labelpoints.m inside the external folder, and for some matlab files, install the CVX toolbox, which is done easily. You may need to recompile the toolbox_fast_marching in 64bits, which can be done by running compile_mex from the toolbox folder. 

However, for the toolbox to compile, you will need to change 
int dims[3] = {n,p,q};
to
mwSize dims[3] = {n,p,q};
in perform_front_propagation_3d_mex.cpp, line 86.

Also in compile_mex.m, you need to change line 7, from
mex mex/anisotropic-fm//perform_front_propagation_anisotropic.cpp
to
mex mex/perform_front_propagation_anisotropic.cpp
Also, in perform_front_propagation_anisotropic.cpp, lines 2-3, change 
#include "anisotropic-fm/AnisotropicTensorDistance.h"
#include "anisotropic-fm/AnisotropicTensorDistanceConfidence.h"
to
#include "anisotropic-fm-feth/AnisotropicTensorDistance.h"
#include "anisotropic-fm-feth/AnisotropicTensorDistanceConfidence.h"
and more importantly download these missing files at http://read.pudn.com/downloads144/sourcecode/windows/system/627786/toolbox_fast_marching/mex/anisotropic-fm/AnisotropicTensorDistance.h__.htm
http://read.pudn.com/downloads144/sourcecode/windows/system/627786/toolbox_fast_marching/mex/anisotropic-fm/AnisotropicTensorDistanceConfidence.h__.htm

Beware the version at
https://gforge.inria.fr/scm/viewvc.php/gcm/src/AnisotropicTensorDistanceConfidence.h?revision=10&view=co
does not contain the appropriate constructor that takes a voronoi map as input.

Similarly, the missing GenericPradosSchemesForFastMarching_3D.h , Globals.h , FastMarching_WithOptimalDynamics.h , FastMarching.h, PriorityQueue.h can be downloaded at 
http://read.pudn.com/downloads144/sourcecode/windows/system/627786/toolbox_fast_marching/mex/anisotropic-fm/GenericPradosSchemesForFastMarching_3D.h__.htm
https://gforge.inria.fr/scm/viewvc.php/gcm/src/Globals.h?revision=10&view=co
http://read.pudn.com/downloads144/sourcecode/windows/system/627786/toolbox_fast_marching/mex/anisotropic-fm/FastMarching_WithOptimalDynamics.h__.htm
http://read.pudn.com/downloads144/sourcecode/windows/system/627786/toolbox_fast_marching/mex/anisotropic-fm/FastMarching.h__.htm
and be put in the same directory.

- in perform_front_propagation_anisotropic.cpp line 45, replace
int dims[3] = {w, h, d};
by
mwSize dims[3] = {w, h, d};

- in fm2dAniso.cpp line 15, replace
const int* dim_h = mxGetDimensions(prhs[0]);
by
const mwSize* dim_h = mxGetDimensions(prhs[0]);

- in fm2dAniso.cpp line 45:
int dims[2] = {Nx,Ny};
to
mwSize dims[2] = {Nx,Ny};

The necessary "data" folder is only available upon request due to copyrighted materials. We did not contact authors in such cases.
In practice, the following codes run without data folder: generateConvexFigure, generateInitialGuessFigure2, generateTimingFigure, testGWComputation2d, testNNMF, testPartial2DMatch (out of 33 test files).
When running generateMeshExampleFigure with my own .off files, I run into an "Undefined function 'sparse' for input arguments of type 'int64') which can be solved by addin "|| ...
   strcmp(version,'9.4.0.813654 (R2018a)')" in line 54 of cotLaplacian.m (or type 'version' to know your matlab version).

After that, the code works well and results in reasonables mappings.