Volume 11 Supplement 2

## The 2009 International Conference on Bioinformatics & Computational Biology (BioComp 2009)

# Speckle reducing bilateral filter for cattle follicle segmentation

- Jinshan Tang
^{1}Email author, - Shengwen Guo
^{1}, - Qingling Sun
^{2}, - Youping Deng
^{3}and - Dongfeng Zhou
^{4}

**11(Suppl 2)**:S9

**DOI: **10.1186/1471-2164-11-S2-S9

© Tang et al; licensee BioMed Central Ltd. 2010

**Published: **02 November 2010

## Abstract

### Background

Ultrasound imaging technology has wide applications in cattle reproduction and has been used to monitor individual follicles and determine the patterns of follicular development. However, the speckles in ultrasound images affect the post-processing, such as follicle segmentation and finally affect the measurement of the follicles. In order to reduce the effect of speckles, a bilateral filter is developed in this paper.

### Results

We develop a new bilateral filter for speckle reduction in ultrasound images for follicle segmentation and measurement. Different from the previous bilateral filters, the proposed bilateral filter uses normalized difference in the computation of the Gaussian intensity difference. We also present the results of follicle segmentation after speckle reduction. Experimental results on both synthetic images and real ultrasound images demonstrate the effectiveness of the proposed filter.

### Conclusions

Compared with the previous bilateral filters, the proposed bilateral filter can reduce speckles in both high-intensity regions and low intensity regions in ultrasound images. The segmentation of the follicles in the speckle reduced images by the proposed method has higher performance than the segmentation in the original ultrasound image, and the images filtered by Gaussian filter, the conventional bilateral filter respectively.

## Background

Ultrasound imaging technology has wide applications in cattle reproduction and has been used to monitor individual follicles and determine the patterns of follicular development [1–6]. The adoption of ultrasound imaging technology in cattle reproduction can provide an effective way to understand a number of issues on bovine reproductive cycle and its concurrent disorders [4]. For example, with the help of ultrasound imaging technology, it is now known that follicular growth occurs in wave-like patterns during each estrous cycle [7]. Ultrasound imaging technology also provides a tool for understanding the influence of dominant follicles on medium and small follicles [7].

In the applications of ultrasound imaging to monitoring individual follicles and determining the patterns of follicular development, the acquisition of the measurements of the individual follicles such as diameters, areas and perimeters is very important. In order to acquire the measurements of an individual follicle, image segmentation techniques are often used to extract the individual follicles. However, speckles in ultrasound images affect the segmentation and finally affect the measurement of the follicles. Speckle noise, seen as a granular structure, is caused by the interaction between the ultrasound waves and the scatters within the tissue [8]. The inherent nature of speckles makes its removal difficult. Speckle noise is not an additive noise, but is considered as a kind of multiplicative noise [9][10]. Many speckle reduction technologies have been proposed. In [11], a Laplacian pyramid-based nonlinear diffusion (LPND) is presented for medical ultrasound imaging. In the proposed method, the image is first decomposed into multi-layer Laplacian pyramid and speckles are removed by nonlinear diffusion filtering of bandpass ultrasound images in Laplacian pyramid domain. In [12], a nonlinear multiscale wavelet diffusion for speckle reduction is proposed. Speckles are suppressed by employing the iterative multiscale diffusion on the wavelet coefficients. In [9], a speckle reduction algorithm---speckle reducing anisotropic diffusion (SRAD) is proposed. The proposed algorithm has good performance in the preservation of edges and speckle reduction.

In this paper, we will investigate using bilateral filter to reduce the speckles in ultrasound images for cattle follicle segmentation. It is well known that bilateral filter has good performance in noise reduction and edge preservation. However, current existing bilateral filters are mainly used for additive noise reduction. It is not effective when it is applied to speckles, which are generally modelled as multiplicative noise. In order to solve this issue, we propose an adaptive bilateral filter, which can reduce the speckles effectively.

## Methods

### Bilateral filter

*J*(

*Y*) is the input pixel values,

*X*and

*Y*are the coordinates vectors,

*σ*

_{ d }

^{2}and

*σ*

_{ r }

^{2}are the parameters controlling the fall-off of weights in spatial and intensity domains, respectively,

*N*(

*X*) is a spatial neighborhood of pixel

*J*(

*X*), || || is Euclidean distance, C is used for the normalization and is expressed as [13][17]

