@ARTICLE{Kindlmann2009, author = {Gordon L. Kindlmann and Ra{\'u}l San Jos{\'e} Est{\'e}par and Stephen M. Smith and Carl-Fredrik Westin}, title = {Sampling and Visualizing Creases with Scale-Space Particles}, journal = {IEEE Trans. Visualization and Computer Graphics}, month = {Nov/Dec}, year = {2009}, volume = {15}, number = {6}, pages = {1415--1424}, doi = {10.1109/TVCG.2009.177} }
The particle system is implemented in the "pull" library of Teem; a new version 1.11 will be released soon. The information below refers to the current trunk (SVN info Teem) as of 12 Dec 2009, but the same API will be in version 1.11.
A relatively easy way to access the information in Teem is via Python, and the automatically generated ctypes interface that permits Teem to be used from Python without having to compile any glue code (as with Swig or Cython). The examples below use the python wrappers in
These python programs assume (in their use of "import teem") that the location of the shared library for all of Teem, created by CMake, is in whatever library path variable your OS uses for this purpose.teem/python/ctypes/teem.py teem/python/ctypes/pullDemo.py
Mobius strip example This does not demonstrate scale-space behavior, but it does include a ridge surface sampling.
unu dice -i npos.nrrd -a 0 -o ./ unu jhisto -i 0.nrrd 1.nrrd -min -0.8 -0.8 \ -max 0.8 0.8 -b 300 300 -t float \ | unu 1op log1p \ | unu quantize -b 8 -o mobius.png
Variable width torus example
This uses the scale-space capability of the system, as well as the
approach of breaking up the computation into a first phase of using
Phi1 (for sampling across scales), then a short phase of using
alpha=0 (to attract to scale of maximal strength), and then a final
phase of using Phi2 to regularize the sampling density along
the ridge.
1. This is a confusing error for anyone trying to reproduce this work. On Page 6, 2nd column, the beginning of the paragraph containing Eqs. (25) and (26), the sentence that reads:
When using $\Phi_2$ to sample maximal strength creases, it is helpful to run the system until approximate convergence with $\gamma=0.0$ and $\alpha=1.0$, turning off all spatial interaction.should in fact read:
When using $\Phi_2$ to sample maximal strength creases, it is helpful to run the system until approximate convergence with $\alpha=0.0$ and $\beta=1.0$, turning off all spatial interaction.What really matters is that \alpha=0.0; this means that the only energy is due to particle-image interaction, rather than particle-particle interaction. The value of \gamma can be anything non-zero, for example \gamma=1.0. Once particles have settled on the scales of maximal strength, you can automatically compute \gamma with Eqs. (25) and (26).
2. On Page 9, bottom of 1st column, the funding sources that read:
Funding provided by NIH grants U41 RR019703, 5U01 HL089856-02, P41-RR13218, and R01-MH074794.should in fact read:
Funding provided by NIH grants U41-RR019703, U01-HL089856-02, P41-RR13218, and R01-MH074794.
3. On Page 10, Reference [58] that reads:
T. Schultz, H. Theisel, and H. Seidel. Crease surfaces: From theory to extraction and application to diffusion tensor MRI. IEEE Trans. on Visualization and Computer Graphics, (to appear), 2009. doi:10.1109/TVCG.2009.44.should in fact read:
T. Schultz, H. Theisel, and H-P. Seidel. Crease surfaces: From theory to extraction and application to diffusion tensor MRI. IEEE Trans. on Visualization and Computer Graphics, 16(1):109-119, Jan/Feb 2010.