Keywords

1 Introduction

Image processing has many important applications in medical field because of the increased use of imaging modalities in medical diagnostics. Different imaging modalities assist the medical experts in their decisions by providing quantitative measures [1]. Ultrasonography (USG) is one of the oldest and widely used imaging modality in diagnosing of medical diseases. USG is most popular imaging modality. Ultrasonography is fast, needs lesser acquisition time and cheaper in cost. It can be repeated any number of times because of its harmless and low cost nature. It finds wide spread applications in diagnosing diseases associated with soft tissue organs [2]. But, it suffers from inherent speckle noise [3].

Kidney stone also known as renal calculus is a most common problem faced by many people worldwide. The frequency of recurrence of kidney stone is also more. Renal calculi are presenting a significant and a challenging problem to the human population. Use of the medical imaging modalities assist in treating such problems. Kidney stone detection is a rare research in the past years. Segmentation of stone from USG images of kidney is a difficult task. So, an automated diagnostic system for kidney USG images can assist the medical experts to distinguish the kidney lesions and thus enhance the diagnosis of disease.

2 Related Work

Removal of speckle noise from USG image is one of the primary step in preprocessing prior to segmentation. Various filters such as median, Gaussian, Weiner and Gabor filters are used in noise removal [3]. The despeckling of USG image using wavelets is highlighted in [4]. Efficiency of the method is illustrated by measuring the parameters such as mean square error, peak signal to noise ratio, etc. In order to carryout segmentation and classification, various methods are used in [5]. Biomedical images become complex as they contain several annotated objects such as arrows, labels, etc. [6, 7]. Annotated arrow detection is done by using a sequential classifier. Segmentation of different image layers is carried out using fuzzy binarization [8, 9].

For segmentation and classification of kidney from USG images, the image is rotated initially. Angle of rotation is not unique for all images and is varying for every input image. Texture features are extracted from the rotated image. Finally, classified with the help of texture features extracted from these rotated images. Gradient vector force based segmentation is used for segmenting kidney USG images. An external force is used for avoiding improper deformation of the snake while segmenting the contours of concave nature particularly [10]. An elliptical shape is used as a common shape for kidney and Fisher Tripplets are used to know the different types of kidney images in [11]. Computerized tomography images of kidney are segmented using active contours [12]. It works on the basis of non rigid image registration. Genetic algorithms (GAs) are applied in segmentation of USG images [13].

Survey on various segmentation techniques such as region based, edge based, watershed and cluster based algorithms is done in [14]. Most of the work in literature is carried out on segmenting kidney or organ as a whole. We focus on segmentation of renal calculi portion from digital USG images of kidney. Further, analysis on segmented stone provides useful information to the medical experts.

3 Proposed Method

Segmentation of kidney stone in medical ultrasound image is proposed in this work. Proposed methodology involves several steps such as preprocessing, removal of speckle noise, segmentation of preprocessed images using level set method and finally analyzing the segmented output. The methodology is illustrated in Fig. 1.

Fig. 1.
figure 1

Proposed method

3.1 Preprocessing of Ultrasound Kidney Images

Noise in USG images appears by the interaction between reflected waves from different individually scattered signals within the same frequency in an ultrasonography system [15]. Speckle is commonly found in the images containing organs like liver and kidney whose embedded elements are very tiny. So, it becomes difficult to determine by the wavelengths of transducers of the imaging system. Speckle is the major detraction for determination of organ lesions. It also leads to poor image quality when compared to other types of modalities such as computed tomography (CT) or magnetic resonance images (MRI). Usually most of the theories represent the speckle noise as a multiplicative noise. Acquired image I (m, n) is represented [15] as in (1).

$$\begin{aligned} I(m,n)&\approx A(m,n) s(m,n) \end{aligned}$$
(1)

