Keywords

1 Introduction

Morphometric analysis is very important in many biomedical applications and clinical diagnoses. In general, there are two types of methods for mapping two shapes: spatial registration methods and spectral methods. Spatial registration methods usually require landmarks to map two shapes [1, 2] which are often labor-intensive for users to define those large number of landmarks. It becomes even more challenging when the landmarks are difficult to define complicated shapes, such as hippocampus [3], heart, etc. Spectral methods, on the other hand, do not need any landmarks. Shape spectrum is a method inspired by Fourier transform in signal processing. From the computational geometry aspect, the shape geometry can be described with the differentiable manifold. Along this direction, Reuter et al. [4] and Levy [5] defined shape spectrum, using the shape spectrum approach, as the eigenvalues of the Laplace-Beltrami operator on a manifold and employed the eigenvalues and eigenfunctions as a global shape descriptor [6, 7]. Konukoglu et al. [8] measured shape differences by using the weighted spectral distance. There are some great advantages for shape analysis using shape spectrum as it is invariant to isometric deformation [9], different triangulations and meshing [4]. It carries the intrinsic geometry of manifold. As the shape geometry changes, the shape spectrum will change as well. Therefore, the similarity and difference among shapes can be described using this method. However, through the direct use of the decomposed eigenvalues and eigenfunctions [10], these spectral methods can only describe the global difference between shapes. They are neither able to localize the shape difference nor sensitive to small deformations. The variation of shape spectrum is less studied in the literature. A recent study shows that the shape spectrum can be controlled using a function on the Riemann metric [11] but shape difference defined by eigenvalue variations is never explored.

In this paper we focus on spectrum alignment of general shapes using the eigenvalue variation and present a spectral geometry method for localizing and quantifying non-isometric deformations between surface shapes. In our approach, shapes are automatically registered by calculating the metric scaling on both shapes. Our method allows to define the surface shape deformation by the variation of Laplace-Beltrami spectrum of the shapes. Compared to the traditional approaches, it can detect and localize small deformations in addition to global difference of the shapes. Our method is registration-free in nature. It does not need landmarks for mapping two manifolds and the spectrum only depends on the intrinsic geometry of the shape and invariant to spacial translation, rotation, scaling and isometric deformation. This method is computationally affordable and suitable to map surface shapes for non-isometric deformation analysis.

2 Method

In this paper, we use Laplace-Beltrami operator to compute the geometric spectrum of a manifold. Let \(f \in C^2\) be a real function defined on a Riemannian manifold M. The Laplace-Beltrami operator \(\vartriangle \) is defined as, \({\vartriangle }f=\triangledown \cdot (\triangledown f)\), where \(\triangledown f\) is te gradient of f and \(\triangledown \cdot \) is the divergence on the Manifold M. In this paper, we compute the eigenvalue of the Laplacian equation defined as \({\vartriangle }f = -\lambda f\) using discrete differential operator. In this equation, the family solution \( \{\lambda _{i} \}\) is a real nonnegative scalar and will result in the corresponding real family functions of \(\{f_{i} \}\) for \(i=0,1,2,...\). In this framework, a 2D manifold data is discretized to triangle meshes. Assuming the neighborhood of a vertex is approximated with the area of its Voronoi region, a discrete Laplace-Beltrami operator can be defined with the average value over the area of the Voronoi region as following:

