## 2 Theoretical Background
### Fuzzy C-Means  
Biomedical images are characterized by an intrinsic uncertainty, thus causing not well-defined regions (e.g., blurry boundaries or poor anatomical details). This aspect makes thresholding approaches and crisp approaches (such as k-means) not always suitable. Therefore, the natural fuzziness characterizing the Fuzzy C-Means (FCM) clustering approach allows to reach better segmentation results than the hard partitioning offered by k-means [33; 34; 35; 36]. The FCM algorithm is an unsupervised clustering technique that searches for the optimal partition of an input data set. The idea leading the FCM classification process is that of minimizing the intra-cluster variance as well as maximizing the inter-cluster variance, in terms of a distance metrics between the feature vectors. Formally, the FCM technique searches for the optimal partition of an input data set \(\mathcal{X}=\{x_{1},x_{2},\ldots,x_{N}\}\) of \(N\) objects into \(C\) clusters. With respect to the k-means algorithm in which each point is assigned to one cluster only, FCM allows each object to belong to multiple clusters with different degrees of membership. This'soft' classification allows us to define a fuzzy partition, \(\mathcal{P}\) defined as a fuzzy set family \(\mathcal{P}=\{Y_{1},Y_{2},\ldots,Y_{C}\}\) such that each point can have a partial membership to multiple clusters. In mathematical terms, the matrix \(U=[u_{ik}]\in R^{C\times N}\) denotes a fuzzy \(C\)-partition of the data set \(\mathcal{X}\) by means of \(C\) membership functions \(u_{i}:X\rightarrow[0,1]\), whose values \(u_{ik}:=u_{i}(x_{k})\in[0,1]\) represent membership grades of each element \(x_{k}\) to the \(i\)-th fuzzy cluster \(Y_{i}\), and have to hold the constraints in Equation (7):  
\[ \begin{cases}0\leq u_{ik}\leq 1\\ \sum\limits_{i=1}^{C}u_{ik}=1,\forall k\in 1,2,\ldots,N\\ 0<\sum\limits_{i=1}^{N}u_{ik}<N,\forall i\in 1,2,\ldots,C\end{cases} . \tag{7}\]  
Although hard clustering works well on compact and well-separated groups of data, in many real-world situations clusters overlap each other: as a result, assigning them with gradual memberships by exploiting a soft computing approach may be more appropriate. Computationally, the FCM algorithm assigns to the sample \(x_{k}\) the membership function values using the relative distance (i.e., intensity value similarity) of \(x_{k}\) from the \(C\) prototype points \(\mathcal{V}=\{v_{1},v_{2},\ldots,v_{C}\}\) identifying the centroids of the \(C\) clusters. Such as k-means algorithm, FCM may be rewritten as an optimization problem with respect to the objective function in Equation (8). \[\mathcal{J}_{m}(U,\mathcal{V};\mathcal{X})=\sum\limits_{i=1}^{C}\sum\limits_{ k=1}^{N}{(u_{ik})^{m}|x_{k}-v_{i}|^{2}}, \tag{8}\]where:  
* \(m\) is the fuzzification constant (i.e., a weighting exponent such that \(1\leq m<\infty\)) controlling the fuzziness of the classification process. If \(m=1\), the FCM algorithm degenerates to a k-means clustering: in general, the higher the \(m\) value the greater will be the fuzziness degree (the most common value is \(m=2\));
* \(U\) is the fuzzy C-partition of the set \(\mathcal{X}\);
* \(|x_{k}-v_{i}|^{2}\) is the Euclidean distance between the elements \(x_{k}\) and the centroid \(v_{i}\in\mathcal{V}\). Considering that the optimization problem described by FCM does not have a closed-form solution, the minimum of the cost function \(\mathcal{J}_{m}(U,\mathcal{V};\mathcal{X})\) has to be found iteratively. In particular, at each iteration \(t\), the centroid values of the prototype set \(\hat{\mathcal{V}}^{(t)}\) and the elements of the matrix \(\hat{U}^{(t)}\) are updated according to Equations (9) and (10), respectively.