Where A (m, n) is the actual true image and s (m, n) is the speckle noise. Dealing with multiplicative noise is more difficult than additive noise. Therefore, we have applied logarithmic transform in order to convert the multiplicative noise into additive. Contourlet transforms are found to be more suitable for despeckling of ultrasound images [15]. The method works perfectly on the images having rough contours. It works in two stages. Initially Laplacian Pyramid (LP) decomposition is performed. In this step, points of discontinuity are captured. Further, directional filter banks are used to connect these points of discontinuities. For LP decomposition, p1 levels are used. For each of these levels p2 levels of directional decompositions are applied. Thresholding is applied further. Then, inverse contourlet transform is applied to get the denoised images.

After speckle removal, contrast is enhanced to improve the quality of image using histogram equalization. Histogram equalization is one of the commonly used method for medical images [16]. The method adjusts the image, making it easy to analyze and with improved visual quality.

3.2 Segmentation Using Level-Set

Segmentation of image aims to find a collection of non-overlapping regions in an image. Presence of homogeneous intensity throughout the image is a common feature in images and becomes one of the limitations for segmentation algorithms. Particularly, region based segmentation methods work on homogeneous intensity based concept. So, the segmentation method fails in the accurate extraction of region of interest. We have used an edge based level set method for carrying out the task of segmentation.

Originally, level set method works on the concept of sign, to separate the problem image into disjoint regions. Then define a boundary using the points of continuity. Level set takes into account of fronts rather than surfaces [17]. Although the basic method of level set has several advantages, it may lead to wrong results. This is because of irregular level set function (LSF) working during deformation. This can be controlled by means of reinitialization of level set function during evolution [17, 18]. Proposed work uses a signed distance function for controlling the deformation of contour. We have used an edge based level set algorithm using distance regulation term for segmentation of calculi region from renal ultrasound images specified in [19].

Initially, the input image I is smoothened with Gaussian kernel specified in (2).

$$\begin{aligned} g \triangleq \frac{1}{1+ \triangledown K_{\sigma }*I^{2}} \end{aligned}$$
(2)

\(K_{\sigma }\) is the Gaussian kernel function and \(\sigma \) is the standard deviation. Partial differentiation of edge function of smoothened image (g) is to be computed, in order to define an initial LSF \(\emptyset _{0}\). Deformation of initial contour is based on energy function. An energy function using external energy and distance regularization term is shown in (3). External energy is calculated using (4) and term for distance regulation is calculated using (5). External energy is based on input data. \(\mu \) is a constant value and its value is larger than zero. \(L({\theta })\) and \(A({\theta })\) use an energy coefficient \(\alpha \) larger than zero. These functions can be defined with (6) and (7). Here, ‘dl’ represents delta function and ‘hs’ represents heaviside function. \(L({\theta })\) is the energy of line integral of g along initial zero level contour. \(A({\theta })\) is a weighted area of the region. Weighted area is needed to speedup the contour deformation. It effectively controls the deformation when initial contour is specified far from actual contour [19].

$$\begin{aligned} E({\theta })&=\mu R_{x}({\theta })+E_{ex}({\theta }) \end{aligned}$$
(3)
$$\begin{aligned} E_{ex}({\theta })&=\lambda L({\theta })+\alpha A({\theta }) \end{aligned}$$
(4)
$$\begin{aligned} R_{x}({\theta })&=\int X({\mid \triangledown \theta \mid })\varOmega du \end{aligned}$$
(5)
$$\begin{aligned} E({\theta }) \triangleq \int _{\varOmega } g. dl({\theta }) \triangledown \theta du \end{aligned}$$
(6)
$$\begin{aligned} A({\theta }) \triangleq \int _{\varOmega } g. hs({-\theta })du \end{aligned}$$
(7)

During deformation, if the evolved contour crosses zero points or no changes observed in consecutive iterations or if number of iterations specified initially is exceeded, then evolution of contour can be stopped.

3.3 Performance Parameters

Performance of segmentation algorithms can be measured in several ways. We have used two metrics namely dice coefficient and Jaccard index [20, 21] as performance parameters.

In equations, \(A_{1}\) represents segmented image of proposed algorithm. \(A_{2}\) is the ground truth image.

Dice Coefficient. Dice coefficient (DC) measures the similarity between two images. We have used dice coefficient to compare the resultant segmented image with ground truth image marked by medical expert. It can be calculated using (8).

