## 2 GCD Algorithm
### Segmentation by Circular Gaussian Filter  
Segmentation is one of the key steps to empower a breast CAD algorithm to be successful. Without the segmentation, it is inefficient to extract the features over the entire mammogram, which will cause too extensive computations and usually result in a poor classification. The goal of segmentation is to find all suspicious regions that should contain as many cancers (masses or calcifications) as possible; whereas the _false positives_ will be excluded with a trained classifier using the additional features extracted from the suspicious segments. We propose to detect mass or calcification regions using a set of band-pass filters formed by rotating a 1-D Gaussian filter (off center) in frequency space, termed as \"_Circular Gaussian Filter_\" (CGF; refer to Equation (2) and Figure 2). A CGF can be uniquely characterized by specifying a central frequency (_f_) and a frequency band (\(\sigma\)). A mass or calcification is a space-occupying lesion and usually appears as a bright region on a mammogram. On the filtered mammograms with a set of CGFs, the highlighted regions correspond to mass or calcification segments. Consequently, the suspicious mass or calcification segments can be extracted out using a threshold adaptively decided upon histogram analysis. Typically, the CGF parameters of (\(f=\)[12 24 48], \(\sigma=\) [6 12 24]) produce promising segmentation results. In Fourier frequency domain, a _Circular Gaussian Filter_ (CGF) is defined as follows:  
\[CGF(u,v)=\frac{1}{2\pi\sigma^{2}}e^{-\frac{u_{1}^{2}+v_{1}^{2}}{2\sigma^{2}}} \tag{2}\]where:  
\[u_{1}= \left(u-f\cos\theta\right)cos\theta-\left(v-f\sin\theta\right)sin\theta \tag{3a}\] \[v_{1}= \left(u-f\cos\theta\right)sin\theta+\left(v-f\sin\theta\right)cos \theta\,,\qquad\theta=0\sim 2\pi, \tag{3b}\]  
where \(f\) specifies a central frequency and \(\sigma\) defines a frequency band. _Alamr pixels_ and _alarm segments_ are generated with the following procedures:  
(1) _Alamr pixels_ are produced by thresholding three CGF-filtered images (\(I_{\mathrm{Fm}}\)) pixel-by-pixel. The _alarm threshold_ (\(T_{\mathrm{Am}}\)) is determined by histogram analyses. For each of three CGF-filtered images (\(I_{\mathrm{Fm}}\), \(m=1\), 2, 3), initialize a corresponding alarm image, \(I_{\mathrm{Am}}\), with zero pixel values, and then:  
1. Compute the histogram and _accumulated histogram_: \(H_{\mathrm{Fm}}\) and \(AH_{\mathrm{Fm}}\). 2. Find the locations of peaks in \(H_{\mathrm{Fm}}\) by using histogram gradient changes (of sign pattern [++ -]): {\(LP_{1}\), \(LP_{2}\),... \(LP_{\mathrm{q}}\)}; and assumed this set is in the order from the lowest (\(LP_{1}\)) to the highest (\(LP_{\mathrm{q}}\)) gray level. 3. Choose the candidates of _alarm threshold_: \(T_{k}=\{LP_{i}\mid\) when (the _selected alarm area_) \(<\) (10% entire breast ROI area); \(i=1\sim\mathrm{q}\}\), \(k=\mathrm{p}\), \(\mathrm{p}\)\(+1\),..., \(\mathrm{q}\) (\(2\leq\mathrm{p}\leq\mathrm{q}\)). Use \(AH_{\mathrm{Fm}}\) to calculate the selected alarm area. 4. Let the _alarm threshold_ be one of {\(T_{k}\); \(k=\mathrm{p}\sim\mathrm{q}\)}, _i.e._, \(T_{\mathrm{Am}}=T_{k}\), \(\mathrm{p}\leq l\leq\mathrm{q}\), such that \(|LP_{l}-LP_{l-1}|\)  
Figure 2: Figure illustration of CGF with \(f=12\) and \(\sigma=6\) (Only the central part of CGF is presented): (a) CGF in frequency domain; (b) CGF in spatial domain; (c) A central slice of (a); (d) A central slice of (b). is the maximum among \(\{\,|LP_{{}_{k}}-LP_{{}_{k-1}}|;\,k=\mathrm{p}\sim\mathrm{q}\}\). * Mark a pixel at (\(x\), \(y\)) as a candidate of alarm pixel if \(I_{\mathrm{F}\mathrm{m}}\) (\(x\), \(y\)) \(>T_{\mathrm{A}\mathrm{m}}\) by assigning \(I_{\mathrm{A}\mathrm{m}}(x,\,y)=4-m\), where \(m=1,\,2,\,3\). * A pixel at (\(x\), \(y\)) is considered as an _alarm pixel_ if \(\sum\limits_{m=1}^{3}I_{\mathrm{A}\mathrm{m}}(x,\,y)\geq 4\,\).