In the above equation, when *X* and *Y* are 2-D vectors, the bilateral filter is called 2-D bilateral filter, which can be used to reduce the noise in 2-D images.

Bilateral filter is a good choice for image de-noising because it is stable and simple. The effectiveness of bilateral filter lies in the combined use of the domain filter, which is used to enforce spatial closeness by weighting pixel values with coefficients that fall off with distance [18], and the range filter, which assigns greater coefficients to those neighbouring pixels with light intensity that is more similar to the centre pixel value [18]. In bilateral filter, the choice of the parameters *σ*_{
d
}^{2} and *σ*_{
r
}^{2} is very important. If their values are set too high, the filter will act as a smoothing filter and will blur the edges. If their values are set too low, the noise cannot be removed. Generally speaking, the choice of *σ*_{
d
}^{2} and *σ*_{
r
}^{2} depends on the variance of the noise. Based on the research in [17], the optimal *σ*_{
d
}^{2} is relatively insensitive to noise variance while the optimal *σ*_{
r
}^{2} changes significantly as the noise standard deviation changes [17]. [17] also demonstrates that *σ*_{
r
}^{2} and noise variance are linearly related to a large degree. The research in [17] is based on additive noise model. If bilateral filter is applied to speckle noise, the relationship between *σ*_{
r
}^{2} and noise variance will not be established because speckle noise is multiplicative noise. In order to reduce the speckles in ultrasound images effectively, we develop speckle reducing bilateral filter.

### Speckle reducing bilateral filter

Generally speaking, noise can be modelled by an additive model or a multiplicative model. Additive noise model is the simpler case of the two and can be described by a linear model

*J*(*X*) = *I*(*X*) + *n*(*X*) (3)

where *J*(·) is the noised image, *I*(·) is the original image and *n*(·) is the noise. Multiplicative noise is generally expressed by a multiplicative model

*J* (*X*) = *I* (*X*) * *n*(*X*) (4)

It is well known that multiplicative noise appears much worse in bright image regions than dark regions since it multiplies the gray intensities.

Speckle noise is generally treated as multiplicative noise and can be modelled using equation (4). Thus, compared with other types of noise, speckle noise is generally difficult to be removed. Our research below shows that the conventional bilateral filter described in equation (1) and (2) generally gets bad results when it is applied to speckle reduction directly. Thus, the bilateral filter described in (1) and (2) needs improvement or enhancement so that it can be applied to reduce the speckles in images effectively. In order to do this, we will first analyze the behavior of of the bilateral filter in equation (1) in a homogenous region for both additive noise and multiplicative noise, then we will propose an adaptive bilateral filter for speckle reduction.

Let *J*(*Y*) and *J*(*X*) be two different pixels from image *J.* If *J* is corrupted by additive noise, then we can use equation (3) to compute the difference between these two pixels

||*J*(*Y*) - *J*(*X)*|| *= ||I*(*Y*) + *n(Y*) -*I*(*X*) - *n*(*X*)|| (5)

If both *J*(*Y*) and *J*(*X*) are from the same homogenous region, then we have *I*(*Y*) = *I*(*X*), thus

||*J*(*Y*) - *J*(*X)|| = ||n*(*Y*) - *n*(*X*)|| (6)

Equation (6) means that the difference between any two pixels from the same homogenous region is only related to the difference of the noise. If *J* is corrupted by multiplicative noise, then we can use equation (4) to compute the difference between these two pixels. From equation (4), we have

||*J*(*Y*) - *J*(*X)|| =* ||*I*(*Y*) * *n*(*Y*) - *I(X*) * *n*(*X*)|| (7)

Similarly, if both *J*(*Y*) and *J*(*X*) are from the same homogenous region, then we have *I*(*Y*) = *I*(*X*), thus

||*J*(*Y*) - *J* (*X*)|| = ||*I*(*X*)||||*n*(*Y*) - *n*(*X*)|| (8)

From equation (8), we can understand that the difference between two pixels in the same homogenous region(in the image corrupted by multiplicative noise) is not only related to the difference of the noise. It also depends on the intensity of the region. As is seen in equation (8), the difference is big when the intensity of the region is big while the difference is small when the intensity of the image is small.

*σ*

_{ r }

^{2}is fixed in the processing, when

*σ*

_{ r }

