## 2 GCD Algorithm
### Classification with Gabor Features
(a) Gabor filters in frequency domain, where \(f=12\), \(\sigma_{u}=\sigma_{v}=6\), \(\theta=0\)\({}^{\circ}\), \(45\)\({}^{\circ}\), \(90\)\({}^{\circ}\), \(135\)\({}^{\circ}\). Only the central parts of four filters are displayed here. (b) Gabor filters in spatial domain. Note that there is \(90\)\({}^{\circ}\) directional difference between spatial domain and frequency domain. formed by combining four directional frequencies together. The EHD features representing an alarm segment are obtained by joining 5-band EHD signatures together, which can be formulated as follows:  
EHD (_m_,_n_) = (Number of maximal intensity pixels at direction _n_)/(Alarm segment area)  
\[m=1,\,2,\,3,\,4,\,5;\,\,n=1,\,2,\,3,\,4 \tag{7}\]  
The EHD calculation is equivalent to count the numbers of maximal intensity pixels at each orientation along all bands. For example, suppose the vertical frequency of an EHD signature at band 1 is the largest (_i.e._, the highest bar in a histogram plot), that means vertical edges dominate band 1. Such an EHD feature (of an alarm segment) reflects both directional edge information and also frequency scale information (form low to high frequency). The EHD features are statistical features that are stable and reliable regardless of the absolute intensity values. **Figure 4.** Gabor-filtered images (_I\({}_{\text{Gamm}}\)_, Case \"3039_Left\" in Figure 10, calcification present) with Gabor filter bank at five bands (along five rows) and four orientations (across four columns) for calcification detection. The four columns were Gabor filtered images corresponding to four orientations (vertical, 45 \({}^{\circ}\), horizontal and 135 ). The most representative EHD features are mainly selected by using the _overlapping ratio_ (see Equation (9c)) and clustered with a _Fuzzy C-means_ (FCM) [24] clustering method. The FCM is a data clustering technique wherein each data point belongs to a cluster to some degree that is specified by a membership grade. FCM starts with an initial guess (most likely incorrect) for the cluster centers, which are intended to mark the mean location of each cluster. FCM assigns every data point a membership grade for each cluster. By iteratively updating the cluster centers and the membership grades for each data point, FCM iteratively moves the cluster centers to the right location within a data set. This iteration is based on minimizing an objective function that represents the distance from any given data point to a cluster center weighted by that data point's membership grade. Once a certain number of clusters (say \(R\) clusters for each of two classes, cancerous _vs_. healthy) are formed by the FCM algorithm, the \(k\)-nearest neighbors (KNN) can be found from \(R\,\times 2\) clusters by using _Euclidean_ distance (between the analyzing feature and the clustered features). The probability, \(P_{\mathrm{C}}\), of a given alarm segment to be a malignant cancer is calculated by:  
\[P_{\mathrm{C}}=k_{\mathrm{C}}\,/\,k,\,k_{\mathrm{C}}\leq k\ \ \ \mathrm{and}\ k_{\mathrm{C}}+k_{\mathrm{H}}=k \tag{8}\]  
where \(k_{\mathrm{C}}\) and \(k_{\mathrm{H}}\) are the numbers of nearest clusters (to the analyzing features) that belong to cancerous class and healthy class, respectively. By specifying a threshold, \(T_{\mathrm{P}}\), a given alarm segment is classified as \"cancer\" (mass or calcification) when \(P_{\mathrm{C}}>T_{\mathrm{P}}\); otherwise \"Healthy\" (Normal). In general, classification performance can be evaluated using sensitivity, specificity and ROC (receiver operating characteristic) area.