## Materials and Methods
### The k-means/k-means++ Clustering Algorithm  
Clustering is a widespread technique that is used in many applications, such as in data mining ([54] and references therein), in pattern recognition [55; 56] and in machine learning problems ([57] and references therein). In particular, the k-means algorithm [58] is an exploratory procedure that is extensively used in pattern recognition and clustering ([59] and references therein). Given a field with data points p(i,j), i \(\leq\) I, j \(\leq\) J as input and an integer value K known a priori, the k-means method consists in finding K cluster centers (or centroids) so that the points assigned to a centroid are closer to it than they are to any other. The assignment is unique and the centroid values are usually obtained by weight-averaging all the points identified with this centroid [54]. Despite a number of shortcomings, simplicity and speed of convergence towards an optimal solution make this method one of the most useful across all disciplines [54]. Nevertheless, the performance of k-means was improved by combining it with the k-means++ initialization algorithm, which is a subprocess that seeds the centroids [60]. To this particular aim, k-means++ outperforms k-means both by achieving the classification task quicker and by a faster convergence to a minimal intra-class (intra-cluster) variance [60; 61]. The k-means++ algorithm operates as follows:  
1. A pixel from \(\mathrm{p}(\mathrm{i},\mathrm{j})\) is randomly selected as the first centroid \(\mathrm{C}_{1}\);
2. All individual Euclidean distances from each pixel to \(\mathrm{C}_{1}\), denoted as \(\mathrm{d}(\mathrm{p},\mathrm{C}_{1})\), are computed;
3. The second centroid \(\mathrm{C}_{2}\) is randomly selected with probability. Figure 1: Examples of (**a**) an incomplete image with blank rows and (**b**) an image with an anomalous brightness temperature (\(\mathrm{T}_{\mathrm{b}}\)) scale. A regular image is presented in (**c**) for comparison purposes. Unlike (**b**), the image in (**a**) has the \(\mathrm{T}_{\mathrm{b}}\) scale unaltered when compared with (**c**). Scale values are in Kelvin. \[\frac{\mathrm{d}^{2}(C_{2},C_{1})}{\sum_{p}\mathrm{d}^{2}\left(p,C_{1}\right)} \tag{4}\]  
Equation (4) shows that the farther the location of \(C_{2}\) from \(C_{1}\) the higher the probability of selecting it as the second centroid. 1. The process is repeated until all K centroids are obtained. Similar to step 3), the k-th centroid \(C_{k}\) (\(3\leq k\leq K\)) is selected from \(p(i,j)\) with probability. \[\frac{\sum_{\alpha}^{k-1}\mathrm{d}^{2}(C_{k},C_{\alpha})}{\sum_{p}\sum_{ \alpha}^{k-1}\mathrm{d}^{2}(p,C_{\alpha})}\] (5)  
A successful determination of the K centroids carries with the condition of the overall distance between each other being a maximum. Once the K centroids have been determined with the aid of k-means++, the process continues as with the standard k-means algorithm:  
1. The distances \(\mathrm{d}\left(p,C_{k}\right)\) for \(k\leq K\) are computed;
2. Each grid point is assigned to the cluster with the closest centroid;
3. For \(k\leq K\), the average distance of all the pixels belonging to the \(k-th\) cluster is calculated so as to reassign this value to the corresponding centroid. The k-means process was repeated until the maximum number of predefined iterations was reached or when cluster assignments no longer changed. The kmeans/kmeans++ technique was individually implemented on each of the 2036 homogenized images using Matlab's kmeans and kmeans++ functions. Several replicates with random starting seeds were generated in order to avoid local minima and overfitting problems. The establishment of the optimal value for the unknown parameter K that minimizes misclassification is a frequent issue. To this respect, the Calinski-Harabasz criterion (CHC) [62] was used here in order to estimate it.