^{2}is set to be big, the edge in lower intensity regions will be removed, while the noise can’t be removed in the higher-intensity regions when

*σ*

_{ r }

^{2}is set to be small. Thus, in order to develop an effective bilateral filter to remove the speckle, we need to develop a new representation of the difference. Dividing each side of equation (8) by ||

*J*(

*X*)||, in the homogenous regions, we have

Where . Experiments show that iterative bilateral filter gives much better results than the non-iterative bilateral filter.

### Cattle follicle segmentation

In order to analyze and monitor the reproduction of cattle, the acquisition of some quantitative parameters is very important. These parameters include diameters, areas and perimeters of the follicles. These parameters can be used to monitor the development and maturity of follicles. In order to get these parameters, we need to segment the follicles.

*g*is a decreasing function of the edge-force magnitude and is defined as follows:

Here *k* is a non-negative smoothing parameter for the field (*u*, *v*)*.* The functional described by equation (15) smoothes the force field (*u*, *v*) only when the edge strength is low. Solving the energy functional optimization problem in (14), we can obtain the generalized gradient vector flow, which can be used as external forces that attract the snake to the follicle boundary [20][21].

GVF provides external forces for a snake model, we also need internal forces to smooth the contour. In this paper, we use B-spline to represent the contour instead of the real internal forces. B-spline has been used in snake model in several applications and get pretty good results [22][23][24]. Let the control points be denoted by *P*_{0} through *P*_{
m
}. The knot-value sequence is a non-decreasing sequence of knot values *t*_{0} through *t*_{
m
}_{+4}, and *Q*_{
i
} is a curve segment defined by control points *P*_{
i-
}_{3}, *P*_{
i-
}_{2}, *P*_{
i-
}_{1}, *P*_{
i
} and blending functions *B*_{
i-
}_{3,4}, *B*_{
i
}_{-2,4}, *B*_{
i
}_{-1, 4}, *B*_{
i
}_{, 4} (*t*) as follows [22]:

*Q*_{
i
} (*t*) = *P*_{
i-
}_{3} · *B*_{i-3, 4} + *P*_{i-2} · *B*_{
i
}_{-2,4} + *P*_{
i
}_{-1} · *B*_{
i
}_{-1,4} + *P*_{
i
} · *B*_{
i
}_{,4} (*t*)(16)

*≤ i ≤ m*and

*t*

_{ i }

*≤ t ≤ t*

_{ i+ }

_{1}. The blending functions can be obtained using recursion as follows [22]:

When *p*=4, we obtained the blending function of cubic splines. The GVF snake with B-spline is called B-spline GVF snake [23][24][25].

For the segmentation of the follicles, we initialize the B-spline GVF snake using a circle inside each follicle. The circle is represented by B-spline and the number of control points is set to 48 in this paper. Then, starting from the initial contour, the GVF is used to drive the contour to the boundary of the follicle. The evolution of the contours is the same as that in the B-spline GVF snake in single scale proposed by [24].

## Results

### Results from Synthetic Images

*α*and edge preservation parameter

*β*[26]. The NMSE is defined as [26]

_{0}and I are the original image and the corrupted image, respectively, N is the pixel number of the image I

_{0}(or) I, and are the means of I and I

_{0}, respectively. The NMSE generally represents the difference between the original image and the processed image. The noise reduction measure is defined as [26]

where Δ is the Laplacian operator. Higher *α* and *β* represent better performance in noise reduction and edge preservation.

*σ*

_{ d }was fixed to be 3 and

*σ*

_{ r }was set to be ranged from 0.1 to 1.0. We use the iterative scheme in the conventional bilateral filter and the proposed filter, iteration is 5 for the two filters. The values of NMSE,

*α*and

*β*obtained from the processed images are given in Fig.2, Fig.3 and Fig.4, respectively. From the figures, we can find that when

*σ*

_{ r }is small, we have big NMSE values, small

*α*and

*β*values for both filters. This result means that both filters have poor performance in noise suppression and edge preservation when

*σ*

_{ r }is small. When

*σ*

_{ r }increases, the performance (in both noise reduction and edge preservation) of both filters will be improved and then the best performance is achieved when some

*σ*

_{ r }is reached. We call the

*σ*

_{ r }which makes a filter have the best performance as the optimal point, denoted by

*σ*

_{ r }

