Summary:The authors provide an ITK implementation of a weighted average filter for discrete spherical maps. The map data, sampled at the vertices of a spherical mesh, are iteratively replaced by the weighted average with their 1-ring neighbors.
Hypothesis:Iterative weighted averaging leads to smoothing of the spherical map, both for scalar and vector features.
Evidence:The authors provide example results that proof the desired smoothing in both settings, scalar and vectorial maps.
Open Science:All materials (source code and sample data) are provided.
Reproducibility:Routines to reproduce the content of the paper and the paper itself are provided.
Use of Open Source Software:n/a
Open source Contributions:Code usage is the main content of the paper.
Code Quality :n/a
Quality of the data :The authors provide "dirac"-impulses as test data sets (both for the scalar and vector cases). These dirac-impulses are necessary to visualize the impulse response of the smoothing filter.
Interest:The filter has been developed in the context of cortical surface maps, projected onto the sphere. It would have been of much interest to report on results obtained on those specific maps, as this would allow to effectively judge the quality of the proposed method and to compare to other existing smoothing methods.
Free comment :Unfortunately, the paper does not contain any detailed information about the theoretical background of the smoothing method. The single reference (Yeo, Sabuncu, Vercauteren et al. 2008) does not contain the advertised information on the smoothing part.
The proposed method, weighted averaging, is just one single special case of Laplacian-based mesh smoothing.
It might be very useful to put the method in its correct context, and to provide the theoretical foundations. Also, why choose exactly this method?
The authors might consider referring to the ground-breaking works of several "old" authors in the field: Taubin, Desbrun, Meyer, Polthier, to mention just a few.
In particular, it is not clear how the proposed smoothing method performs in presence of highly irregular sampling density of the spherical mesh (which is the case in the Freesurfer meshes that were used in [1]).
Also, the authors are using an explicit, forward Euler scheme, that is known to be sensitive to instability (although not necessarily in this configuration, as the step size is limited by the exponential and weight normalization). It would be interesting to see, whether an unconditionally stable (semi-)implicit, backward Euler scheme could speed up the smoothing process.
Detailed information about vector smoothing (parallel transport along geodesics) is missing completely.
Providing the missing information, thus completing the paper from a scientific point of view, would bring great benefit to the ITK community, whishing to use the provided code. It would also be particularly interesting to provide easy access to different smoothing schemes of that same structure (Laplacian-based).
---
The authors might be interested in our recent work on that same topic, the smoothing of cortical feature maps on the sphere :-)
<a href="http://dx.doi.org/10.1109/LSP.2009.2026195">http://dx.doi.org/10.1109/LSP.2009.2026195</a>
Comment by Luis Ibanez: Clarifications on the background of the Smoothing method
With regards to the theoretical basis of iterative smoothing, we consider iterative smoothing to be an approximation of spline interpolation on the sphere.
Grace Wahba solved the spline interpolation problem for S^n for any suitably defined Sobolev family of scalar functions on the sphere [1]. This involves the solution of a large (not necessarily sparse) system of linear equations, which corresponds to a weighted average of surrounding points. We approximate this weighted average, by iterative smoothing, a common practice in Euclidean space, where a convolution kernel is approximated by iterative smoothing.
Joan Glaunes extends the spline interpolation solution from scalar function to tangent vectors field for the case of S^2 [2]. Once again, this involves the solution of a large (not necessarily sparse) system of linear equations. Unfortunately, in this case, the resulting solution is NOT a weighted average of parallel-transported vectors. Nevertheless, we approximate the result of the spherical vector spline interpolation problem via iterative smoothing of parallel-transported vectors. We compute a bound on the deviation of the results of iterative smoothing from that of the true solution, and test the results on subdivided icosahedron meshes. More details can be found in [3].
With regards to practical results on less regular meshes (such as FreeSurfer), iterative smoothing appears to work fine on the FreeSurfer meshes. In fact, FreeSurfer uses iterative smoothing in some of its functions.
The review also raises the question of why this specific method was the
method of choice. Given that ITK is a toolkit, there is no reason why we
couldn't add other alternative smoothing methods. In particular, if there
are other method that can be considered to be advantageous from other points
of view. We encourage the reviewer to contribute the source code of any other
alternative method to the Insight Journal as well.
[1] G. Wahba, Spline Interpolation and Smoothing on the Sphere, SIAM Journal of Scientific and Statistical Computing 2(1):5--12, 1981.
[2] J. Glaunes, M. Vaillant, M. Miller. Landmark Matching via Large Deformation Diffeomorphisms on the Sphere. Journal of Mathematical Imaging and Vision, 20:179--200, 2004.
[3] B.T.T Yeo, M. Sabuncu, T. Vercauteren, N. Ayache, B. Fischl, P. Golland. Spherical Demons: Fast Diffeomorphic Landmark-Free Surface Registration, Under Review (http://people.csail.mit.edu/ythomas/publications/2008SphericalDemons-Draft.pdf).