- Open Access
An efficient operator splitting method for local region Chan-Vese model
© Wang et al.; licensee Springer. 2013
Received: 16 March 2013
Accepted: 17 April 2013
Published: 4 May 2013
In this paper, we propose an efficient operator splitting method for local region Chan-Vese (C-V) model for image segmentation. Different from the C-V model, we employ the window function and absorb the local characteristics of the image for improving the C-V model, which we called the local C-V model. The local C-V model can deal with the problem of intensity inhomogeneity which widely exists in the real-world images. By employing a Laplacian operator, we present an operator splitting method to update the level set function. Firstly, we solve the proposed model for evolving the level set function, which drives the active contour to move toward the object boundaries. Secondly, we introduce the Laplacian operator to act on the level set function as a diffusion term, which could efficiently ensure the smoothness and stability and eliminate the complex process of re-initialization. Besides, we increase a new constraint term which avoids updating the level set function seriously. Furthermore, we present an extension for vector-valued images. Experiment results show that our method is competitive with application to synthetic and real-world images.
In the field of image processing and computer vision, image segmentation is an everlasting fundamental problem. In the past decades, a large number of different approaches to segmentation have been put forward continuously [1, 2]. the active contour model that was firstly presented by Kass et al.  is one of the most famous and successful models for extracting objects in image segmentation. The main idea of this model is evolving a parametric curve to extract the objects during a process of minimizing energy functional. However, this model has some intrinsic disadvantages, such as it cannot efficiently handle topological changes like splitting and merging of the evolving curve. In order to overcome this problem, the level set method  proposed by Osher and Sethian could easily represent the curve or surface as the zero level set of a high-dimensional function which can effectively handle topological changes. With the evolution of the level set function, the curve is moving implicitly, which promotes the combination with the active contour model. Up to now, in order to provide an effective way, active contour models [3, 5–7] based on the theory of curve and surface evolutions and geometric flows have been extensively studied and successfully used in the field of image segmentation.
Generally, active contour models can be roughly categorized into two different classes: edge-based models [6, 8–11] and region-based models [7, 12–17]. Edge-based models use local image gradient information to attract the active contour toward the object boundaries and stop there. Geodesic active contour (GAC) model  is a famous example of this kind, which mainly depends on the local gradient information to control the shrinking or expanding of the contour. This kind of models is sensitive to the initial conditions and sometimes with boundary leakage problems, especially to the weak or fuzzy boundaries. Comparing with the edge-based models, region-based models aim to identify each region by introducing region descriptors to drive the contour evolution. Depending on the statistical region information, they offer advantages such as that they do not rely on any edge or gradient information and are generally robust to noise and less sensitive to the contour initialization. In this paper, we mainly focus on the region-based models.
Among the region-based models, the Mumford-Shah model  is well known in minimizing an energy functional to approximate the image. In the Mumford-Shah model, the image is decomposed into some regions. In this way, each region is approximated as a smooth function. The C-V model , as a simplified case of the Mumford-Shah model, in a piecewise constant way, has achieved a good performance in two-phase image segmentation with a fast convergence rate. On the basis of the C-V model, in [19, 20], the authors further generalized and proposed some variants which are called piecewise constant models. On the other hand, the energy functional of the C-V model is non-convex, so it is prone to getting struck in undesirable local minima. In [21–23], the authors presented some convex relaxation methods. However, the C-V model is based on the assumption that the image is statistically intensity homogeneous in each region, thus it has some limitations in actual applications. In fact, the image with intensity inhomogeneity exists widely in the real world, and it is considered as a challenging problem in image segmentation. In addition, the typical C-V model can only deal with the problem of two-phase segmentation. As an extension, a multiphase level set framework  is presented for the multi-region image segmentation, which can be used to deal with the problem of intensity inhomogeneity. However, re-initialization is required periodically for the level set function so the computational cost is expensive. On the other hand, for the benefit of vector-valued image segmentation, in , the authors extended the C-V model to the vector-valued images. In [16, 17], local region information is incorporated into the active contour models; and it is worth mentioning that the local binary fitting (LBF) model, also called region-scalable fitting model, shows a better performance than the C-V model on extracting objects to the images with intensity inhomogeneity. However, the LBF model has a large dependency on the contour initialization; especially if the initial position of the contour is far away from the objects, the LBF model may be prone to getting stuck in local minima. Apart from the LBF model, in [26–28], active contour models mainly based on the local region information are further developed and effectively used to segment the images with intensity inhomogeneity. In , Tao et al. integrated the multiple piecewise constant with the GAC model, which can also overcome the problem of intensity inhomogeneity and multiple objects for image segmentation. Besides, in , the authors integrated the local region information with the C-V model, which is effective for the images with intensity inhomogeneity.
In the traditional level set methods, in order to keep the regularity and numerical stability during the evolving process, periodical re-initialization [31–33] as a numeric remedy is introduced to maintain the level set function regularity. However, this method is time-consuming and sometimes it may move the location of the zero level set . Considering these problems, in [35–37], the authors proposed a series of variational level set methods, which can approximately maintain the signed distance property with the level set evolution. Therefore, these methods completely avoid the re-initialization procedure. Besides, in [27, 38], the authors used the Gaussian filtering processing to regularize the level set function.
In particular, Zhang et al.  proposed a reaction diffusion method, in which the level set evolving process can be divided two steps, where the re-initialization procedure is also completely unnecessary.
In this paper, we propose an efficient operator splitting method for local region C-V model, which employs the local image region information to drive the active contour evolving. Unlike the C-V model, we bring in a window function to calculate the local means of image intensities inside and outside the contour, respectively, and apply them to improve the C-V model. For the sake of simplicity, we call it as local C-V model. In the level set evolving process, the local C-V model mainly relies on the local image region information so that it is desirable to segment the images with intensity inhomogeneity. Furthermore, considering the regularity of the level set function, we present an operator splitting method to update the level set function, which performs well in maintaining its smoothness and stability. Specifically, in the first step, the level set formulation is iterated. In the second step, motivated by the relative contributions in [27, 39], we introduce the Laplacian operator to act on the level set function, which forms a diffusion term to regularize the level set function. This diffusion term can ensure the smoothness and stability of the level set function, thus the costly re-initialization procedure is not essential. In addition, we increase a new constraint term, which avoids updating the level set function seriously and maintains its stability as well. Moreover, we extend our method to the vector-valued image segmentation, as a special case, which can be used to extract the objects on the color images.
The outline of this paper is organized as follows. In Section 2, we mainly review the well-known Mumford-Shah model and the C-V model and its extension form on the vector-valued images. In Section 3, we first propose the local region C-V model, and then we present an operator splitting method to realize the level set evolution and keep its smoothness and stability at the same time. Furthermore, we also extend our method to the vector-valued images. In Section 4, we carry out some experiments to demonstrate the effectiveness and performance of our method. Finally, we summarize this paper in Section 5.
2 Previous related works
2.1 Mumford-Shah model and Chan-Vese model
where Ω defines the image domain, and μ and ν are fixed parameters, and |C| is the length of the contour C⊂Ω. In this energy functional, the first term is the data fidelity term. The second and third terms are the smooth term and the length restraint term of the contour C. In fact, because of non-convex property, it is a difficult problem to find the optimal solution of (1). In [7, 24, 40], the authors turned to simplify or modify this problem for practical applications.
where μ≥0, ν≥0, λ 1>0, and λ 2>0 are parameters.
where H is the Heaviside function.
The C-V model is considered as one of the most widely used models for two-phase image segmentation. One of the prominent advantages of the C-V model is that it performs well on the images with fuzzy or even without edges. However, as a limitation, the C-V model always supposes the image with intensity homogeneity. In fact, from Equations 4 and 5, we can observe that c 1 and c 2 are mainly related to the global property for they rely on the region information inside and outside the contour, respectively. Without taking the local image region information into account, the C-V model cannot effectively deal with the problem of intensity inhomogeneity. In addition, it is unable to segment the multi-region images with different intensities.
2.2 Vector-valued Chan-Vese model
The vector-valued C-V model can be used to extract complete information of the image, including the missing information in one or more channels. The reason is that each single channel is insufficient for determining the final location of the evolving contour. Thus, the vector-valued C-V model is better with the combinatorial form of all the channels. As a special example in , the vector-valued C-V model is effective to segment the color images. In fact, the vector-value C-V model inherits all the benefits of the traditional C-V model, such as robustness to the noise and automatic detection of interior contours. Nevertheless, the vector-value C-V model still cannot deal well with the image with intensity inhomogeneity.
3 An efficient operator splitting method for local region Chan-Vese model
3.1 A local region Chan-Vese model
where and are with local region property of the image, thus we call Equation 13 as the local region Chan-Vese model. Comparing with the level set formulation (3), one of the primary advantages here is that instead of the global region information, we bring in the local image region information to drive the contour evolution. In this way, by adjusting the size and variance of the Gaussian window function, the image region with intensity inhomogeneity can be distinctively treated with the contour evolution, which greatly enhances the improvement of segmentation quality.
In numerical implementation, we use the Neumann boundary condition. In fact, we can directly update the level set function by Equation 14 after initialization. Nevertheless, the regularity and stability of the level set function cannot be availably maintained during the evolving process.
3.2 An operator splitting method
In the level set methods, how to maintain the smoothness and stability is a key problem. As discussed in Section 1, the re-initialization  has been extensively used as a numerical remedy for maintaining the stability and the signed distance property during the level set evolution. However, the procedure is time-consuming, and, more importantly, it may lead to the movement of the zero level set location. In [35–37], variational level set methods are presented, all of which effectively eliminate the re-initialization procedure and improve the computational efficiency. But these methods are not easily extended to other level set methods based on partial differential equations , and sometimes with the boundary leakage problems, which extremely restrict their extension and utilization on the image segmentation. More specifically, it is essential and extremely important to regularize the level set function during its evolution process. In other words, for our proposed level set formulation (13), the regularization procedure of the level set function is a requisite with its evolution process. Consequently, motivated by the discussion in the works of [27, 39], we present an operator splitting method to evolve the level set function as follows:
Step 1. Based on Equation 14, update the level set function by ϕ n+1/2=ϕ n +Δ t 1·L(ϕ n ).
Step 2. Compute ϕ n+1=ϕ n+1/2+Δ t 2·Δ ϕ n+1/2+Δ t 3·(ϕ n+1/2−ϕ n ).
In this two steps, Δ t 1 is the time step of step 1. Δ t 2 and Δ t 3 represent the two time steps of step 2. In step 1, we obtain ϕ n+1/2 and then utilize it in step 2, where Δ ϕ n+1/2 represents the Laplacian operator that acts on the level set function. The third term of step 2 is a new restraint term to avoid updating the level set function seriously.
The purpose of this operator splitting method is significant. Owing to the execution of step 1, the contour evolves toward the object boundaries. After that, as a smoothing way, step 2 is extremely important as well for it eliminates the costly re-initialization procedure and avoids updating the level set function severely. As indicated in [27, 38], the evolution of a function with its Laplacian is equivalent to a Gaussian filtering process to regularize the level set function. Thus, step 2 plays a natural role for smoothing the level set function and maintaining its stability. Actually, as a following procedure of step 1, step 2 can be influenced by step 1 at the same time. If the level set function is too steep, it needs to properly increase Δ t 2 so as to smooth more. On the other hand, step 2 has a direct impact on step 1. It is just the mutual cooperation of these two steps that promotes the steady evolution of the level set function and reduces the computational complexity. More significantly, this operator splitting method can be easily extended to other related level set methods based on partial differential equations.
3.3 An extension on vector-valued images
where I i is the i th channel of the image.
From the construction of Equation 17, the evolving contour is driven by the local region force. As a result of this replacement, all the local region information in every channel of the vector-valued image is integrated with each other, which is beneficial to detecting the object boundaries. In addition, it can also avoid some limitations of using a single channel for the vector-valued images.
3.4 Numerical implementation
In numerical implementation, as discussed in , the second time step Δ t 2 should be set small, which can reduce the risk of moving the zero level set away from its original location. Δ t 1 is related to updating of the level set function and has an impact on its smoothness. Generally, the choices of this two time steps should be comparable with Δ t 2<Δ t 1. Furthermore, except for maintaining the smoothness and numerical stability, choosing a small Δ t 2 is reasonable for avoiding the emergence of boundary leakage problems. Similarly, Δ t 3 should be selected small for maintaining the stability of the level set function satisfactorily.
Implement the presented operator splitting method in Subsection 3.2 sequentially.
Check whether the level set function satisfies the stationary condition. If not, return to step 2.
In step 2, we first need to judge whether the imputing image is a gray scale image or not, where we can test it with the help of some simple experiments, such as the MATLAB program (MathWorks Inc, Natick, MA, USA). Especially, in most cases, the color image can be distinguished by direct observation.
Our method is different from the methods in [41, 42]. Even if the authors also introduced the local region model by employing the maximum a posteriori estimation and Parzen method, they mainly focused on the statistical interpretation and application of the Mumford-Shah model. Besides, they approximated it from a maximum a posteriori model where each region is modeled by the mean estimated in a local Gaussian neighborhood. However, focusing on the improvement of the C-V model, our method use the local region information to replace the global region information and present an operator splitting method for implementation. Furthermore, our method is easily extended to the vector-valued images.
4 Experimental results
In this section, a series of synthetical and real-world images are used to test the effectiveness and performance of our method. All the experiments are implemented in Matlab 7.0 on a personal computer with Intel Pentium D (Intel Corp, Sta. Clara, CA, USA) CPU 3.00 GHz and 1 GB of memory. We choose the size of the truncated Gaussian window as 4k+1 by 4k+1, where k is the greatest integer smaller than the standard deviation σ. Unless otherwise specified, the default parameters are set as Δ t 1=0.1, Δ t 2=0.01, Δ t 3=0.01, ε=1.0, and λ 1=λ 2=1.0, and for i=1,⋯,N, . Besides, the parameters σ and μ should be set as different values according to the image characteristics, such as intensity, shape, and color.
Iterations and CPU time (in seconds) of two different kinds of level set initialization in Figure 3
Iterations and CPU time (in seconds) for segmenting multi-objects with different intensities in Figure 4
In this paper, we have proposed an efficient operator splitting method for local region C-V model. By introducing the window function, we increased the local image region information to improve the C-V model, which performs better than the traditional C-V model on segmenting images with intensity inhomogeneity. In order to regularize the level set function and maintain the numerical stability during the level set evolution, we presented an operator splitting method. In this method, we employed the Laplacian operator to act on the level set function and increased a new restraint term to prevent updating the level set function seriously. Comparing with other related methods [7, 17, 42], the motivation and superiority of our method have been discussed in details. Furthermore, our method has been extended to the vector-valued image segmentation, such as the color image. Our method can effectively eliminate the re-initialization procedure and ensure the numerical calculation stability. A large number of numerical experiments have been used to test and demonstrate that our method can effectively segment the gray scale images with intensity inhomogeneity and multi-objects with different intensities, and perform well on the real-world color images.
The authors would like to thank the editor and the anonymous referee for their valuable comments and suggestions, which are very helpful for revising and improving this paper. This research is supported by NSFC (no. 61170311), Chinese Universities Specialized Research Fund for the Doctoral Program (20110185110020), Sichuan Provincial Department of Science & Technology Research Project (no. 12ZC1802), and the Fundamental Research Funds for the Central Universities (no. 09CX04003A).
- Cremers D, Rousson M, Deriche R: A review of statistical approaches to level set segmentation: integrating color, texture, motion and shape. Int. J. Comput. Vis 2007, 72(2):195-215. 10.1007/s11263-006-8711-1View ArticleGoogle Scholar
- Mitiche A, Ayed IB: Variational and level set methods in image segmentation. Berlin,Heidelberg: Springer-Verlag; 2010.Google Scholar
- Kass M, Witkin A, Terzopoulos D: Snakes: active contour models. Int. J. Comput. Vis 1988, 1(4):321-331. 10.1007/BF00133570View ArticleMATHGoogle Scholar
- Osher S, Sethian JA: Fronts propagating with curvature-dependent speed: algorithms based on Hamilton-Jacobi formulation. J. Comput. Phys 1988, 79(1):12-49. 10.1016/0021-9991(88)90002-2MathSciNetView ArticleMATHGoogle Scholar
- Caselles V, Catte F, Coll T, Dibos F: A geometric model for active contours in image processing. Numer. math 1993, 66(1):1-31. 10.1007/BF01385685MathSciNetView ArticleMATHGoogle Scholar
- Caselles V, Kimmel R, Sapiro G: Geodesic active contours. Int. J. Comput. Vis 1997, 22(1):61-79. 10.1023/A:1007979827043View ArticleMATHGoogle Scholar
- Chan TF, Vese LA: Active contours without edges. IEEE Trans. Image Process 2001, 10(2):266-277. 10.1109/83.902291View ArticleMATHGoogle Scholar
- Park J, Keller J: Snakes on the watershed. IEEE Trans. Pattern Anal. Mach. Intell 2001, 23(10):1201-1205. 10.1109/34.954609View ArticleGoogle Scholar
- Goldenberg R, Kimmel R, Rivlin E, Rudzsky M: Fast geodesic active contours. IEEE Trans. Image Process 2001, 10(10):1467-1475. 10.1109/83.951533MathSciNetView ArticleGoogle Scholar
- Vasilevskiy A, Siddiqi K: Flux-maximizing geometric flows. IEEE Trans. Pattern Anal. Mach. Intell 2002, 24(12):1565-1578. 10.1109/TPAMI.2002.1114849View ArticleMATHGoogle Scholar
- Xiang Y, Chung A, Ye J: An active contour model for image segmentation based on elastic interaction. J. Comput. Phys 2006, 219(1):455-476. 10.1016/j.jcp.2006.03.026MathSciNetView ArticleMATHGoogle Scholar
- Samson C, Blanc-Feraud L, Aubert G, Zerubia J: A level set model for image classification. Int. J. Comput. Vis 2000, 40(3):187-197. 10.1023/A:1008183109594View ArticleMATHGoogle Scholar
- Tsai A, Yezzi A, Willsky AS: Curve evolution implementation of the Mumford-Shah functional for image segmentation, denoising, interpolation, and magnification. IEEE Trans. Image Process 2001, 10(8):1169-1186. 10.1109/83.935033View ArticleMATHGoogle Scholar
- Kim J, Fisher J, Yezzi A, Cetin M, Willsky A: A nonparametric statistical method for image segmentation using information theory and curve evolution. IEEE Trans. Image Process 2005, 14(10):1486-1502.MathSciNetView ArticleGoogle Scholar
- A Sarti C, Corsi E, Mazzini C: Lamberti, Maximum likelihood segmentation of ultrasound images with Rayleigh distribution. IEEE Trans. Ultrason. Ferroelectr. Freq. Control 2005, 52(6):947-960.View ArticleGoogle Scholar
- Li C, Kao JC, Gore Z: Ding, Implicit active contours driven by local binary fitting energy, in Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (IEEE Press. USA 2007, 1-7.Google Scholar
- Li C, Kao C, Gore JC, Ding Z: Minimization of region-scalable fitting energy for image segmentation. IEEE Trans. Image Process 2008, 17(10):1940-1949.MathSciNetView ArticleGoogle Scholar
- Mumford D, Shah J: Optimal approximations by piecewise smooth functions and associated variational problems. Commun. Pure Appl. Math 1989, 42(5):577-685. 10.1002/cpa.3160420503MathSciNetView ArticleMATHGoogle Scholar
- Lie J, Lysaker M, Tai X: A variant of the level set method and applications to image segmentation. Math. Comp 2006, 75(255):1155-1174. 10.1090/S0025-5718-06-01835-7MathSciNetView ArticleMATHGoogle Scholar
- Lie J, Lysaker M, Tai X, A binary level set model and some applications to Mumford-Shah image segmentation: IEEE Trans. Image Process. 2006, 15(5):1171-1181.View ArticleGoogle Scholar
- Chan TF, Esedoglu S, Nikolova M: Algorithms for finding global minimizers of image segmentation and denoising models. SIAM. J. Appl. Math 2006, 66(5):1632-1648.MathSciNetMATHGoogle Scholar
- Bresson X, Esedoglu S, Vandergheynst P, Thiran J, Osher S: Fast global minimization of the active contour/snake model. J. Math. Imaging Vis 2007, 28(2):151-167. 10.1007/s10851-007-0002-0MathSciNetView ArticleGoogle Scholar
- Bae E, Yuan J, Tai X: Global minimization for continuous multiphase partitioning problems using a dual approach. Int. J. Comput. Vis 2009, 92(1):112-129.MathSciNetView ArticleMATHGoogle Scholar
- Vese LA, Chan TF: A multiphase level set framework for image segmentation using the Mumford and Shah model. Int. J. Comput. Vis 2002, 50(3):271-293. 10.1023/A:1020874308076View ArticleMATHGoogle Scholar
- Chan TF, Sandberg BY, Vese LA: Active contours without edges for vector-valued images. J. Visual Communic. Imag. Representation 2000, 11(2):130-141. 10.1006/jvci.1999.0442View ArticleGoogle Scholar
- Wang L, He L, Mishra A, Li C: Active contours driven by local Gaussian distribution fitting energy. Signal Process 2009, 89(12):2435-2447. 10.1016/j.sigpro.2009.03.014View ArticleMATHGoogle Scholar
- Zhang K, Song H, Zhang L: Active contours driven by local image fitting energy. Pattern Recognit 2010, 43(4):1199-1206. 10.1016/j.patcog.2009.10.010View ArticleMATHGoogle Scholar
- Lankton S, Tannenbaum A: Localizing region-based active contours. IEEE Trans. Image Process 2008, 17(11):2029-2039.MathSciNetView ArticleGoogle Scholar
- Tao W, Tai X: Multiple piecewise constant with geodesic active contours (MPC-GAC) framework for interactive images segmentation using graph cut optimization. Image Vis. Comput 2011, 29(8):499-508. 10.1016/j.imavis.2011.03.002View ArticleGoogle Scholar
- Wang X, Huang D, Xu H: An efficient local Chan-Vese model for image segmentation. Pattern Recognit 2010, 43(3):603-618. 10.1016/j.patcog.2009.08.002View ArticleMATHGoogle Scholar
- Sussman M, Smereka P, Osher S: A level set approach for computing solutions to incompressible two-phase flow. J. Comput. Phys 1994, 119(1):146-159.View ArticleMATHGoogle Scholar
- Sussman M, Fatemi E: An efficient, interface preserving level set redistancing algorithm and its application to interfacial incompressible fluid flow. SIAM J. Sci. Comput 1999, 20(4):1165-1191. 10.1137/S1064827596298245MathSciNetView ArticleMATHGoogle Scholar
- Gomes J, Faugeras O: Reconciling distance functions and level sets. J. Visual Communic. Imag. Representation 2000, 11(2):209-223. 10.1006/jvci.1999.0439View ArticleGoogle Scholar
- Peng D, Merriman B, Osher S, Zhao H, Kang M: A PDE-based fast local level set method. J. Comput. Phys 1999, 155(2):410-438. 10.1006/jcph.1999.6345MathSciNetView ArticleMATHGoogle Scholar
- Li C, Xu C, Gui C, Fox MD: Level set evolution without re-initialization: a new variational formulation. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. USA: IEEE Press; 2005:430-436.Google Scholar
- Li C, Xu C, Gui C, Fox MD: Distance regularized level set evolution and its application to image segmentation. IEEE Trans. Image Process 2010, 19(12):3243-3254.MathSciNetView ArticleGoogle Scholar
- Xie X: Active contouring based on gradient vector interaction and constrained level set diffusion. IEEE Trans. Image Process 2010, 19(1):154-164.MathSciNetView ArticleGoogle Scholar
- Zhang K, Zhang L, Song H, Zhou W: Active contours with selective local or global segmentation: a new formulation and level set method. Image Vis. Comput 2010, 28(4):668-676. 10.1016/j.imavis.2009.10.009View ArticleGoogle Scholar
- Zhang K, Zhang L, Song H, Zhang D: Re-initialization free level set evolution via reaction diffusion. IEEE Trans. Image Process 2013, 22(1):258-271.MathSciNetView ArticleGoogle Scholar
- Shen J: A stochastic-variational model for soft Mumford-Shah segmentation. Int. J. Biomed. Imaging 2006, 2006: 1-14.View ArticleGoogle Scholar
- Brox T, Cremers D: On the statistical interpretation of the piecewise smooth Mumford-Shah functional. In Proceedings of the 1st International Conference on Scale Space and Variational Methods in Computer Vision. Berlin: Springer; 2007:203-213.View ArticleGoogle Scholar
- Brox T, Cremers D: On local region models and a statistical interpretation of the piecewise smooth Mumford-Shah functional. Int. J. Comput. Vis 2009, 84(2):184-193. 10.1007/s11263-008-0153-5View ArticleGoogle Scholar
This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.