^{ T }. Obviously, the two filters have different optimal points and the performance of a filter will become worse when

*σ*

_{ r }is bigger than its optimal point

*σ*

_{ r }

^{ T }. The above quantitative measurement also reveals that the conventional bilateral filter behaves better than the proposed bilateral filter when

*σ*

_{ r }is small, and the proposed bilateral filter outperforms the conventional bilateral filter quickly with the increase of

*σ*

_{ r }. However, at the optimal points, the proposed bilateral filter has better performance than the conventional bilateral filter.

Fig.1(c) and 1(f) are the best results obtained by the conventional bilateral filter with *σ*_{
r
} = 0.3 and the proposed bilateral filter with *σ*_{
r
} = 0.7 respectively. In Fig. 1(c), there are still many speckles while the smaller objects are blurred and nearly smeared out. However, in Fig. 1 (f), most of the speckles are removed and the objects are preserved. We also compared the results obtained by the two filters with the same parameters. Fig. 1 (d) is the result obtained by the proposed filter with *σ*_{
r
} = 0.3, which is the same as the setting in Fig.1(c). The NMSE, *α* and *β* are 0.1391, 0.9891 and 0.6571 in Fig.1(c), while the measurements are 0.1474, 0.9889, 0.6769 in Fig.1 (d). It shows that there are more speckles in Fig.1 (d), but the smaller objects and edges are clearer than that in Fig. 1(c). Fig.1 (e) is the result obtained by the conventional bilateral filter with the same *σ*_{
r
} = 0.7 as the result in Fig. 1(f). It illustrates that speckles are removed effectively and all edges are retained, however, all objects are blurred heavily in Fig.1(e), especially the smallest circle and rectangle are smeared out. The measurements, NMSE, *α* and *β* are 0.2937, 0.9762 and 0.6335 in Fig.1 (e), while the three measurements are 0.2146, 0.9888, 0.7547 in Fig.1(f).

All of the above experiments show that the proposed bilateral filter can achieve better performance in noise removal and edge preservation than the conventional bilateral filter.

### Results from real ultrasound Images

where *c*(*x, y*)*,* the local contrast at pixel (*x, y*), is the Laplacian operation

*c*(*x*, *y*) = 4*I*(*x*, *y*) - {*I*(*x* - 1, *y*) + *I*(*x*, *y -* 1) + *I*(*x* + 1, *y*) + *I*(*x*, *y +* 1)} (17)

where *I*(*x, y*) is the pixel intensity value at pixel (*x*, *y*) of an image, *w* is a region or a set of edge points, and *m* is the number of the pixels in the region or edge points.

where I_{A} is the number of boundary pixels delineated by an automatic segmentation method, I_{I} is the number of boundary pixels delineated by the technicians. *d(i)* is the Euclidean distance between a boundary pixel of ground truth or delineated by the technicians and the nearest boundary pixel extracted by automatic segmentation, and γ is a scaling constant(0.05 in our experiments).

## Discussion

Bilateral filter is a powerful technique in image de-noising due to its stability, and simplicity. The basic idea of bilateral filter is to replace a pixel value by a weighted average of its neighbours in both space and range (pixel values). However, the conventional bilateral filter performs poorly on ultrasound images due to the speckles. From the multiplicative noise model, we investigated a normalized scheme based on the conventional bilateral filter so as to remove the speckles effectively while preserving useful details. For bilateral filter, the parameters including *σ*_{
d
}^{2} and *σ*_{
r
}^{2} play a vital role in noise removal and edge preservation. It has been demonstrated that the optimal *σ*_{
d
}^{2} is relatively insensitive to noise variance while the optimal *σ*_{
r
}^{2} value changes significantly as the noise standard deviation changes. To investigate the performance of bilateral filter with different values of *σ*_{
r
}^{2}, we applied the bilateral filters on synthetic images and used three quantitative measures including NMSE, noise reduction measure and edge preservation measure for analysis and comparison. We can see that the proposed method is more robust and effective than the conventional bilateral filter. The above three measures can be used for parameter selection of bilateral filters. However, since the ideal signals or non-noised images are usually unknown for real biomedical images, we should define other measures such as local contrast of homogenous regions and edge points set. Our local contrast is more robust and effective for algorithm evaluation in noise reduction and details preservation. This kind of measure can be adopted for parameter selection in bilateral filters when the filters are applied to real images. We compared the proposed filter with the conventional bilateral filter and Gaussian filter. Although Gaussian filter can reduce noises more or less, most of the edges and details have been smeared out. The conventional bilateral filter behaved poorly in speckle reduction. Experimental results of real ultrasound images of follicles illustrate that our proposed algorithm could obtain the best performance.

