Int J CARS (2010) 5:501–513 DOI 10.1007/s11548-010-0404-0 ORIGINAL ARTICLE Endocardial boundary extraction in left ventricular echocardiographic images using fast and adaptive B-spline snake algorithm Mahdi Marsousi · Armin Eftekhari · Armen Kocharian · Javad Alirezaie Received: 14 January 2009 / Accepted: 15 December 2009 / Published online: 16 March 2010 © CARS 2010 Abstract Purpose A fast and robust algorithm was developed for automatic segmentation of the left ventricular endocardial boundary in echocardiographic images. The method was applied to calculate left ventricular volume and ejection fraction estimation. Methods A fast adaptive B-spline snake algorithm that resolves the computational concerns of conventional active contours and avoids computationally expensive optimizations was developed. A combination of external forces, adaptive node insertion, and multiresolution strategy was incorporated in the proposed algorithm. Boundary extraction with area and volume estimation in left ventricular echocardiographic images was implemented using the B-spline snake algorithm. The method was implemented in MATLAB and 50 medical images were used to evaluate the algorithm performance. Experimental validation was done using a database of echocardiographic images that had been manually evaluated by experts. Results Comparison of methods demonstrates significant improvement over conventional algorithms using the adaptive B-spline technique. Moreover, our method reached a reasonable agreement with the results obtained manually by experts. The accuracy of boundary detection was calculated M. Marsousi K.N. Toosi University of Technology, Tehran, Iran e-mail: marsousi@psp.ir A. Eftekhari Colorado School of Mines, Golden, USA A. Kocharian Tehran University, Tehran, Iran J. Alirezaie (B) Ryerson University, Toronto, Canada e-mail: javad@ryerson.ca with Dice’s coefficient equation (91.13%), and the average computational time was 1.24 s in a PC implementation. Conclusion In sum, the proposed method achieves satisfactory results with low computational complexity. This algorithm provides a robust and feasible technique for echocardiographic image segmentation. Suggestions for future improvements of the method are provided. Keywords Echocardiography · B-spline snake · Boundary detection · Left ventricle volume estimation Introduction Echocardiography is an efficient and noninvasive imaging technique that has found numerous applications in medical centers. Some vital quantities and medical decisions, such as left ventricular volume, ejection fraction, and abnormality in valve motions, are obtained from echocardiography views. Therefore, successful feature extraction from cardiac echo images has become a major research interest, which essentially requires endocardial boundary detection in left ventricle (LV) [1]. This is, however, mainly impeded by two major concerns: (1) Echocardiographic images are often contaminated by significant amount of noise. (2) Endocardial boundaries lack even contrast, which is in part due to the attenuation of ultrasonic waves in the patient’s body. There exists a vast literature on endocardial boundary detection and several approaches such as Markovian random fields [2], active appearance models [3], watersheds and wavelet descriptors [4,5], and active contours [6–14] have been utilized to overcome the inherent difficulties. Among several available approaches, active contours, introduced by Kass et al. [15], have shown remarkable performance and reasonable computational complexity. In fact, active contours, 123 502 as a boundary-based approach, have found widespread applications in medical image segmentation. The basic idea is to define an energy minimizing curve that is constrained by its own internal forces of continuity and curvature and external forces that drives it towards desired image features. Few of the most relevant techniques are reviewed here. The reader is referred to [8] for a comprehensive review on these techniques. In [16], to estimate the endocardial boundary in a sequence of echo images, genetic algorithm has been used for optimization of the active contour. More specifically, low-pass filtering and morphological operations were used to define an initial estimate of the contour. Then, a nonlinear mapping of the intensity gradient was used in the energy functional which is minimized using genetic algorithm. The final contour was used to initialize contour finding in the next time frame. On the other hand, in [17] a statistical external energy has been used for segmentation of echo images. To this end, a shifted Rayleigh distribution was used to model gray level statistics, and a multiscale optimization strategy was adapted to perform energy minimization. Also, in [18], a Bayesian framework with deformable templates as prior information has been used to develop a fully automatic unsupervised technique. Conventional active contour methods typically suffer from slow convergence speed due to large number of coefficients to be optimized. An alternative approach is expressing the curve as a parametric B-spline, which has built-in smoothness requirement, and hence requires remarkably fewer number of controlling parameters and provides faster convergence as well as local control [19]. In this paper, a fast and adaptive method for extraction of left ventricular endocardial boundary in echocardiographic images is presented which builds upon conventional B-spline snake algorithm [20–22]. The proposed method utilizes novel strategies to efficiently overcome the inherent difficulties. Instead of pursuing a computationally expensive optimization-based approach for calculating the curve evolution, a geometrical point of view is used here to address this problem, which proves to be fast and reliable in our experiments. In addition, an innovative combination of gradient vector flow [23] and balloon force [24] is employed to drive the contour towards the boundaries. More specifically, the balloon force provides the drive for the contour in the homogenous regions far from the boundaries [25]. As the contour approaches the desired boundaries, balloon force is gradually replaced with the vector field produced by few iterations of gradient vector flow (GVF). GVF force then accurately fits the contour into the desired boundaries. The proposed combination of external forces significantly speeds up the convergence. Another notable feature in the presented framework is that the parameters are determined locally according to the local image contrast and features. Moreover, in order to further increase the convergence speed and 123 Int J CARS (2010) 5:501–513 robustness against noise, conventional multiresolution strategy has been employed. Consequently, the proposed method provides improved accuracy among previous achievements [8,16–18] as well as it reduces the time of computations. Once boundaries of LV are extracted, we may construct a 3D model for LV, which then may be used to calculate the volume of LV, as well as ejection fraction ratio, and other vital quantities. Finally, comparison of these quantities with those obtained by experts over several test images demonstrates the efficacy and accuracy of our method. Parameter estimation from image data External forces Referring to the Appendix A, due to the inherent smoothness and continuity characteristics of B-spline snake, deformation of the contour is completely determined in interaction with external forces. In fact, based on the initial location of the control points, external forces deform the contour from its initial position to the feature of interest in an image. Typically, GVF plays the role of the external force in the image. Recall that GVF is iteratively computed as a diffusion of the gradient vectors of a gray-level or binary edge map derived from the image. The resultant field has a large capture range, which means that the active contour can be initialized far away from the desired boundary. The GVF field also tends to force active contours into boundary concavities, where traditional snakes have poor convergence. Despite its advantages, GVF suffers from excessive computational cost, which has motivated researchers to seek for faster approaches [26]. In this paper, to obviate the need for excessive computational cost, an innovative combination of GVF and balloon forces is employed. Initially, only balloon force provides the drive for the contour. As the contour approaches the image features, e.g., boundaries, balloon force gradually disappears. Then, the vector field produced by few iterations of GVF algorithm dominates and deforms the contour to fit into the desired boundaries. Our approach is further scrutinized in the following. In order to calculate the displacement of node points at each iteration, we shall consider the contribution of external forces on the adjacent curve segments. In particular, in cubic B-spline snake, accurate calculation of the displacement of any node point should consider external forces on four adjacent curve segments. Generally, this necessitates computationally expensive optimization-based approach, which involves inversion of high-dimensional matrices [27]. In this paper, however, a geometrical point of view is pursued to address this issue, which is described in the following. Clearly, at tth iteration, displacement of each node point is mainly influenced by external forces on its two neighboring Int J CARS (2010) 5:501–513 503 curve segments, i.e., gn and gn−1 . More specifically, suppose each curve segment gn is sampled at M points, denoted by m , t), m = 1, . . . , M − 1. Suppose, also, that balloon gn ( M m , t) on the contour are and GVF forces at each point gn ( M saved in Fbal , FGVF ∈ M N ×2 , respectively. Now, to calculate the displacement of each node point Pn , we first transmit the external forces on gn and gn−1 to Pn . This is performed using a weighted sum of external forces, which aims to weigh the contribution of sample points close to Pn . Therefore, the proposed method passes on weighted external forces associated with adjacent curve segments to their common node point to determine the displacement of the corresponding node. As demonstrated by experimental results given in Sect. “Experiments”, this simplifying assumption proves to be reliable. Furthermore, this assumption significantly reduces the computational cost. The procedure is summarized below. F̃bal (t) = D · Fbal (t) (1) F̃GVF (t) = ⎡ T b1 ⎢0 ⎢ D=⎢ ⎢· ⎣0 0 (2) and, D · FGVF (t) 0 ... ... bT 0 . . . · · · . . . bT 0 . . . 0 bT ⎤ b2T 0 ⎥ ⎥ · ⎥ ⎥ 0 ⎦ (3) As mentioned earlier, B(t) determines the contribution of the balloon force to the deformation of the contour. This contribution is dominant when the contour is far from image features, and gradually diminishes as the contour reaches salient image features. Let β(n, t) denote the nth diagonal entry in B(t). Then, β(n, t) is initially set to β(n, 0) = β0 = KV M , where K V is experimentally set for each resolution (see Table 1). Here, the desired transition between the balloon and GVF forces is realized using the discretized version of the following equation: ∂ f GVF,⊥ 2 ∂ f GVF,⊥ 2 ∂β(n, t) + = −k ∂t ∂n ∂t subject to β(n, t) ≥ 0 (9) where f GVF,⊥ (n, t) denotes the normal component of GVF force at nth node. In addition, constant k is experimentally set to 0.1. Note that, as the contour approaches the image boundaries, f GVF,⊥ increases and hence, β(n, t) and balloon force decrease. Also, it should be pointed out that the term 0 Table 1 Scale dependent parameters in the proposed algorithm and their values m−1 m = 1, . . . , M M (4) m = M + 1, . . . , 2M + 1 2 − m−1 M m −1 m −1 b1 (m) = 1 − and b2 (m) = , m = 1, . . . , M M M (5) b(m) = Calculating B(t) # Scale KV M Maximum iterations 1 0.25 0.2 10 20 2 0.5 0.5 20 15 3 1 1 40 40 in which F̃bal , F̃GVF ∈ N ×2 contain the balloon and GVF forces on node points Pn , respectively. Once balloon and GVF forces at each node point are determined using (1)–(5), total external force at each node is determined at its most general form by F̃ext (t) = B(t) F̃bal (t) + (t) F̃GVF (t) (6) where B(t) and (t) are diagonal matrices to be determined later. Note that the component of total external force which is tangent to the contour does not contribute to the deformation of the contour hence F̃ext (t) can be replaced by F̃ext,⊥ (t), which contains the normal component to the contour at every node point. Now, displacement of each node is determined in proportion to the total external force on the corresponding node: P(t) = F̃ext (t) (7) where the proportionality factor is assimilated in B(t) and (t) introduced in (10). Consequently, displacement of control points is determined as Q(t) = A−1 P(t) (8) Fig. 1 First row demonstrates the evolution of the B-spline snake which is modified to handle small gaps, whereas the second row depicts the conventional B-spline snake which certainly fails to stop at desired boundary. Note that small gaps, such as the one depicted above, are widespread in cardiac echo images 123 504 Int J CARS (2010) 5:501–513 Fig. 2 Curve evolution with (right) and without (left) reducing the GVF force in the proximity of the boundaries ∂ f GVF,⊥ ∂n plays an important role in (9). This term is responsible for not allowing the contour to penetrate inside small gaps, which potentially degrades the performance of algorithm as illustrated in Fig. 1. Intuitively speaking, when facing a small gap, f GVF,⊥ is negligible for at least one node point and has a considerable value at its adjacent nodes. Hence, the term ∂ f GVF,⊥ will force β(n, t) to decrease. Consequently, contour ∂n tends to stop at the gap, as desired. While being simple and primitive, absence of this modification is conventional techniques leads to notable degradation of performance in echo images in terms of missing the desired boundaries. Fig. 3 As illustrated above, normal line to the contour along each node point is processed to obtain the first local maximum, which in turn determines the local threshold on the intensity of the corresponding node point Calculating (t) GVF force drives the contour towards the maximum intensity in the image, which does not necessarily coincide with the desired boundary. The situation is depicted in Fig. 2. Therefore, denoting the nth diagonal entry in (t) by γ (n, t), we need to adaptively reduce γ (n, t) in the proximity of the boundaries. Similar to β(n, t), γ (n, t) is initially set to γ (n, 0) = KmV , where K V is experimentally set for each resolution (see Table 1). Then, γ (n, t) changes according to the discretized version of the following equations: ∂γ (n, t) = −kY (n) ∂t M 1 m Y (n) = − Thn I gn M M (10) (11) m=1 where k is experimentally set to 0.1 in this work and T h n is the threshold for the LV boundary in the nth segment. In addition, 0 ≤ I ( p) ≤ 1 denotes the normalized intensity of the image at point p in the image. To obtain Thn for nth node point, intensities along the normal line to the contour at nth node are processed to obtain the first local maximum, which will be denoted by LMline,n . Then, we have Thn = 21 LMline,n . This procedure is illustrated in Fig. 3. 123 Node insertion strategy In order to adaptively approach a complex contour without a priori fixing of the number of control points, a structure adaptive node point insertion strategy is developed. At each iteration, average displacement of all node points is calculated and recorded. New nodes that have been added in the current iteration do not count. Adaptive threshold on distance is then computed as follows: Td (t) = d(t) high ·T max{d(i), i ≤ t} d d(t) · Tdlow + 1− max{d(i), i ≤ t} (12) where d(t) and Td are average displacement and threshold on distance at each iteration, respectively, and other two parameters are selected to fulfill the specific requirements of high = 80, the medical application (here we have set Td low Td = 30). The underlying idea of this adaptive threshold can be described as follows. As soon as a fraction of B-spline snake reaches the boundary of the object, average displacement of nodes significantly reduces. In this phase, B-spline snake often requires more nodes to fit into the boundary. Int J CARS (2010) 5:501–513 505 Fig. 4 Performance of the proposed algorithm in several resolutions 80 60 40 20 0 -20 -40 -60 -80 Fig. 5 This figure depicts the longest line connecting any points on the endocardium of LV, in the apical 4-chambers view. This line is selected as the common axis for both views 50 0 -50 -50 0 50 Fig. 7 Sample 3D model of LV extracted from patient’s echocardiography images Fig. 6 Alignment of longest axes of two views and formation of normal planes Fig. 8 Modified Simpson technique for estimation of the volume of LV Hence, distance threshold is decreased to let new nodes to be added at necessary locations. At each iteration, if the distance between any two adjacent nodes exceeds the obtained adaptive distance threshold Td (t), a new node is inserted on the corresponding curve segment at equal distances from both adjacent nodes. Automatic contour initialization Automatic contour initialization is an advantage for algorithms of this type [2]. Here, a simple and effective technique is applied to echo images, which finds an initial contour based on few training images. In order to reduce the effect of 123 506 Int J CARS (2010) 5:501–513 images for apical 2- and 4- chamber images. For a given cardiac echo image, seed point is placed at the point at which the correlation of the image and the corresponding template is maximized. Finally, initial node points are inserted equally spaced, on the perimeter of a small circle centered at this seed point. Vivid 3 imaging instrument Capture Card Preview Manual Automatic Boundary Boundary detection detection Multiresolution strategy Let us first summarize the proposed algorithm as follows: LV volume Comparison of LV LV volume estimation boundaries estimation (1) Automatic selection of initial contour. (2) Compute the vector field produced by few iterations of GVF algorithm. (3) Check node insertion conditions and add nodes if required. (4) Compute P(t) using (11) and then determine P(t) = P(t − 1) + P(t). (5) Use (12) to convert P(t) to Q(t). (6) Check the convergence criteria. Comparison of LV volume Fig. 9 Block diagram of evaluation process employed in our experiments noise and unwanted features, wavelet decomposition is performed and a low-resolution version of the original image is kept. Two templates are then created based on these training 70 Accuracy (%) Fig. 10 Variation of the accuracy of boundary detection at the Scale = 0.25 due to change of M and K V As is widely known, exploiting a multiresolution strategy generally increases the robustness against noise and improves 60 M=5 M=10 M=15 50 40 30 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 Fig. 11 Variation of the computational time of boundary detection at the Scale = 0.25 due to change of M and K V Time of Computations (Sec) Kv 0.2 M=5 M=10 M=15 0.15 0.1 0.05 0 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 Kv 83.5 M=5 M=15 M=20 M=30 83 Accuracy (%) Fig. 12 Variation of the accuracy of boundary detection at the Scale = 0.5 due to change of M and K V . (M = 10 and K V = 0.2 are considered for Scale = 0.25) 82.5 82 81.5 81 80.5 80 0 0.5 1 1.5 Kv 123 2 2.5 Fig. 13 Variation of the computational time of boundary detection at the Scale = 0.5 due to change of M and K V . (M = 10 and K V = 0.2 are considered for Scale = 0.25) 507 Time of Computations (Sec) Int J CARS (2010) 5:501–513 0.8 M=5 M=15 M=20 M=30 0.6 0.4 0.2 0 0 0.5 1 1.5 2 2.5 Kv 92 Accuracy(%) Fig. 14 Variation of the accuracy of boundary detection at the Scale = 1 due to change of M and K V M=30 M=15 M=40 M=50 90 88 86 84 82 0 0.5 1 1.5 2 2.5 Fig. 15 Variation of the computational time of boundary detection at the Scale = 1 due to change of M and K V Time of Computations (Sec) Kv 0.7 M=15 M=30 M=40 M=50 0.6 0.5 0.4 0 0.5 1 1.5 2 2.5 Kv Fig. 16 Left manually (red) and automatically estimated (green) LV endocardial boundaries in two apical 4-chamber echo images. Right the overlap between two boundaries is colored in red 123 508 Int J CARS (2010) 5:501–513 Fig. 17 Application of the proposed boundary detection algorithm on few apical 4-chamber echo images. Images have been cropped for better visualization the convergence speed of active contours [28]. To obtain this multiresolution representation, wavelet decomposition has been used, which has recently found extensive applications in 123 image processing [29]. The basic principle of wavelet-based multi-scale object contour extraction is to construct an image pyramid and to start applying the procedure at the coarsest Int J CARS (2010) 5:501–513 509 3D Model for LV Fig. 18 Comparison of Dice’s coefficient and computational cost for the proposed method, MRF and conventional active contour algorithm on a database of fifty echo images level on a low-resolution version of the image. Upon convergence, the solution is propagated to the next finer level as an initial snake. Then it proceeds with this coarse-to-fine iteration strategy until the finest level of the pyramid (the original image) is reached. This type of multiresolution approach has two advantages: In the lower resolution, there are less wavelet coefficients and the B-snake easily deforms to the contour without much computation and is less interfered by noise. In higher resolution, with taking advantage of the initial position of the foregoing resolution, much more computation will be saved while B-spline snake finely tunes to the boundary [19]. Figure 4 depicts the output of the proposed algorithm in several scales. Once boundaries in apical 2- and 4- chamber views are identified, we can obtain a 3D model for the LV as follows [30]. According to cardiac ultrasonic imaging principles, it is assumed that apical 2-chamber view is almost perpendicular to the apical 4-chamber view. Therefore, we first find the longest line in each view, as shown in Fig. 5. Two images are then transformed so that these two lines are aligned. Finally, one view is rotated to make a right angle with another (Fig. 6). We may now divide their common axis into segments, to obtain several parallel planes, each intersecting the boundaries at four points. Each group of four points, in turn, uniquely forms a cubic B-spline curve connecting these points together. This, clearly, gives rise to the desired 3D model for LV, as shown in Fig. 7. LV volume estimation Here, we present a brief review on the algorithm for estimation of LV volume. The volume of LV can be calculated with the aid of modified Simpson formula [22], which is briefly described in the following. After finding the boundaries in apical 2- and 4- chamber images, n points are evenly selected on the long axis in each view, and then n line segments are drawn normal to the long axis. In addition, let L denote the length of main axis and let ai and bi denote the lengths of the ith line in the apical 2- and 4-chambers planes, respectively, Table 2 Statistical comparison of several automatic boundary detection algorithms on a database of fifty echo images Method Dice’s coefficient (%) Elapsed time (s) Mean Mean Variance Variance Proposed algorithm 91.13 4.96 1.24 0.28 Proposed algorithm without multiresolution strategy 81.80 7.56 1.83 0.28 Conventional parametric active contour [17] 84.91 8.79 3.01 0.55 Markovian random field [2] 88.98 6.57 4.31 0.04 Fig. 19 Apical 4-chambers view with poor contrast in endocardium region. The result obtained with multiresolution strategy (left) demonstrates considerable improvement over result obtained without multiresolution strategy (right) 123 Difference Ejection Fraction (%) 510 Int J CARS (2010) 5:501–513 Table 3 Similarity and root-mean-square-error of area, volume and ejection fraction between computer-generated results from proposed method and obtained results by specialist 15 10 # 5 Name Similarity (%) 0 -5 -10 -15 30 35 40 45 50 55 60 65 Mean Variance 93.24 15.71 Root mean square error 1 Area of LV chamber 1.4891 2 Volume of LV chamber 94.01 13.26 6.8407 3 Ejection fraction 90.65 43.19 4.6250 Average Ejection Fraction (%) Fig. 20 Demonstrating Bland–Altman plot to compare results of ejection fraction obtained with proposed method and clinical values obtained by specialist 1 ≤ i ≤ n (Fig. 8). Then, the volume of LV is estimated as VLV = n L π ai bi 4 n (13) i=1 where all measurements are in centimeter. To use Eq. (13), we had to convert the measurements from pixel to centimeter. This was achieved by manually drawing the ratio between centimeter and pixel in the video output of the echocardiograph. Typically, each centimeter was approximately equal to 21 pixels in the corresponding image (Fig. 9). Experiments In this section, we evaluate the performance of our proposed approach by comparing both manually obtained boundaries and state-of-the-art automatic boundary extraction technique. In order to facilitate the evaluation process, a graphical user interface was developed which enabled the expert to interactively draw the boundaries. Given the manually obtained boundaries, a well-known similarity measure was then utilized to quantify the performance of automatic boundary detection algorithms in comparison with manually obtained boundaries provided by the expert. Our evaluation also encompassed comparisons in three other major clinical decisions, namely area and volume identification and calculation of ejection fraction. This evaluation process is summarized in Fig. 10. Our image database included 50 images randomly picked from apical 2- and 4- chamber views of several patients in end of systole (ES) and end of diastole (ED) phases. All images were obtained from video output port of a Vivid 3 echocardiography instrument manufactured by GE using a Pinnacle capture card. Simulations were performed in MATLAB7 environment using an Intel Core 2 Duo, 2.2 GHz processor with 4 GB of memory, and under Microsoft Windows XP operating system. In addition, CPU time was used as a rough measure of complexity for algo- 123 rithms. It is also worth noting that, though our software was optimized in MATLAB, implementation in C++ may further improve the time efficiency of the algorithm. There are two important parameters, K V and M, which have a great impression on both the accuracy of boundary detection and the time of computations. A set of 25 eclectic images was used to determine a satisfactory combination of these two parameters for each resolution. In the first step, the best selection of K V and M for Scale = 0.25 were specified by taking to account both the accuracy and time of computations (Figs. 10, 11). Consecutively, same actions were made for Scale = 0.5 and Scale = 1 by keeping the selections of the parameters in lower scales (Figs. 12, 13, 14, 15). Finally, the result of these processes could be seen in Table 1. Evaluation of the estimated boundaries In this section, manually and automatically obtained boundaries are compared. In order to quantify the performance of boundary detection algorithms, the overlap between manually and automatically estimated regions is quantified by Dice’s coefficient which is defined as Dice’s coefficient = 2×overlap of two regions ×100 sum of the areas of two regions (14) The overlap between automatically and manually obtained boundaries in two sample echo images is depicted in Fig. 16 to further illustrate the boundary evaluation criterion. Figure 17 demonstrates the performance of the proposed boundary detection algorithm on few sample echo images. In addition, Fig. 18 and Table 2 provide a comparison between the proposed method and other automatic algorithms for LV endocardial boundary detection, in which manually obtained boundaries offered by the expert have been considered as the ground truth. It shall be noted that employed conventional parametric active contour model and Markovian Random Field labeling method have been implemented based on (but not exactly identical to) the techniques developed in [17] and [2], respectively. Finally, to better understand the vital role Int J CARS (2010) 5:501–513 of multiresolution strategy, Fig. 19 illustrates the effect of multiscale analysis on a sample echo image. Estimation of LV volume and area and ejection fraction Although the Dice’s coefficient defined in (14) is of considerable practical use, specialists take higher consideration in obtained area of LV, volume of LV, and ejection fraction ratio. Therefore, the performance of our algorithm was closely investigated in terms of LV volume and ejection fraction, as well as its area in different views. To obtain the ground-truth values, manually obtained boundaries reported by the expert were fed to the echocardiographic imaging system to calculate the LV volume and area. Given the manually extracted boundaries of LV, this instrument accurately estimates LV volume and area in different views. Ejection fraction may also be estimated from difference of LV volumes at ES and ED phases. Figure 20 demonstrates the Bland–Altman plot of ejection fraction ratio to compare the computer-generated results with obtained results by specialist. Table 3 compares the ground-truth values for LV volume, area, and ejection fraction with the results obtained by the proposed algorithm on several echo images. The similarity percents of area, volume, and ejection fraction are calculated with Eq. 15. i n X − Xi 1 (15) 1 − c t s × 100 (%) Similarity = n Xs 511 remarkable properties of GVF together with fast convergence speed. Multiresolution strategy increases the robustness against noise and improves the convergence speed of active contours. This improvement in speed and accuracy is demonstrated in Fig. 18 and Table 2. Also note that the proposed method achieves a smaller variance in accuracy over the database and hence a better stability. Finally, in terms of calculation of LV volume, ejection fraction, and surfaces in different views, the proposed method exhibits a remarkable agreement with the results offered by the expert (Table 3). Conclusions where and X si are results generated by computer and obtained by specialist for sample ith, and N is equal 50 in these experiments. In this paper, we presented a powerful B-spline snake algorithm which is equipped with novel strategies to overcome the impediments in cardiac echo image processing. The proposed framework applies a novel combination of external forces along with adaptive node insertion approach and conventional multiresolution strategy to speed up the convergence and improve the robustness against speckle noise. Moreover, due to matching of the parameters associated with each node point with image’s regional information in the proximity of that node, the proposed localized parameter estimation increases the accuracy of the boundary detection. It is possible to replace the conventional GVF with faster methods like fast gradient vector flow (FGVF) [31], which will further reduce the computational complexity of our algorithm. In addition, extension of the proposed algorithm may include its application to boundary motion tracking of sequential heart cycle images. Discussion Appendix A: Mathematical model As inferred from the experimental results, the proposed method demonstrates reasonable robustness against two major difficulties in echocardiographic image processing, i.e., speckle noise and gaps in the boundary. This robustness may be attributed to the novel combination of balloon force and GVF, which enables the algorithm to enjoy the An appropriate mathematical model for extraction of left ventricular endocardial boundaries in apical 2- and 4-chamber images is developed. As mentioned previously, conventional snake method requires calculation of the displacements at every point along the discretized contour, which is indeed computationally prohibitive. In other words, every i=1 X ci Fig. 21 Evolution of control points (green) and node points (red) in a sample echo through four consecutive iterations 123 512 Int J CARS (2010) 5:501–513 iteration of snake algorithm involves optimization of a large number of parameters, which control the smoothness and continuity of the contour as well as its interaction with external forces. Most of the excessive computational cost, however, can be avoided by introducing B-spline snake, which inherently enjoys smoothness and continuity features and involves fewer parameters compared to the conventional snake [27,32]. In B-spline snake, the contour is represented by B-spline basis functions and few control points govern the deformation of the contour in interaction with image forces [33]. Among several choices for B-spline basis functions, cubic B-spline snake offers a reasonable compromise between the complexity of the algorithm and the ability to fit in to arbitrary boundaries. Cubic B-spline snake is characterized by N control points Q i = [xi , yi ], i = 1, . . . , N and N connected curve segments gi (s) = [u i (s), vi (s)], where 0 ≤ s < 1. Each curve segment is a linear combination of four cubic polynomials in s. gi (s) = [ s 3 s 2 s 1 ] · M ⎤ ⎡ Q (i−1) mod N ⎢ Q (i) mod N ⎥ ⎥ ·⎢ ⎣ Q (i+1) mod N ⎦, i = 1, . . . , N Q (i+2) mod N (16) where, ⎡ −1/6 ⎢ 1/2 M =⎢ ⎣ −1/2 1/6 1/2 −1 −1 2/3 −1/2 1/2 1/2 1/6 ⎤ 1/6 0 ⎥ ⎥ 0 ⎦ 0 (17) n Cubic B-spline snake is now defined as r (s) = i=1 gi (s), where 0 ≤ s < 1. By setting s = 0 in (16), we obtain the so-called node points Pi , i = 1, . . . , N , which are located on the contour and are related to the control points as follows: P = A·Q ⎡ 1/6 ⎢0 ⎢ ⎢· A=⎢ ⎢0 ⎢ ⎣ 1/6 2/3 2/3 1/6 · ... 0 1/6 1/6 2/3 · ... ... 0 0 1/6 · 0 ... ... ... 0 · 1/6 0 ... ... ... · 2/3 1/6 0 ⎤ 0 0 ⎥ ⎥ · ⎥ ⎥ 1/6 ⎥ ⎥ 2/3 ⎦ 1/6 (18) (19) where P, Q ∈ N ×2 and A ∈ N ×N . Node points offer a more tangible representation of B-spline snakes, and hence are frequently used in the rest of this paper. Figure 21 demonstrates node points and their relation to control points through evolution of the contour. 123 References 1. Chen C, Lu H, Huang Y (2002) Cell-based dual snake model: a new approach to extracting highly winding boundaries in the ultrasound images. Ultrasound in Med Biol 28:1061–1073 2. Mignotte M, Meunier J, Tardif JC (2001) Endocardial boundary estimation and tracking in echocardiographic images using deformable templates and Markov random fields. Pattern Anal Appl 4(4):256–271 3. Edwards GJ, Taylor CJ, Cootes TF (1998) Interpreting face images using active appearance models. In Proc Int’l Conf Automatic Face Gesture Recog, pp 300–305 4. Cheng J, Foo SW, Krishnan SM (2006) Watershed presegmented snake for boundary detection and tracking of LV in echocardiographic images. IEEE Trans Info Technol Biomed 10(2):414–416 5. Chuang G, Kuo C (1996) Wavelet descriptor of planar curves: theory and applications. IEEE Trans Image Process 5:56–70 6. Park J, Keller JM (2001) snakes on the watershed. IEEE Trans Pattern Anal Mach Intell 23(10):1201–1205 7. Jacob M, Blu T, Unser M (2004) Efficient energies and algorithms for parametric snakes. IEEE Trans Image Process 13: 1231–1244 8. Noble JA, Boukerroui D (2006) Ultrasound image segmentation: a survey. IEEE Trans Med Imaging 25 9. Jacob G, Alison Noble J, Mulet-Parada M, Blake A (1999) Evaluating a robust contour tracker on echocardiographic sequences. Med Image Anal 3(1):63–75 10. Malassiotis S, Strintzis MG (1999) Tracking the left ventricle in echocardiographic images by learning heart dynamics. IEEE Trans Med Imaging 18(3):282–290 11. Mikic I, Krucinski S, Thomas JD (1998) Segmentation and tracking in echocardiographic sequences: Active contours guided by optical flow estimates. IEEE Trans Med Imaging 17(2):274–284 12. Chalana V, Linker DT, Haynor DR, Kim Y (1996) A multiple active contour model for cardiac boundary detection on echocardiographic sequences. IEEE Trans Med Imaging 15:290–298 13. Angelini ED, Laine AF, Takuma S, Holmes JW, Homma S (2001) LV volume quantification via spatiotemporal analysis of real-time 3-D echocardiography. IEEE Trans Med Imaging 20(6):457–469 14. Comaniciu D, Zhou XS, Krishnan S (2004) Robust real-time myocardial border tracking for echocardiography: an information fusion approach. IEEE Trans Med Imaging 23:849–860 15. Kass M, Witkin A, Terzopoulos D (1988) snakes: active contour models. Int J Comput Vis 1(4):321–331 16. Mishra A, Dutta PK, Ghosh MK (2003) A GA based approach for boundary detection of left ventricle with echocardiographic image sequences. Image Vis Comput 21:967–976 17. Mignotte M, Meunier J (2001) A multiscale optimization approach for the dynamic contour-based boundary detection issue. Comput Med Imaging Graph 25(3):265–275 18. Mignotte M, Meunier J, Tardif J-C (2001) Endocardial boundary estimation and tracking in echocardiographic images using deformable template and markov random fields. Pattern Anal Appl 4(4):256–271 19. Brigger P, Engel R, Unser M (1988) B-Spline snakes and a JAVA interface: an Intuitive tool for general contour outlining. ICIP 2:277–281 20. Brigger P, Hoeg J, Unser M (2000) B-spline snakes: a flexible tool for parametric contour detection. IEEE Trans Image Process 9(9):1484–1496 21. Wang Y, Teoh EK, Shen D (2001) Structure-adaptive B-snake for segmenting complex objects. In: Proceedings 2001 International Conference on image processing, vol 2, Issue, 7–10 Oct 2001, pp 769–772 Int J CARS (2010) 5:501–513 22. Menet S, Saint-Marc P, Medioni G (1990) B-snakes: Implementation and application to stereo. In: Image Understanding Workshop. Sept., pp 720–726 23. Xu C, Prince JL (1998) Generalized gradient vector flow external forces for active contours. Signal Process Int J 71(2):131–139 24. Wang M, Evans J, Hassebrook L, Knapp C (1996) A multistage, optimal active contour model. IEEE Trans Image Process 5:1586– 1591 25. Hill A, Taylor CJ (1997) Automatic landmark identification using a new method of non-rigid correspondence. In: Proc. Information Processing in Medical Imaging (IPMI’97). Springer, Berlin, pp 483–488 26. Flickner M, Sawhney H, Pryor D, Lotspiech J (1994) Intelligent interactive image outlining using spline snakes. In: 28th Asilomar Conf signals, systems, computers 1:731–735 27. Wang Y, Teoch EK (2006) Object contour extraction using adaptive B-snake model. J Math Imaging Vis 24(3):295–306 513 28. Marsousi M, Eftekhari A, Alirezaie J (2008) Object contour extraction in medical images by fast adaptive B-Snake. 30th Annual Int Conf of the IEEE Eng in medicine and biology society, pp 3068–3071 29. Rosenfeld A (1984) Multiresolution image processing. Springer, New York 30. Liao CW, Medioni G (1995) Surface approximation of a cloud of 3D points. Graph Model Image Process 57(1):67–74 31. Wei M, Zhou Y, Wan M (2004) A fast snake model based on nonlinear diffusion for medical image segmentation. Comput Med Imaging Graph 28:109–117 32. Wang Y, Teoh EK (2005) Dynamic B-snake model for complex objects segmentation. Image Vis Comput 23:1029–1040 33. Leung CC, Chan CH, Chan FHY, Tsui WK (2004) B-spline snakes in two stages Pattern Recognition, 2004. ICPR 2004. In: Proceedings of the 17th International Conference on vol 1, Issue, 23–26 Aug. 2004, pp 568–571 123