Shape Symmetry Descriptors
SGP 2004 Paper
Windows (x64) Executable
Source Code GitHub Repository
This distribution (part of the larger ShapeSPH package) provides the code for computing the symmetry descriptors for 3D models.
EXECUTABLE ARGUMENTS (ShapeSymmetry.exe)
- --in <source triangle mesh>
- This string is the the name of the mesh whose symmetry descriptors are to be computed. The file is assumed to be in PLY format.
- [--out <output descriptor header>]
- This optional string is the the header of the files to which the symmetry descriptors are written. Files are written out as spherical grids to the files <header>.ref.sgrid (the reflective symmetry descriptor), <header>.axial.sgrid (the axial symmetry descriptor), and <header>.rot.<rotation order>.sgrid (the rotational symmetry descriptors).
The descriptors are written out in binary, with the resolution (R) of the grid output first, followed by the (RxR) values. (See SignalProcessing/SphericalGrid.inl for details.) Values are sampled uniformly across longitude and lattitude, with the (i,j)-th sample residing at the point with spherical angles θ=2*π*i/R and φ=π*(2*j+1)/(2*R).
- [--res <voxel resolution>]
This optional integer specifies the resolution of the voxel grid into which the mesh is rasterized. The default value for this parameter is 64.
- [--threads <number of threads>]
This optional integer specifies the number of threads across which the solver should be parallelized. The default value for this parameter is the number of threads on the machine.
- [--radius <moment radius>]
This optional floating point value specifies the multiple of the second-order moment radius that should be used for defining the canonical isotropic scale of a shape. The default value for this parameter is 2.0.
- [--fallOff <Gaussian fall off>]
This optional floating point value specifies the radius of the Gaussian used to define Gaussian-EDT. The default value for this parameter is 2.828427.
- [--maxSym <maximum order of rotational symmetry>]
This optional integer specifies the largest order of rotational symmetry for which descriptors should be computed. The default value for this parameter is 6.
- If this optional argument is specified, the symmetry descriptors are computed by measuring the L2-distance between rotations of the shape's Gaussian-EDT. Otherwise, the symmetric sum-of-squared-distances is used.
- If this optional argument is specified, the computation is performed using double-precision arithmetic. Otherwise, single-precision arithmetic is used.
- If this optional argument is specified, the computation is run in "verbose" mode, outputting more information about the state of the computation of the shape descriptor.
- The executable provided up was compiled for a 64-bit OS and requires the FFTW .dlls to run.
- Compilation requires the FFTW libraries.
- The SpharmonicKit and SOFT source code is slightly modified from the original to support faster computation on purely real input.