## Conclusions

We presented a normalized bilateral filter for speckle reduction in ultrasound images for follicles segmentation. We compared the conventional bilateral filter with the proposed filter using synthetic speckled images and demonstrated its good performance in speckle reduction and edge preservation. Besides, we also tested the proposed filter, the conventional bilateral filter and Gaussian filter using real ultrasound images of cattle follicles. The contrast values of homogenous regions and edge points set demonstrated the proposed algorithm could achieve the best performance. The segmentation experiments also proved that B-spline snake can accurately find the boundary of the follicles from the filtered images by the proposed method. Experimental results validated the effectiveness and the accuracy of the proposed filter in noise reduction and edge preservation for follicle segmentation.

## Declarations

### Acknowledgements

This work has been supported by the United States Department of Agriculture (award No. 2007-38814-18488). The authors appreciate Dr. Evelin Cuadra and Ms. Melissa C. Mason's work in the acquisition of the cattle follicle images. Publication of this supplement was made possible with support from the International Society of Intelligent Biological Medicine (ISIBM).

This article has been published as part of BMC Genomics Volume 11 Supplement 2, 2010: Proceedings of the 2009 International Conference on Bioinformatics & Computational Biology (BioComp 2009). The full contents of the supplement are available online at http://www.biomedcentral.com/1471-2164/11?issue=S2.

## Authors’ Affiliations

## References