$$\begin{aligned} DC&=\frac{2.\mid A_{1}\cap A_{2}\mid }{\mid A_{1}\mid +\mid A_{2} \mid } \end{aligned}$$
(8)

DC value varies between 0 and 1. For 100% accurate matching, the dice value is 1 and 0 for completely unmatched images.

Jaccard Index. The Jaccard index (JI) is also used for finding the similarity and dissimilarities between two sample data set. It is defined as the ratio of size of the intersection to the size of the union of the samples. Jacard index is also similar to that of dice coefficient. It ranges from 0 to 1. For exact match JI value is 1 and 0 for no match. It is expressed mathematically as in (9).

$$\begin{aligned} JI&=\frac{\mid A_{1}\cap A_{2}\mid }{\mid A_{1}\cup A_{2}\mid } \end{aligned}$$
(9)

4 Implementation and Results

Implementation is performed on Intel core i5 system having 4 GB RAM and 2.50 GHz processor. MATLAB 7.14 software is used for implementing the proposed method. Digital kidney USG images of various sizes and various orientations are used for implementation. The input image set is made of USG digital kidney images collected from BLDEDU’s Sri. B. M. Patil Medical College and Research Centre, Vijayapur. It is prepared in consultation with the medical experts from the hospital. The images in database are captured using Phillips HD11XE USG system, curvilinear transducer with frequency ranging from 5 MHz to 7 MHz. Experimentation is carried out on entire database of 27 renal calculus USG images. The sample ultrasonic medical images of kidney stones are shown in Fig. 2(a) and (b). The speckle noise removal is performed using contourlet transform. In first stage of Laplacian pyramidal decomposition, biorthogonal filters are applied. For second stage of directional decomposition, Phoong-Kim-Vaidyanathan-Ansari (PKVA) filters are applied. We have used two levels of LP decomposition with 6 levels of directional decomposition filters. To obtain better results, hard thresholding is performed further [11]. In the preprocessing step, the despeckled image is contrast enhanced with histogram equalization to improve the image quality. Preprocessed USG images of Fig. 2(a) and (b) are shown in Fig. 3(a) and (b) respectively.

Fig. 2.
figure 2

Sample kidney stone US images

Segmentation of kidney stone USG image is carried out using level set method. Initial contour and final deformations of Fig. 3(a) are shown in Fig. 4(a) and (b) respectively. Final deformed contour is obtained at 205 iterations for a single stone sample USG image of kidney. Similarly, initial contour and final deformations of Fig. 3(b) are shown in Fig. 5(a) and (b) respectively. Figure 5(b) is obtained at the end of 198 iterations for a multiple stone sample USG image of kidney.

Fig. 3.
figure 3

Preprocessed kidney stone USG images

Fig. 4.
figure 4

(a) Initial contour (b) Finally segmented/deformed contour

Fig. 5.
figure 5

(a) Initial contour (b) Finally segmented/deformed contour

Table 1. Analysis of segmented images

Number of stones is determined by counting number of segmented regions. The values of performance parameters for sample segmented images and number of stones are shown in Table 1. It also shows the ground truth for respective images obtained by medical expert.

Quantitative analysis of the segmented image is done by using dice coefficient and Jaccard index. Dice value calculated for an entire image set ranges between 0.614 and 0.896. An average dice coefficient obtained for an entire image set is 0.704. Jaccard index range is obtained for all the images in the data set. It ranges between 0.609 and 0.884. Average JI value obtained for an entire image set is 0.7. The results of segmentation of kidney stones in digital USG images are promising.

5 Conclusion

We have proposed a method for kidney stone segmentation in digital USG images. Preprocessing using contourlet transform and contrast enhancement using histogram equalization is carried out on clinical database. Level set method is effectively used in segmenting single as well as multiple stones in USG images. Performance of the segmentation is measured by using dice coefficient and Jaccard index. These are showing an accuracy of the implemented method. The obtained parameters can help the medical experts in their diagnosis process.