Shape Diameter Function

The Shape-Diameter Function (SDF) is a scalar function defined on the mesh surface. It expresses a measure of the diameter of the object’s volume in the neighborhood of each point on the surface. Using the SDF we have been able to segment 3D models, find skeletons for deformations and other applications, and perform part-retrieval (see bibliography).

The original SDF source code and application isn’t readily available anymore. SDF Has been implemented in CGAL, I suggest you start there…

Bibliography

SDF Source code download (mini application)

http://www.shiny.co.il/shooshx/mini_sdf/

Was also implemented as a filter in MeshLab – http://sourceforge.net/projects/meshlab/

SDF Application download

Instructions for downloading and running the demo application:

  1. Download the binary package: SDF_bin_pack4.rar
  2. Unrar it to its own directory.
  3. Download the visual studio sp1 runtime: http://www.shiny.co.il/shooshx/vcredist_vc2005_x86_sp1.exe and install it.
  4. Download the application configuration: http://www.shiny.co.il/shooshx/sdf_src/SDF_conf5.zip. This is a registry file. Import it to your registry by double-clicking.
  5. The application exe is called ‘sdf_bucket.exe’

Usage of the application is very simple

  • Open a model file (.off, .obj, .ply2) using “File->Open” or the sidebar file explorer
  • Calculate the SDF using the menu options “Tools->Calculate SDF Facets”
  • You can view the SDF values of the model by pressing “3” (the number keys switch between different coloring views of the model)
  • To segment the model press the “Partition Mesh” button: on the toolbar
  • to view the partitioning press “2”
  • You can tweak the partition parameters buy using the dialog box which opens when you select “Tools->Partition Parameters”
  • To save the partition, go to “File->Save mesh features” and in the dialog choose “OBJ with partition facets”

Leave a Reply