- Knopf L, Kastelic JP, Schallenberger E, Ginther OJ: Ovarian follicular dynamics in heifers: test of twowave hypothesis by ultrasonically monitoring individual follicles. Domes Anim Endoc. 1989, 6: 111-119. 10.1016/0739-7240(89)90040-4.View ArticleGoogle Scholar
- Lavoir M, Fortune JE: Follicular dynamics in heifers after injection of PGF2∝ during the first wave of follicular development. Theriogenology. 1990, 33: 270-10.1016/0093-691X(90)90694-O.View ArticleGoogle Scholar
- Lucy MC, Savio JD, Badinga L, De La Sota RL, Thatcher W: Factors that affect ovarian follicular dynamics in cattle. J Anim Sci. 1992, 70: 3615-3626.PubMedGoogle Scholar
- Ribadu AY, Nakao T: Bovine Reproductive Ultrasonography: A Review. J. Reprod. Dev. 1999, 45: 13-28.Google Scholar
- Pieterse MC, Taverne MA, Kruip TA, Willemse AH: Detection of corpora lutea and follicles in cows: a comparison of transvaginal ultrasonography and rectal palpation. Vet. Rec. 1990, 56: 552-554.Google Scholar
- Driancourt MA, Thatcher WW, Terequi M, Andriew D: Dynamics of ovarian follicular development in cattle during the estrous cycle, early pregnancy and in response to PMSG. Dom Anim Endocr. 1991, 8: 21-37.Google Scholar
- Rajamahendran R, Ambrose DJ, Burton B: Clinical and research applications of real-time ultrasonography in bovine reproduction: A review. Can Vet J. 1994, 35: 563-572.PubMed CentralPubMedGoogle Scholar
- Wachowiak S, Smolikova R, Zurada J, Elmaghraby A: A Neural Approach to Speckle Noise Modeling. Intelligent Engineering Systems Through Artificial Neural Networks: Smart Engineering System Design: Neural Networks, Fuzzy Logic, Evolutionary Programming, Data Mining and Complex Systems. 2000, ASME Press, New York, 10: 837-842.Google Scholar
- Yu Y, Acton ST: Speckle Reducing Anisotropic Diffusion. IEEE Trans. Image Process. 2002, 11: 1260-1270. 10.1109/TIP.2002.804276.View ArticlePubMedGoogle Scholar
- Sun Q, Hossack J, Tang J, Acton ST: Speckel reduing Anisotropic Diffusion for 3D Ultrasound images. Computerized Medical Imaging and Graphics. 2004, 28: 461-470. 10.1016/j.compmedimag.2004.08.001.View ArticlePubMedGoogle Scholar
- Zhang F, Yoo YM, Koh LM, Kim Y: Nonlinear Diffusion in Laplacian Pyramid Domain for Ultrasonic Speckle Reduction. IEEE Transaction on Medical Imaging. 2007, 26: 200-211. 10.1109/TMI.2006.889735.View ArticleGoogle Scholar
- Yue Y, Croitoru MM, Bidani A, Zwischenberger JB, Clark JW: Nonlinear Multiscale Wavelet Diffusion for Speckle Suppression and Edge Enhancement in Ultrasound Images. IEEE Transactions on Medical Imaging. 2006, 25: 297-311. 10.1109/TMI.2005.862737.View ArticlePubMedGoogle Scholar
- Tomasi C, Manduchi R: Bilateral filtering for gray and color images. Proc. Int. Conf. Computer Vision. 1998, 839-846.Google Scholar
- Phelippeau H, Talbot H, Akil M, Bara S: Shot noise adaptive bilateral filter. Proceedings of the 9th International Conference on Signal Processing. 2008, 864-867. full_text.Google Scholar
- Barash D: Fundamental relationship between bilateral filtering, adaptivesmoothing, and the nonlinear diffusion equation. IEEE Transactions on Pattern Analysis and Machine Intelligence. 2002, 24: 844-847. 10.1109/TPAMI.2002.1008390.View ArticleGoogle Scholar
- Butt I, Rajpoot N: Multilateral Filtering: A Novel Framework for Generic Similarity-based Image Denoising. Proceedings International Conference on Image Processing (ICIP'2009).
- Zhang M: Bilateral Filter in Image Processing, Master Theis. 2009, Louisiana State UniversityGoogle Scholar
- Hu Q, He Q, Zhou J: Multi-Scale Edge Detection with Bilateral Filtering in Spiral Architecture. Proceedings of the Pan-Sydney Area Workshop on Visual Information Processing. 2004, 6: 29-32.Google Scholar
- Kass M, Witkin A, Terzopolous D: Snakes: Active contour models. International Journal of Computer Vision. 1987, 1 (4): 321-331. 10.1007/BF00133570.View ArticleGoogle Scholar
- Xu C, Prince JL: Snakes, shapes, and gradient vector flow. IEEE Trans. Image Processing. 1998, 7 (3): 359-369. 10.1109/83.661186.View ArticleGoogle Scholar
- Xu C, Prince JL: Generalized gradient vector flow external force for active contours. Signal Processing. 1998, 71 (2): 131-139. 10.1016/S0165-1684(98)00140-6.View ArticleGoogle Scholar
- Foley J, Dam A, Feiner S, Hughes J: Computer graphics: principles and practice. 1996, Addison Wesley PublishingGoogle Scholar
- Tang J, Millington S, Acton S, Crandall J, Hurwitz S: Surface extraction and thickness measurement of the articular cartilage from MR images using directional gradient vector flow snake. IEEE Tr. On Biomedical Engineering. 2006, 52 (5): 896-907. 10.1109/TBME.2006.872816.View ArticleGoogle Scholar
- Tang J, Acton S: vessel boundary tracking for intravital microscopy via multi-scale gradient vector flow snakes. IEEE Tr. On Biomedical Engineering. 2004, 51 (2): 316-324. 10.1109/TBME.2003.820374.View ArticleGoogle Scholar
- Brigger P, Hoeg J, Unser M: B-spline snakes: a flexible tool for parametric contour detection. IEEE Tr. on Image Processing. 2000, 9 (9): 1484-1496. 10.1109/83.862624.View ArticleGoogle Scholar
- Satter F, Floreby L: Image enhancement based on nolinear multiscale method. IEEE Tr. on Medical Imaging. 1997, 6 (6): 888-895. 10.1109/83.585239.Google Scholar
- Tang J, Sun Q: A 3-D anisotropic diffusion filter for speckle reduction in 3-D ultrasound images. Proc. SPIE. 2009, 7239:72390T-72390T-9Google Scholar
- Klein A, Lee F, Amini A: Quantitative coronary angiography with deformable spline models. IEEE Tr. on Med. Imaging. 1997, 16 (5): 468-482. 10.1109/42.640737.View ArticleGoogle Scholar
- Pratt W: Digital image processing. 1978, Willy, New YorkGoogle Scholar

## Copyright

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.