$$\begin{aligned} L_{ij} = {\left\{ \begin{array}{ll} - \frac{\cot \alpha _{ij}+\cot \beta _{ij}}{2A_{i}} &{} \text {if } i,j \text { are adjacent,}\\ \sum _{k} \frac{\cot \alpha _{ik}+\cot \beta _{ik}}{2A_{i}} &{} \text {if } i=j,\\ 0&{} \text {otherwise,} \end{array}\right. } \end{aligned}$$
(1)

where \(\alpha _{ij}\) and \(\beta _{ij}\) are the two angles opposite to the sharing edge ij of two triangles, and \(A_i\) is the area of Voronoi region at vertex i. k is the index of triangles within 1-ring neighborhood of the vertex i. This equation is solved numerically by constructing a sparse matrix \(\mathbf {W}\) and a diagonal matrix \(\mathbf {S}\) in which \(S_{ii}=A_{i}\) and \(W_{i,j} = L_{i,j} \times S_{ii}\). Therefore, the generalized eigenvalue problem can be presented as \(\mathbf {W} \mathbf {v} = \lambda \mathbf {S} \mathbf {v}\) where \(\mathbf {v}\) is the eigenvector and \(\lambda \) is the eigenvalue of the matrix \(\mathbf {L}\). When the deformations are mostly non-isometric, the eigenvalue and eigenfunction of the shape dramatically change. On a compact closed manifold M with Riemannian metric g (such as organ dilation and shrink with scaling information), we define deformation as a time variant positive scale function \(\omega (t) : M \rightarrow R^{+}\) such that \(g_{ij}^{\omega }=\omega g_{ij}\) and \(d \sigma ^{\omega } =\omega d \sigma \), where \(\omega (t)\) is nonnegative and continuously differentiable. By definition, the weighted Laplace-Beltrami operator becomes \(\varDelta ^ {g ^ \omega } = \frac{1}{\omega }\varDelta ^{g}\). Consider the ith solution of the weighted eigen problem, this equation can be rewritten as \(\varDelta ^{g} f_i = - \lambda _i \omega f_i\). Using these equations we have proved the theorem as follows.

Theorem 1

\(\lambda _i\) is piecewise analytic and, at any regular point, the t-derivative of \(\lambda _i\) is given by:

$$\begin{aligned} \dot{\lambda _i} = -\lambda _i {\mathbf {v}_i} ^ T \dot{\mathbf {\Omega }} \mathbf {S} \mathbf {v}_i, \end{aligned}$$
(2)

in which \(\mathbf {\Omega }\) is a nonnegative, continuously differentiable, and diagonal matrix.

Our theorem shows that the spectrum is smooth and analytical to non-isometric local scale deformation. It supports the variation of eigenvalues for the alignment of non-isometrically deformed shapes, hence a registration free method for deformation analysis. In this paper, for aligning two shapes we use first k eigenvalues. The number of k may be different depending on the total number of the manifold nodes. Also by increasing k, some high frequency deformation may be detected. Consider two closed manifolds, M and N, represented with discrete triangle meshes. In order to align the first k eigenvalues of N to those of M, a scale diagonal matrix \(\mathbf {\Omega }(t)\) is applied on N. \(\mathbf {\Omega }\) is an n by n matrix, where n is number of vertices on N. The element \(\varOmega _{ii}\) at the diagonal is a scale factor defined on each vertex on N. According to Theorem 1, the derivative of each eigenvalue is expressed by those of \(\varOmega _{ii}\) analytically. Thus, the scale matrix \(\mathbf {\Omega }\) will introduce an alignment from N to M on eigenvalues. The following will explain the details how to calculate the diagonal matrix \(\mathbf {\Omega }\) numerically.

We assume that the eigenvalues of N vary linearly towards those of M. This linear interpolation is represented as:

$$\begin{aligned} \lambda _i(t) = (1 - t) \lambda _{N_i} + t \lambda _{M_i},t\in [0, 1] \Rightarrow \dot{\lambda _i}(t) = \lambda _{M_i} - \lambda _{N_i},t\in [0, 1]. \end{aligned}$$
(3)

At the beginning, \(t=0\), and \(\lambda _i(0)\) starts as \(\lambda _{N_i}\), while t reaches 1, \(\lambda _i(1)\) aligned to \(\lambda _{M_i}\). Combining Eqs. 3 and 2, the derivative of each \(\lambda _i(t)\) leads to an equation of \(\mathbf {\Omega }\) as \(-\lambda _i(t) {\mathbf {v}_i(t)} ^ T \dot{\mathbf {\Omega }} \mathbf {S} \mathbf {v}_i(t) = \lambda _{M_i} - \lambda _{N_i},t\in [0, 1]\). Each diagonal element \(\varOmega _{ii}\) represents a scale factor at vertex i on manifold N. Although the time derivative of \(\mathbf {\Omega }\) can be calculated in Eq. 3 but solving this equation is not straightforward. We need to transform the individual integration equation into a linear system. We achieve this by extracting the diagonals as vectors \(\mathbf {v}_{\mathbf {\Omega }}\) and \(\mathbf {v}_{\mathbf {S}}\) and then employing Hadamard production [12]. Finally, by combining the Eqs. 2 and 3, and using Hadamard production theory, we can obtain a linear form as:

$$\begin{aligned} (\mathbf {v}_{\mathbf {S}} \circ \mathbf {v}_i \circ \mathbf {v}_i) ^T \cdot \mathbf {v}_{\dot{\mathbf {\Omega }}} = \frac{\lambda _{N_i} - \lambda _{M_i}}{\lambda _i(t)},t\in [0, 1]. \end{aligned}$$
(4)

Considering that practically k is much less than the number of nodes in the mesh, the system is undetermined and has no unique solution. Thus, more constrains are necessary to provide an optimized solution for the linear system.

In our paper, we focus on the global smoothness of scale factors distributed on N. Consider a scalar function \(f \in C^2\) is define on the continuous manifold \(<N_c, g>\). The gradient of f describes the local change of f. For example, if f is a constant function, which is considered as the smoothest distribution, the gradient \(\nabla f\) is zero everywhere. A smoothness energy of f is defined with total square magnitude of the gradient \(\nabla f\) on \(N_c\) as \(E = \int _{N_c}||\nabla f ||^2 d \sigma \). On the discrete triangle mesh N, the scale function is a vector \(\mathbf {v}_{\mathbf {\Omega }}\), which is the diagonal of matrix \(\mathbf {\Omega }\). The integral is a matrix product which can be determined as:

$$\begin{aligned} E= <\mathbf {v}_{\mathbf {\Omega }} + \mathbf {v}_{\dot{\mathbf {\Omega }}}, L \cdot (\mathbf {v}_{\mathbf {\Omega }} + \mathbf {v}_{\dot{\mathbf {\Omega }}})>_{\mathbf {S}} \,\, \Rightarrow E_q = \mathbf {v}_{\dot{\mathbf {\Omega }}}^T \cdot \mathbf {W} \cdot \mathbf {v}_{\dot{\mathbf {\Omega }}} + 2 \mathbf {c}^T \cdot \mathbf {v}_{\dot{\mathbf {\Omega }}}, \end{aligned}$$
(5)

where \(\mathbf {c} = \mathbf {W} \cdot \mathbf {v}_{\mathbf {\Omega }}\). Assume that \(\mathbf {v}_{\mathbf {\Omega }}\) is known at each time t and \(\mathbf {v}_{\dot{\mathbf {\Omega }}}\) is to be solved in Eq. 4. \(\mathbf {v}_{\dot{\mathbf {\Omega }}}\) is going to minimize the quadratic smooth energy \(E_q\) at any time. In order to preserve the physical availability, \(\mathbf {v}_{\mathbf {\Omega }}\) must be bounded. The scale factor cannot be zero or negative. Furthermore, any point cannot be infinity either. We denote a lower bound and an upper bound with \(\mathbf {h}_l,\mathbf {h}_u >\mathbf {0}\), where \(\mathbf {h}_l\) and \(\mathbf {h}_u\) are n dimensional constant vector. \(\mathbf {v}_{\dot{\mathbf {\Omega }}}\) must satisfy:

$$\begin{aligned} \mathbf {h}_l \le \mathbf {v}_{\mathbf {\Omega }} + \mathbf {v}_{\dot{\mathbf {\Omega }}} \le \mathbf {h}_u. \end{aligned}$$
(6)

The linear system (Eq. 4), smoothness constraint (Eq. 5) and constant bound (Eq. 6) introduce a quadratic programming problem at each time t. This integration is discretely approximated with an iteration. We divide the time interval [0, 1] into K steps which we index them as j. Assume the eigenvalues and eigenvectors are known at each time j, the derivative of the scale matrix \(\dot{\mathbf {\Omega }}\) is the solution of such quadratic programming. The result \(\dot{\mathbf {\Omega }}(j)\) can be used to calculate \(\mathbf {\Omega }(j+1)\) using \(\mathbf {\Omega }(j+1) = \mathbf {\Omega }(j) + \dfrac{1}{K-j}\dot{\mathbf {\Omega }}(j)\). After K steps, the desire \(\mathbf {\Omega }(K)\) is achieved and manifold M will be aligned to manifold N.

3 Experiments and Results

The proposed algorithm is implemented using Python and C++ on a 64-bit Linux platform. The experiments are conducted on a computer with an Intel Core i7-3770 3.4 GHz CPU and 8 GB RAM. We apply our algorithm on 2D manifold, represented with triangle meshes. In the experiments, we use hippocampi extracted from brain MR images and the surface mesh has around 5000 vertices. Besides the vertex number, there are two constants, K iteration and the first k nonzero eigenvalues to be aligned. According to the algorithm described in Sect. 2, each iteration is an independent quadratic programming problem. Thus the complexity is linear to the step number K. k determines how many eigenvalues to be re-initialized at the beginning of each step. The algorithm calculates the eigenvalues by iterations with the complexity of \(O(n^2)\) to the number of vertices and linear to k. The average computing time for around 5000 nodes, \(k=100\) and \(K=10\) is around 17 s. Note that, the larger the K is, the more accurate the approximation is, in terms of the linear interpolation. In practice, we found \(K = 10\) is sufficient to get the accurate result with a reasonable computational time. Ideally, including more eigenvalues for alignment can be more accurate as well. However, the numeric eigenvalue calculation is not reliable on higher indexed eigenvalues, which will bring more unsuitability. It is noted that the unstable eigenfunctions are introduced by the symmetry. This is avoided by applying some preprocessing with existing symmetry analysis algorithms. Our experiments show that the first 100 eigenfunctions carry sufficient geometry information and are also quite reliable. The middle range frequencies provide sufficient geometry information for the fine deformation. So we usually choose \(k=100\) in our experiments.

3.1 Synthetic Data

In order to evaluate the efficacy of our method, we synthetically generate some non-isometric deformations based on an initial shape. In this experiment, we use a hippocampus segmented from 3D brain images. The surface is then deformed using Blender to make non-isometric deformations. Our spectrum alignment is applied on the first 100 nonzero eigenvalues. Note that, no correspondence information is used in the experiments.

First, we generate a bump on the surface. Then we align the original object to the bumped one to obtain the scale function. Figure 1a and b show original and deformed objects, respectively. Figure 1c shows the result of mapping the original shape to the deformed one. The spectrum variation can detect non-isometric deformation clearly. The red color indicates the dilating area in order to map the original manifold to the deformed one. Second, we shrink one part of the original manifold using Blender. Then, we align the original shape to the shrunk one. Figure 1a and d shows the original and deformed shapes. Figure 1e shows the results of mapping. The field of \(\mathbf {\Omega }\) is the intrinsic component of the full deformation, which is normalized in Fig. 1c and e. It is much more than the isometric one. Although itself does not fully recover the deformation, it is sufficient to represent the desired local deformations with the original spatial meshes. As can be seen, the local deformation of shrunk region is detected using our method. The blue color shows the contraction of the area. Finally, we scale the manifold by a factor of 0.5 using blender and then align the original shape to the scaled one. Figure 1f shows the comparison of the original and scaled objects. Figure 1g shows the result of mapping the original shape to the scaled one. As can be seen the whole surface is blue, which means it is globally shrunk. These experiments clearly demonstrate that our method is able to detect and quantify local deformations as well as global deformations.

Fig. 1.
figure 1

The results of mapping the original shape to the synthetically deformed ones. (a) shows the original object. (b) is obtained by generating a bump on the original shape. (c) shows the result of mapping the shape in (a) to the one in (b) where the expansion is determined and located. (d) shows the synthetic data generated by shrinking one part of the original shape. (e) shows the result of mapping the original shape in (a) to the shrunk shape in (c) where shrinkage is localized. (f) shows the synthetically scaled shape with the scale factor of 0.5. (f) shows the result of mapping the original shape to the scaled one. The red color illustrates the expansion area and the blue color shows the shrinkage area. (Color figure online)

We compare our method with non-rigid Iterative Closest Point (ICP) algorithm [13] on the synthetic data and experiments demonstrate that our method outperforms the non-rigid ICP method in these shapes with few landmarks and features, as follows: average accuracy: 92 % (our method), 81 % (non-rigid ICP); computational time: <20 s (our method), >60 s (non-rigid ICP). Furthermore, our method is invariant to different triangulation methods, such as uniform and non-uniform triangulations, by testing on the synthetic data.

3.2 Epilepsy Imaging Study

We also apply our method to mesial temporal lobe (mTLE) epilepsy study. mTLE is one of the most common types of focal epilepsy. Among mTLE structural abnormalities, hippocampus is one of the most frequent structures that can be affected. As indicated in [14], epilepsy may cause shrinkage of the affected hippocampus in comparison to the non-affected one. In this experiment, we have applied our method on twenty TLE patients to quantify the shape variation between left and right hippocampus. Half number of the patients are reported to have left defected hippocampus and the other half have abnormality in the right hippocampus. For generating the 3D hippocampus surfaces, right and left hippocampi are segmented from 3D T1 images. Right hippocampi are then mirrored in order to have the same direction as the left ones. In Fig. 2a and b, column 1 and 2 show samples of left and right hippocampi. Column 3 shows the computed scale function distributions on the left hippocampus surface when mapping from the left one to the right. The colors denote the values of scale function in each vertices of original surface. Red means dilating, blue means contraction, and white means no distortion. According to the clinical record, Fig. 2a is for a patient case that has left abnormal hippocampus, therefore, mapping from the left hippocampus to the right displays more expansion (indicated in red), i.e., the left hippocampus is shrunk (i.e., diseased) compared to the right, normal one. Figure 2b depicts another patient case that has the right defected hippocampus. When mapping from the left hippocampus to the right, the scale distribution displayed on the left hippocampus surface mainly shows the shrinkage (indicated in blue) which indicates the right hippocampus is shrunk (diseased) in comparison to the left hippocampus.

To see how eigenfunctions vary after changing eigenvalues, we select the 12th eigenvalue and show the eigenfunctions corresponding to this eigenvalue on the source manifold before and after mapping to the target manifold. Figure 2c shows the 12th eigenfunction of left hippocampus (first column), right hippocampus (second column), and the mapped hippocampus (third column). The eigenfunctions are normalized between −1 and 1. The values of eigenfunction at each vertex are expressed with color map, where red means larger value, blue means smaller ones, and white means zero. Comparing the eigenfunction patterns before and after alignment, great improvement is obtained and the pattern of the eigenfunction in source manifold has changed to well map into the target manifold.

Fig. 2.
figure 2

(a) and (b) show the results of mapping the left hippocampus to the right one for two patient cases. (c) shows the 12th eigenfunction of the left hippocampus (column 1), right hippocampus (column 2), and the left hippocampus after being mapped (column 3). The pattern of the eigenfunction for the left hippocampus shape has been changed in order to map the right one. (Color figure online)

Table 1. The result of aligning eigenvalues of the left hippocampus to the right one using the same case as in Fig. 2a.

In order to show the variation of eigenvalues of manifolds before and after mapping, we list the 2nd to 8th eigenvalues of left hippocampus (before and after mapping) and the right hippocampus in Table 1. The eigenvalues are normalized by the first nonzero one to remove the scale factor. It can be seen that after applying the spectrum alignment algorithm, the eigenvalues of the source manifold have been changed in order to well align with the target ones.

4 Conclusion

In this paper, we present a registration-free method to quantify the deformation between shapes. The result of spectral alignment of shape spectrum can provide the scale function which defines the deformation of each vertex. This method can be used for diagnosing the local deformation of hippocampus that is affected by epilepsy. It can be applied to other morphometry analyses as well. The proposed method can handle complicated meshes with more than 5000 or 10,000 vertices on regular desktops and laptops. The algorithm relies on the linear system, which will be highly scalable on GPU or cloud computing. Furthermore, we will apply our method on the brain and other surfaces in the future.