color doppler flow image analysis -...
TRANSCRIPT
CHAPTER 5
COLOR DOPPLER FLOW IMAGE ANALYSIS
5.1 INTRODUCTION
Doppler echocardiography is the most direct and theoretically accurate technique for
assessing blood flow [Miguel, 2002]. Combining blood velocity with the cross-sectional area of
the orifice through which the blood is flowing provides the basis to quantify blood flow
[Pinjari, 2009]. Color Doppler flow is the initial approach currently used for the diagnosis of
mitral regurgitation and stenosis [Hari, 1998]. This capability has generated great excitement
about the use of the technique for identifying valvular, congenital, and other forms of heart
disease, as the color flow image imparts spatial information to the Doppler data. To
inexperienced Doppler users, the color flow display makes the Doppler data more readily
understandable because of the avoidance of complex spectral velocity displays.
In this chapter a comprehensive discussion of color Doppler flow image analysis is
presented. It includes the following: understanding of the Doppler images, interpretation,
segmentation using Fast SQL K-Means Color clustering algorithm, pixel-classification based
segmentation, and qualitative feature extraction.
The major research contribution with respect to Doppler images is the analysis of Doppler
images using some novel methods for various image processing techniques, statistical methods,
pattern recognition, etc.
5.2 BASICS OF COLOR DOPPLER IMAGES
Doppler echocardiography is an integral part of almost every ultrasonic examination of the
heart. Thus knowledge of Doppler principles is essential for anyone involved with
echocardiography [Ashraf, 2006] [Feigenbaum, 1993]. It is primarily a technique for recording
the manner in which blood moves within the cardiovascular system. Blood flowing through the
heart and blood vessels can be either laminar or turbulent. Laminar flow occurs when the
CHAPTER 5 - COLOR DOPPLER FLOW IMAGE ANALYSIS
123
majority of flow is moving in the same direction and at similar velocities. Turbulent flow
occurs when flow is disturbed, by a stenosis or regurgitation.
By convention, flow that is moving away from the transducer is encoded in blue and flow
that is moving toward the transducer is encoded in red (that is, BART – Blue Away Red
Toward) as shown in Figure 5.1 (a).
.
Fig. 5.1 Doppler images (a) Color flow direction during early systole (Normal patient
(b) Abnormal patient (severe MR)
5.2.1 THE MEANING OF COLOR
The position of the transducer or probe is at the apex or head of patient (marked with red
arrow). So the blue color pattern shows that the flow is away from the probe and similarly red
color shows the flow toward the probe. When a mosaic color pattern is seen in the image
signifies abnormality (severe MR in the case of Figure 5.1(b)).
Fig. 5.2 Three color bars from a color flow system. When there is no flow, black is displayed (center) in
the standard bar (left), flow toward the transducer at the top is in red, flow away in blue.
Progressively faster velocities are displayed in brighter shades of red or blue. The center bar is in an
enhanced map, and the right bar in a variance map.
In addition to this color scheme, three color bars also appear on the right top corner or left
top corner of the image as shown in Figure 5.1 (a) and (b). These colors contain useful
information. As shown in Figure 5.2, in addition to simple direction, velocity information is
Apex
Color
Bar Color
Bar
CHAPTER 5 - COLOR DOPPLER FLOW IMAGE ANALYSIS
124
also displayed. Progressively increasing velocities are encoded in varying hues of either red or
blue. The more dull the hue, the slower the velocity. The brighter the hue, faster is the relative
velocity. In the color bar shown in the center of Figure 5.2, the colors have been “enhanced” so
that the hues of red are increased from very dull red to bright yellow and the hues of blue are
increased from very dull blue to a bright pale blue.
The enhanced map helps a beginner to understand the relationship between velocity and
color. The bar at the right demonstrates variance. As will be seen later, color is also used to
display turbulent flow and allows an operator to discriminate between normal and abnormal
flow states [Joseph, 2010].
5.2.2 INTERPRETING COLOR DOPPLER IMAGES
Doppler flow imaging is fairly a complex technology, which therefore can be influenced by
many technical factors. Perhaps the most useful application of color flow imaging is in the
detection of valvular regurgitation. Typically, the following abnormalities can be studied using
color Doppler image analysis:
Valvular Regurgitation
o Aortic insufficiency
o Tricuspid Regurgitation
o Pulmonic insufficiency
Valvular Stenosis
o Mitral Stenosis
o Aortic Stenosis
o Tricuspid and Pulmonic Stenosis
The regurgitation and stenosis diseases can easily be identified based on the mosaic color
pattern present in the various cardiac chambers. For example, MR and AR abnormalities are
shown in Figure 5.3(a) and 5.3(b) respectively.
Fig. 5.3 Valvular Defects in Apical four chamber view (a) Severe MR (b) Severe AR
CHAPTER 5 - COLOR DOPPLER FLOW IMAGE ANALYSIS
125
Fig. 5.4 Stenosis Defects in Apical four chamber view (a) MS (b) AS
Similarly, MS and AS with mosaic colors are shown in Figure 5.4(a) and 5.4(b)
respectively [Paul, 2011]. In contrast, a normal color Doppler image will not carry the mosaic
color pattern, but either red or blue uniform color as shown in Figure 5.5.
Fig. 5.5 Color Doppler image with uniform color pattern (Normal patient)
Color flow Doppler echocardiography also has an extremely useful role in the assessment
of congenital abnormalities [Pinjari, 2009]. By superimposing flow data on the two-
dimensional echocardiogram, recognition of abnormal flows is easy in many disorders. For
example, Atrial septal defect, Ventricular septal defects are some of the abnormalities that can
easily be identified.
5.3 SEGMENTATION OF COLOR DOPPLER IMAGES
This section discusses three novel methods to segment the color Doppler images. Without
extracting the color portion of the image, the analysis either difficult or impossible [Ashraf,
2006]. Therefore, the primary goal is to design a fast, accurate, and robust algorithm to identify
CHAPTER 5 - COLOR DOPPLER FLOW IMAGE ANALYSIS
126
the color segment and analyze the pixel data associated with it. Following three methods are
proposed in this research work:
a) Fast SQL based K-Means Color Clustering Algorithm
b) Accelerated SQL K-Means Color Clustering Algorithm
c) Pixel-Classification Algorithm
The first two methods are based upon the grayscale versions discussed in Chapter 3, and the
third is a fast rule based classification algorithm which does not require database and SQL.
5.3.1 FAST SQL BASED K-MEANS COLOR CLUSTERING ALGORITHM
The proposed method of segmenting the color Doppler image is an extension of the
algorithm shown in Section 3.5. The primary difference between the two methods is the
dimension.
CData CCentroid
CEucl CCVCD
CSI
i j R G B
Fig. 5.6 Schema for fast SQL based K-Means Clustering Algorithm
Step 1: [Initialize CData with image pixel data]
CData
i x y R G B
j x y R G B
i d1 d2 d3
i j R G B
i x y R G B
1
2
3
4
..
..
..
n
CHAPTER 5 - COLOR DOPPLER FLOW IMAGE ANALYSIS
127
Step 2: [Initialize CCentroid with 3 rows from CData]
CData CCentroid
Step 3: [Initialize CEucl table with Euclidean distances from each pixel to each of the
centroids]
CData
CEucl
CCentroid
Step 4: [Initialize CCVCD table]
Euclidean
distance
i x y R G B
1
2
3
4
..
..
..
n
j x y R G B
1
2
3
i d1 d2 d3
1
2
3
4
n
i x y R G B
1
2
3
4
..
..
..
n
j x y R G B
1
2
3
random
selection
i j R G B
1 3
2 3
3 2
4 3
.. ..
.. ..
n 1
CHAPTER 5 - COLOR DOPPLER FLOW IMAGE ANALYSIS
128
Step 5: [Iterate and Update tables: CVCD, CCentroid, and CEucl]
CCentroid
CEucl
CCVCD
Fig. 5.7 Flow showing the initialization and update steps
Since the Doppler images are pseudo color images, where RGB values of the color region
are different but the rest of the pixels is same, it is important to extend the grayscale
segmentation algorithm to suit the color version by replacing val attribute with three attributes
R, G, and B. Figure 5.6 shows the modified schema. The table CData is to store the color pixel
data (RGB values) and its spatial locations (x and y co-ordinates).
Similarly, CCentroid plays the same role as that of Centroid table for grayscale 2D echo
images except that all three color pixel data must be stored. This concept is extended to all
other tables as well, except CEucl, because in this table only the three distances need to be
stored and k is 3. The working of the proposed algorithm can be pictorially depicted in
i j R G B
1 2
2 3
3 3
4 3
.. ..
.. ..
n 1
j x y R G B
1
2
3
i d1 d2 d3
1
2
3
4
n
Find the Euclidean distance
from every centroid to all pixels
in CData
Assign cluster #
to all pixels
Find new means
from each
cluster data
CHAPTER 5 - COLOR DOPPLER FLOW IMAGE ANALYSIS
129
Figure 5.7. The first three steps are initialization steps and executed only once, whereas step 4
which in turn consists of substeps are primarily to update CCentroid, CEucl, and CVCD tables.
The iteration is terminated after some definite number of iterations specified by the user. Again
all clustering activities are carried out within database tables and no PL/SQL statements are
used in the implementation.
5.3.2 ALGORITHM AND ITS IMPLEMENTATION
The algorithm for the color Doppler images is same as the algorithm shown in Figure 3.8 of
Chapter 3 with a difference in the number of dimensions which is 3. All other steps will remain
same.
SQL Statements for Initialization Steps
The image pixel values (RGB) are read from the image and stored in the table CData using
parameterized method as shown below:
Step 1:
Insert into CData (i, x, y, R, G, B)
Values (:i, :x, :y, :R, :G, :B);
The next step is to select three random pixel data from CData and this is accomplished by
calling random number generator.
Step 2:
Insert into CCentroid (
Select 1, x, y, R, G, B
From CData
Where i = ……..; % select first random row number from CData
Insert into CCentroid (
Select 2, x, y, R, G, B
From CData
Where i = ……..; % select second random row number from CData
Insert into CCentroid (
Select 3, x, y, R, G, B
From CData
CHAPTER 5 - COLOR DOPPLER FLOW IMAGE ANALYSIS
130
Where i = ……..; % select third random row number from CData
To initialize CEucl table, the Euclidean distance is computed from each row of CCentroid
to all the rows in CData and so populated. Three distances corresponding to each cluster and is
shown below:
Step 3:
INSERT into CEucl (
SELECT i, sqrt(power((CData.R-c1.R),2) + power((CData.G-c1.G),2) +
power((CData.B-c1.B),2)) as d1,
sqrt(power((CData.R-c2.R),2) + power((CData.G-c2.G),2) +
power((CData.B-c2.B),2)) as d2,
sqrt(power((CData.R-c3.R),2) + power((CData.G-c3.G),2) +
power((CData.B-c3.B),2)) as d3
FROM CData, (SELECT * FROM CCentroid where j = 1) c1,
(SELECT * FROM CCentroid where j = 2) c2,
(SELECT * FROM CCentroid where j = 3) c3)
ORDER BY i;
This single SQL statement finds the distances for all the pixels in one go. Next three steps
are iterated so that the most similar pixels can be assigned the appropriate cluster ids.
Step 4:
Since the number of rows in CCentroid is 3, it can be updated directly using the following
SQL statement:
UPDATE CCentroid c3
SET (j, R, G, B) ="
( SELECT c1.j, c2.R, c2.G, c2.B
FROM CCentroid c1, ( SELECT j, Avg(R) as R, Avg(G) as G, Avg(B) as B
FROM CCVCD Group by j) c2
WHERE c1.j = c2.j(+) and c1.j = c3.j) ;
As explained in the initialization step, all the rows of CEucl are deleted using TRUNCATE
statement and the newly computed distances are inserted using the following statement:
INSERT into CEucl (i, d1, d2, d3)
( SELECT i, sqrt(power((e2.R-c1.R), 2) + power((e2.G-c1.G), 2)
CHAPTER 5 - COLOR DOPPLER FLOW IMAGE ANALYSIS
131
+ power((e2.B-c1.B), 2)) as d1,
sqrt(power((e2.R-c2.R), 2) + power((e2.G-c2.G), 2)
+ power((e2.B-c2.B), 2)) as d2,
sqrt(power((e2.R-c3.R), 2) + power((e2.G-c3.G), 2)
+ power((e2.B-c3.B), 2)) as d3
FROM CData e2,
(SELECT j, x, y, NVL(R,0) as R, NVL(G,0) as G, NVL(B,0) as B
FROM CCentroid WHERE j = 1) c1,
(SELECT j, x, y, NVL(R,0) as R, NVL(G,0) as G, NVL(B,0) as B
FROM CCentroid where j = 2) c2,
(SELECT j, x, y, NVL(R,0) as R, NVL(G,0) as G, NVL(B,0) as B
FROM CCentroid WHERE j = 3) c3
);
Next step is to find the smallest distance out of d1, d2, and d3 and assign the cluster id for
each of the pixels. However, before doing this operation the CCVCD rows must be truncated
and the cluster id updated in the table CCVCD as shown here.
INSERT INTO CCVCD (i, j, R, G, B)
( SELECT v1.i,
CASE when d1 <= d2 and d1 <= d3 then 1
when d2 <= d3 and d2 <= d1 then 2
when d3 <= d2 and d3 <= d1 then 3
END as j, v1.R, v1.G, v1.B
FROM CEucl v2, CData v1
WHERE v1.i = v2.i
);
So the value of j is calculated with a simple Case statement and this is repeated for each
pixel. This completes the last statement in the iteration. After this statement the control goes
back to update of CCentroid table so that the new means are calculated from the most recent
groups. After the specified number of iterations, the loop terminates. To show each cluster
distinctly, some random color is assigned to pixels of each cluster. This task is also carried out
using SQL statement as below:
INSERT INTO CSI (i, j, R, G, B)
( SELECT i, j,
Decode(j, 1, 34, 2, 178, 3, 0),
CHAPTER 5 - COLOR DOPPLER FLOW IMAGE ANALYSIS
132
Decode(j, 1, 34, 2, 34, 3, 255),
Decode(j, 1, 178, 2, 34, 3, 255)
FROM CCVCD
);
The three colors chosen are: <34, 78, 0>, <34, 34, 255>, and <178, 34, 255>. The final
segmented image, therefore, will contain only three distinct color objects. The output of the
color Doppler image segmented using this technique is shown in Figure 5.8 and Figure 5.9.
Fig. 5.8 Application of Segmentation algorithm to Normal patient image (a) Original color Doppler
image (b) Segmented using Fast color SQL K-Means algorithm
Fig. 5.9 Application of Segmentation algorithm to Abnormal patient image (a) Original color Doppler
image (b) Segmented using Fast color SQL K-Means algorithm
Looking at the segmented images of both normal and abnormal images, it can be inferred
that the intended results are not obtained. In other words, the color portion of the image is not
separately appearing as a cluster using normal K-Means technique.
The main drawback is that K-Means is an unsupervised learning method. But for the
current application a semi-supervised learning is required so that all the color pixels can be into
a cluster and the rest could go into another cluster.
CHAPTER 5 - COLOR DOPPLER FLOW IMAGE ANALYSIS
133
5.3.3 MODIFICATIONS TO FAST SQL COLOR K-MEANS ALGORITHM
The grayscale pixels in the color Doppler images do not contribute to the analysis. Hence,
the color portion need to be extracted and the rest of the pixels must be dropped. SQL approach
can be used for the clustering process and most of the unnecessary pixels can be removed,
making the clustering faster as shown here.
SELECT *
FROM CData
WHERE NOT( ((R = G) and (G = B)) or (Abs(R - G) <= 16) or (Abs(G - B) <= 16));
(a) (b) (c)
Fig. 5.10 Clustering only the color segment (a) original image with color pixels grabbed from the color
Doppler image (b) Clustered output (k = 3) and # of iterations = 4
(c) Clustered output, k = 3, # of iterations = 30
When the intensity values of RGB are all same, the pixels will not be selected as they are
pure grayscale pixels. The constant 16 that appears in the SQL statement is the threshold being
used to check pixels whose RG or GB values are close to 16 so that those pixels can also be
classified as grayscale. Typically a color Doppler image has 30% color pixels and the
remaining 70% grayscale pixels and therefore this method would improve the running time.
However, this method does not enhance the clustering quality as shown in Figure 5.10(b).
With the number of iterations being set to 30, there is some improvement shown where the
innermost red color is delineated and shown as yellow color in the output of Fig 5.10(c).
5.3.4 PIXEL CLASSIFICATION METHOD
The drawbacks of the clustering methods discussed here are as follows:
The K-Means method is slow as both the grayscale and color pixels are considered
for clustering purpose
When mosaic color is present, the clustering does not provide any useful
information
CHAPTER 5 - COLOR DOPPLER FLOW IMAGE ANALYSIS
134
The modified SQL method is faster, but this again suffers the same shortcoming as
specified above
Therefore, a robust, accurate, fast method has to be designed so that the color segment can
provide both qualitative and quantitative information. In this section a novel method called
"Pixel Classification" coupled with image morphological operations is proposed.
When the color Doppler image pixels are carefully analyzed it can be noticed that except
what is seen visually as color all other pixels belong to grayscale as shown in Figure 5.11(a).
(a) (b)
Fig. 5.11 Types of pixels in a color Doppler image (a) color Doppler image (b) Single pixel with RGB
components and the distances between them
Instead of applying the time consuming and complicated K-Means clustering, a simple
pixel based classification method can be used to identify the color and grayscale pixels. The
method works as follows: Scanning through the image from top left top corner to bottom right
corner pixel-by-pixel and classify each pixel using the following logic into appropriate clusters.
Here, only two clusters are assumed, first is the grayscale pixels (Cg) and the second is the
color pixels (Cc).
if (d1 = 0 and d2 = 0 and d3 = 0) or (d1 ≤ T or d2 ≤ T or d3 ≤ T)
then Cg ← pi
else Cc ← pi
where, d1, d2, and d3 are the distances between RG, GB, and RB. All pixels in the cluster Cg
are background pixels and all pixels in cluster Cc are the foreground pixels. The distances can
be calculated using Manhattan formula. Normally to apply quantification on the segmented
image it should be a single object. But, as shown in Figure 5.12(a), it would always contain
breaks and gaps in the color segment region. To overcome this problem a series of image
manipulations are done as shown in the block diagram 5.12. The gaps in the semi-segmented
d1
d2
d3
p3[252,252,252]
p1[140,43,0]
p2 [72,72,72]
CHAPTER 5 - COLOR DOPPLER FLOW IMAGE ANALYSIS
135
image is taken care by applying mathematical morphological dilation operator using the
following [5, 5] structuring element:
11111
11111
11111
11111
11111
Fig. 5.12 Overview of pixel classification based segmentation and other image processing
(a) (b) (c) (d)
Fig. 5.13 Segmentation using Pixel Classification Method (a) Segmented image (b) Dilated image (c)
Gaussian blur (d) Binary image after applying Threshold, T = 80
To fill the gaps in the dilated image, a Gaussian blurring filter with σ = 1.55 and kernel size
of 14 is applied. Finally, the blurred image is applied with a threshold of 80. Figures 5.13(a) to
(d) show the output of all these operations.
Color Doppler Image
Pixel Classification Algorithm
Semi Segmented image
Gaussian Blur Filter
Convert to Grayscale and apply
Threshold
Morphology Filter (Dilation)
Qualitative Analysis
Fig. 5.13(a)
Quantitative Analysis
Fig. 5.13(d)
CHAPTER 5 - COLOR DOPPLER FLOW IMAGE ANALYSIS
136
5.4 COLOR SEGMENT BOUNDARY TRACING – ACTIVE CONTOUR
BASED METHOD
The morphological based object identification and extraction of region of interest was
discussed in the previous section. However, it has few drawbacks especially tracking the exact
boundary of the color segment. To address this issue the contour based approach is adopted and
its implementation is discussed in this section.
In the case of 2D echo images, the initial contour is marked inside the cardiac cavity and it
moves towards the endocardial boundary. However, in the present case the contour must trace
the outer boundary of the color segment. That is, the contour shrinks. This is achieved by
setting the constant value, c0 to positive which is used to define binary level set function as
initial contour. On the other hand, if c0 is negative, the contour will expand. All the other steps
in the algorithm shown in Figure 4.14 remain same.
Fig. 5.14 Sample color segmentation. Left-side images are original images and the right-side are the
boundary traced images.
The working of this modified algorithm for the color Doppler images is shown in Figure
5.14. Here, the original images are shown in the left-side and the right-side images in each row
CHAPTER 5 - COLOR DOPPLER FLOW IMAGE ANALYSIS
137
are the output after applying the active contour algorithm. It can be observed that the outer
boundary of the color portion alone is traced and the pixels inside this contour can be used for
quantitative and qualitative analysis. For instance, to determine the severity of Mitral
Regurgitation and Mitral Stenosis can be studied through this method. Another popular method
is based on Vena Contracta measurement and is discussed in [Tae-Ho, 2006].
The advantage of this method over the previous one is that the actual color pixel data of the
ROI is available. But in the previous method the data in the segment is totally blurred with
Gaussian method, dilated with a large kernel and so on. This spoils the whole data which then
can not be used for future analysis. However, it may be useful for quantitative analysis.
5.5 QUALITATIVE ANALYSIS
Following techniques are used to analyze the segmented color region:
1. Color Histogram Analysis
2. Texture Analysis [Mihran, 1998]
3. Statistical Analysis
4. Edge Density Analysis
In the histogram analysis, mean and standard deviation for each color channel (RGB color
space is used) is computed. Texture analysis includes energy, entropy, contrast, edge
frequency, and homogeneity calculations as proposed by Haralick and K. Shanmugam. The
third method is to employ kurtosis and skewness properties to correlate the normal patient and
the abnormal patient image color patterns. Finally, a novel method of finding the edge density
is proposed.
CHAPTER 5 - COLOR DOPPLER FLOW IMAGE ANALYSIS
138
Fig. 5.15 Color separation and analysis of color Doppler images.
To study the data pattern of the above said method requires a fundamental preprocessing of
the Doppler images. First task is to separate the RGB color channels and compute the above
said parameters that are relevant. A schematic is shown in Figure 5.15 to explain this process.
5.5.1 COLOR HISTOGRAM ANALYSIS
Color allows images to reveal many pathological characteristics (Tamai, 1999). Color also
plays an important role in morphological diagnosis (Nishibori, Tsumura, & Miyake, 2004). In
Doppler images color is related to abnormality (MR, MS, etc) and reveals the velocity of blood
flow in the ventricles and atriums.
Original Image
Red Channel Green Channel Blue Channel
Histogram
(Mean & SD)
Texture
(Contrast & ED)
Histogram
(Mean & SD)
Texture
(Contrast & ED)
Histogram
(Mean & SD)
Texture
(Contrast & ED)
For data mining related analysis
Segmented
Image
CHAPTER 5 - COLOR DOPPLER FLOW IMAGE ANALYSIS
139
Color Space
A color space is defined as a model for representing color in terms of intensity values.
Typically, a color space defines a one- to four-dimensional space. A color component, or a
color channel, is one of the dimensions. A color dimensional space (i.e. one dimension per
pixel) represents the gray-scale space. The following two models are commonly used in color
image retrieval system. Several color spaces, such as RGB, HSV, CIE L*a*b, and CIE L*u*v,
have been developed for different purposes. RGB color space is used in this research work.
RGB Color Model
The RGB color model is composed of the primary colors Red, Green, and Blue. This
system defines the color model that is used in most color CRT monitors and color raster
graphics. They are considered the "additive primaries" since the colors are added together to
produce the desired color. The RGB model uses the Cartesian coordinate system as shown in
Figure 5.16(a).
(a) (b) (c)
Fig. 5.16 RGB Color Model (a) Schematic of RGB Color Cube (b) 24-bit RGB Color Cube
(c) Color cube
The diagonal from (0,0,0) black to (1,1,1) white which represents the grayscale. Figure
5.16(b) is a view of the 24-bit RGB color cube and (c) represents another color view.
Color Histogram
After selecting a color space, an effective color descriptor should be developed in order to
represent the color of the global or regional areas. Several color descriptors have been
developed from various representation schemes, such as color histograms (Quyang & Tan,
CHAPTER 5 - COLOR DOPPLER FLOW IMAGE ANALYSIS
140
2002), color moments (Yu et al., 2002), color edge (Gevers & Stokman, 2003), color texture
(Guan & Wada, 2002), and color correlograms (Moghaddam, Khajoie, & Rouhi, 2003). For
example, color histogram, which represents the distribution of the number of pixels for each
quantized color bin, is an effective representation of the color content of an image. The color
histogram can not only easily characterize the global and regional distribution of colors in an
image, but also be invariant to rotation about the view axis. A typical color histogram is shown
in Figure 5.17.
(a) RGB color Doppler image (b) Grayscale image Histogram
(c)Histogram of Red Channel (d) Histogram of Green Channel
(e) Histogram of Blue Channel
Fig. 5.17 Color Histogram without segmentation
0
1000
2000
3000
4000
5000
6000
7000
8000
9000
10000
0 50 100 150 200 250
0
2000
4000
6000
8000
10000
0 50 100 150 200 250
0
1000
2000
3000
4000
5000
6000
7000
8000
9000
10000
0 50 100 150 200 250
0
1000
2000
3000
4000
5000
6000
7000
8000
9000
10000
0 50 100 150 200 250
CHAPTER 5 - COLOR DOPPLER FLOW IMAGE ANALYSIS
141
(a) Original segmented image of abnormal patient
(b) Red (c) Green (d) Blue
Fig. 5.18 Histogram of image shown in (a) with all 3 color channels
The color histogram can be considered as a set of vectors. For grayscale images these are
two dimensional vectors. One dimension gives the value of the gray level and the other the
count of pixels at the gray level. For color images the color histograms are composed of 4-D
vectors. Comparing Figure 5.17 with 5.18 indicates that segmentation is mandatory to obtain a
distinct histogram.
Fig. 5.19 (a) Color Histogram with segmentation of normal patient
(b) Red (c) Green (d) Blue
Fig. 5.19 Histogram of image shown in 5.19(a) with all 3 color channels
CHAPTER 5 - COLOR DOPPLER FLOW IMAGE ANALYSIS
142
A similar histogram is obtained for the image of a normal patient (Figure 5.19(a)) and its
histogram of red, green, and blue channel histogram plots are shown in Figure 5.19(b), (c) and
(d) respectively. The large difference can be observed in the histogram between normal and
abnormal patient images due to the mosaic color.
Direct histogram plot of the segmented image is not useful for analysis. Hence, the
histogram mean and standard deviation of each color channel are computed. Histogram groups
the samples together that have same value. This allows the statistics to be calculated by
working with a few groups, rather than a large number of individual samples. Using this
approach, the mean and standard deviation are calculated from the histogram by the equations:
1
0
1 M
i
iHiN
(5.1)
1
0
2)(1
1 M
i
iHiN
(5.2)
where, Hi is the Histogram and i is an index that runs from 0 to M-1, and M is the number of
possible values that each sample can take on (that is 0 to 255 in our case). For instance, H50 is
the number of samples that have a value of 50. The impact of histogram on normal and
abnormal patient echo images are discussed in the results section.
5.5.2 TEXTURE ANALYSIS
In many machine vision and image processing algorithms, assumptions are made about the
uniformity of intensities in local image regions to simplify the problem space. However,
images of real objects often do not exhibit regions of uniform intensities. For example, the
image of a wooden surface is not uniform but contains variations of intensities which form
certain repeated patterns called visual texture [Mihran, 1998].
Definition
“We may regard texture as what constitutes a macroscopic region. Its structure is simply
attributed to the repetitive patterns in which elements or primitives are arranged according to
a placement rule.” [Mihran, 1998]
CHAPTER 5 - COLOR DOPPLER FLOW IMAGE ANALYSIS
143
Image texture, defined as a function of the spatial variation in pixel intensities (gray
values), is useful in a variety of applications and has been a subject of intense study by many
researchers. Texture analysis is an important and useful area of study in machine vision. Most
natural surfaces exhibit texture and a successful vision system must be able to deal with the
textured world surrounding it. This section will review the importance of texture perception in
the analysis of color Doppler images in particular.
Co-occurrence Matrices
One of the defining qualities of texture is the spatial distribution of gray values. The use of
statistical features is therefore one of the early methods proposed in the machine vision
literature. In the following, we will use {I (x, y), 0 ≤ x ≤ N – 1, 0 ≤ y ≤ N – 1} to denote an N×N
echo image with G gray levels. Spatial gray level co-occurrence estimates image properties
related to second-order statistics. Haralick [Mihran, 1998] suggested the use of gray level co-
occurrence matrices (GLCM) which have become one of the most well-known and widely used
texture features. The gray level co-occurrence matrix Pd for a displacement vector d = (dx, dy)
is defined as follows. The entry of Pd is the number of occurrences of the pair of gray levels i
and j which are a distance d apart. That is, d is the distance between the pixel of interest and its
neighbor. Formally, it is given as,
Pd(i, j) = |{((r, s), (t, v)):I (r, s) = i, I (t, v) = j}| (5.3)
where (r, s), (t, v) є N × N, (t, v) = (r + dx, s + dy), |.| is the cardinality of the set.
The offset is often specified as angle and the above figure illustrates the meaning of d. In
general, given a pixel distance d, the following offset matrix can be written for various angles:
00 [0, 1], 45
0 [-1, 1], 90
0 [-1, 0], 135
0 [-1, -1]
CHAPTER 5 - COLOR DOPPLER FLOW IMAGE ANALYSIS
144
Texture Properties
Useful texture features that can be computed from the co-occurrence matrix are shown in
Table 5.1.
Table 5.1 Texture Features
Sl. No Texture feature Formula
1 Energy i j
d jiP ),(2
2 Entropy i j
dd jiPjiP ),(log),(
3 Contrast i j
d jiPji ),()( 2
4 Homogeneity i j
d
ji
jiP
||1
),(
5 Correlation yx
i j
dyx jiPji
),())((
The autocorrelation function of an image is used to quantify the regularity and the
coarseness of a texture. This function is defined for an image I as:
N
u
N
v
N
u
N
v
vuI
yvxuIvuI
yx
0 0
2
0 0
),(
)(),(),(
),( (5.4)
If the texture is coarse, then the autocorrelation function will drop off slowly; otherwise, it
will drop off very rapidly. For regular textures, the autocorrelation function will exhibit peaks
and valleys [Mihran, 1998]. The experiments were conducted on the grayscale versions of the
color segment and the results are discussed later.
5.5.3 STATISTICAL ANALYSIS
One of the major drawbacks of the texture features is that not all of them provide distinct
similarity or dissimilarity between normal and abnormal patients. For example, energy,
entropy, and homogeneity features give same results for both the types of images. Hence, it is
CHAPTER 5 - COLOR DOPPLER FLOW IMAGE ANALYSIS
145
required to look for some other features that can discriminate these images. Two such statistical
features have been identified as kurtosis and skewness.
Skewness
When referring to the shape of frequency or probability distributions, “skewness” refers to
asymmetry of the distribution. A distribution with an asymmetric tail extending out to the right
is referred to as “positively skewed” or “skewed to the right,” while a distribution with an
asymmetric tail extending out to the left is referred to as “negatively skewed” or “skewed to the
left.” Skewness can range from minus infinity to plus infinity.
Karl Pearson in 1895 first suggested measuring skewness by standardizing the difference
between the mean and the mode. However, the definition is used with respect to the third
moment about the mean:
3
3
1
)(
N
Y
Skewness
N
i
i
(5.5)
Skewness measured in this way is sometimes referred to as “Fisher’s skewness.” When the
deviations from the mean are greater in one direction than in the other direction, this statistic
will deviate from zero in the direction of the larger deviations.
Kurtosis
Pearson in 1905 introduced kurtosis as a measure of how flat the top of a symmetric
distribution is when compared to a normal distribution of the same variance. A distribution
with positive kurtosis is called leptokurtic, or leptokurtotic. In terms of shape, a leptokurtic
distribution has a more acute peak around the mean. A distribution with negative kurtosis is
called platykurtic, or platykurtotic. In terms of shape, a platykurtic distribution has a lower,
wider peak around the mean.
3
)(
4
4
1
N
Y
Kurtosis
N
i
i
(5.6)
CHAPTER 5 - COLOR DOPPLER FLOW IMAGE ANALYSIS
146
Fig. 5.20 Schematic showing edge density calculation for an Abnormal patient
The positive kurtosis is normally seen for normal patients, whereas negative kurtosis is seen
for abnormal patients and a detailed analysis is discussed later in this chapter.
It is noticed that for normal images the skewness ranges from 0.98 to 1.28 whereas the
kurtosis ranges from 1.28 to 2.47. In contrast, for abnormal images the skewness ranges from
0.04 to 0.23 whereas kurtosis ranges from -0.46 to -0.86.
Original Color Doppler
Image
Pixel Classification based
Segmented Image
Get the Biggest blob
Apply Sobel Edge
Detection Operator
Compute Mean Histogram
(Edge Density)
CHAPTER 5 - COLOR DOPPLER FLOW IMAGE ANALYSIS
147
5.5.4 EDGE DENSITY ANALYSIS
A feature called edge density is used primarily for color Doppler ultrasound images. This
method comprises of the following steps: segmentation of color region, grabbing the biggest
blob, converting into grayscale, applying Sobel edge detector operator, and finally computing
the mean of the histogram pattern. The entire process is shown in the form of a block diagram
in Figure 5.20.
Fig. 5.21 Schematic showing edge density calculation for a Normal patient
To begin with only the color portion of the color Doppler image is extracted. Since the
color portion, especially in abnormal patients, contains disjoint regions, the biggest region,
called the blob is extracted. This image is converted into grayscale and then the standard Sobel
operator is applied. When the image has mosaic colors the edges will be predominant
throughout the image, as shown in Figure 5.20, else not many edges will be appearing as in the
case of normal patients which can be observed from Figure 5.21. Comparing the edge patterns
of Figure 5.20 and 5.21, it is evident that the later image does not have many visible edges.
This knowledge helps in distinguishing between normal and abnormal images.
5.6 RESULTS AND DISCUSSIONS
This section presents the discussion of color Doppler image analysis. The study includes
both normal and abnormal subjects who underwent echocardiographic test by the experts. To
validate the methods explained in the previous sections, the study group consisted of 60
patients, 42 men and 18 women with 42 ± 16 years of age. Approximately 323 echo color
Doppler images, 218 abnormal and 105 normal images were used and in the abnormal category
four types of diseases: MR, MS, AR, and AS.
When the Fast SQL based K-Means algorithm is applied for color Doppler images with
k = 3 it produced the output as shown in Figure 5.22.
CHAPTER 5 - COLOR DOPPLER FLOW IMAGE ANALYSIS
148
(a)
(b) Fig. 5.22 Original and segmented images of (a) normal and (b) abnormal patients
It can be observed that the segmentation does not delineate the color region which is the
main objective for analysis. Therefore, a completely different approach, called pixel
classification, may be required to solve this issue as explained already.
5.6.1 RESULTS OF PIXEL-CLASSIFICATION ALGORITHM
After applying the pixel classification method, as illustrated in Figure 5.23, the color
segment has been distinctly extracted from the original color Doppler image.
Fig. 5.23 Results of Pixel-Classification method for normal and abnormal images.
CHAPTER 5 - COLOR DOPPLER FLOW IMAGE ANALYSIS
149
It can be observed visually from the results of normal and abnormal images that extracting
color region from Doppler images using the proposed method is easy.
5.6.2 RESULTS OF HISTOGRAM, TEXTURE, AND EDGE DENSITY ANALYSIS
The experiments include 17 Normal and 16 abnormal patient images after segmentation.
Figure 5.24 depicts feature called kurtosis for both normal (Images 1- 17) and abnormal
(Images from 18 to 33). For normal images its values are positive, whereas for abnormal
images it is negative.
Fig. 5.24 Bar graph of Kurtosis feature. Thick Black bars – Normal subjects, Grey Shaded bars –
Abnormal subjects. The Correlation Coefficient = -0.43271.
The correlation coefficient of these two data sets is worked out as -0.43271, which signifies
that both data is negatively correlated. This is the expected result and more than 95% of the
images show this variation. More results are shown in Chapter 10.
5.7 SUMMARY
A comprehensive discussion of color Doppler flow image analysis is presented. It includes
the following: understanding of the Doppler images, interpretation, segmentation using Fast
SQL K-Means Color clustering algorithm, pixel-classification based segmentation, and
qualitative feature extraction.
Major features such as texture, color histogram, edge density, skewness, kurtosis, etc., are
computed from the color region of the Doppler image in order to extract the hidden knowledge.
All these features prove that it is possible to automatically distinguish between normal and
abnormal patients.
-1.5 -1
-0.5 0
0.5 1
1.5 2
2.5 3
3.5 4
4.5 5
5.5 6
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
Ku
rto
sis
Image #
Normal
Abnormal