Spherical parameterization creates a continuous and uniform mapping from the object surface to the surface of a unit sphere, and its result is a bijective mapping between each point on a surface and a pair of spherical coordinates and :
The spherical parameterization method proposed with the original SPHARM paper [Brechb1995] aimed to create an equal area mapping as well as minimize angle distortions by solving a constrained optimization problem, which was implemented in SPHARM-PDM [Styner2006]. This traditional method has been very effective in analyzing small and moderately-sized structures extracted from volumetric images (e.g., MRI, CT). However, it is applicable only to voxel surfaces. CALD [Shen2006] is a newer method that extends the traditional method and can be applied to general triangular meshes. In SPHARM-MAT, an enhanced version of CALD method is available for analyzing triangular meshes (see Exercise 3.1 Surface Meshes (CALD) and Exercise 3.2 Voxel Surfaces (CALD)). In addition, SPHARM-PDM can also be called from SPHARM-MAT for analyzing voxel surfaces (see Exercise 3.3 Voxel Surfaces (PDM)).
The concept of area distortion cost introduced by [Shen2006] is employed as the performance measure in the following exercises. Let be a surface mesh in the object space and let be its spherical parameterization, which maps to the unit sphere .
is used to denote the relative area of a triangle or a spherical triangle:
The area distortion cost (ADC) with respect to is defined as follows:
For each triangle ,
This measures the local ADC of a single triangle.
For the whole parametric mesh ,
This measures the overall ADC for the whole mesh. By taking
as the ADC contribution from each triangle, we treat contraction and expansion equally, and so always have .
This exercise was tested on a WinXP machine (3GHz CPU, 3.25G RAM) running Matlab 7.7.0 (R2008b). It took a few minutes to finish.
Major Steps
Task
Create spherical parameterization for surface meshes
Input
SpharmMatDir/data/Ex0301/mesh01_obj/*_obj.mat: An input surface needs to be genus zero (i.e., with spherical topology), and can be represented by a triangulation or a quadrilateral mesh.
Output
SpharmMatDir/data/Ex0301/mesh02_smo/initParamCALD/*_ini.mat: Results of initial parameterization
SpharmMatDir/data/Ex0301/mesh02_smo/*_smo.mat: Results of optimized parameterization
Steps
Task
Visualize surface meshes in both object and parameter spaces
Input
SpharmMatDir/data/Ex0301/mesh02_smo/*_smo.mat or
SpharmMatDir/data/Ex0301/mesh02_smo/initParamCALD/*_ini.mat
Output
SpharmMatDir/data/Ex0301/mesh02_smo/PNG/*.png or
SpharmMatDir/data/Ex0301/mesh02_smo/initParamCALD/PNG/*.png
Steps
Notes
This exercise was tested on a WinXP machine (3GHz CPU, 3.25G RAM) running Matlab 7.7.0 (R2008b). It took 10-20 minutes to finish.
Major Steps
Task
Create spherical parameterization for voxel surfaces using CALD
Input
SpharmMatDir/data/Ex0302/hip02_fix/*_fix.mat: This folder is a copy of SpharmMatDir/data/Ex0201/hip02_fix/*_fix.mat. The surface of an input binary object needs to be genus zero (i.e., with spherical topology).
Output
SpharmMatDir/data/Ex0302/hip03_smo/initParamCALD/*_ini.mat: Results of initial parameterization
SpharmMatDir/data/Ex0302/hip03_smo/*_smo.mat: Results of optimized parameterization
Steps
Task
Visualize surface meshes in both object and parameter spaces
Input
SpharmMatDir/data/Ex0302/hip03_smo/*_smo.mat or
SpharmMatDir/data/Ex0302/hip03_smo/initParamCALD/*_ini.mat
Output
SpharmMatDir/data/Ex0302/hip03_smo/PNG/*.png or
SpharmMatDir/data/Ex0302/hip03_smo/initParamCALD/PNG/*.png
Steps
Notes
This exercise was tested on a WinXP machine (3GHz CPU, 3.25G RAM) running Matlab 7.7.0 (R2008b) and SPHARM-PDM (WinXP-v1.3). It took 30-40 minutes to parameterize all 40 objects.
Major Steps
Task
Create spherical parameterization for voxel surfaces using SPHARM-PDM
Input
SpharmMatDir/data/Ex0303/hip03_gipl_fix/*_fix.gipl: This folder is a copy of SpharmMatDir/data/Ex0202/hip03_gipl_fix/*_fix.gipl. The surface of an input binary object needs to be genus zero (i.e., with spherical topology).
Output
SpharmMatDir/data/Ex0303/hip04_meta/*.meta: Object and parameter meshes are stored in *_surf.meta and *_para.meta respectively.
Steps
Task
Convert META surface format generated by SPHARM-PDM to matlab format
Input
SpharmMatDir/data/Ex0303/hip04_meta/*.meta
Output
SpharmMatDir/data/Ex0303/hip05_smo/*_smo.mat
Steps
Task
Visualize surface meshes in both object and parameter spaces
Input
SpharmMatDir/data/Ex0303/hip05_smo/*_smo.mat
Output
SpharmMatDir/data/Ex0303/hip05_smo/PNG/*.png
Steps
Notes
Useful Tips