## 4 Methodology
### Feature Selection and Coding  
For feature selection, we use variable length black hole optimization which is an extension to the common black hole optimization that was presented in [42]. In the original black hole optimization, the solutions imitate in its representation the state of the arts, their interaction with themselves or with a black hole and their mobility in the universe. In the original black hole, the algorithm was applied for clustering. In our recent work), an updated version of this algorithm has been proposed in order to make the algorithm capable of searching with variable length solution space which makes it suitable for feature selection. In addition, the algorithm proposed a new concept of energy to the black hole to replace it when it is no longer effective. Besides, it enables length changing of the solutions based on stagnation criterion. The algorithm adopts transfer function in order to enable searching within binary solution space. Two types of transfer functions are used: the first one is V-shape and the second one is S-shape. In this article, we use this algorithm for selecting the discriminative parts of the Gabor and LBP features. However, considering that the solution space is big, we will make the selection decision not for only single element of the feature vector but for single segment of the feature. In addition, we decide for changing the features from its original value to binary value based on the objective functions presented in Table 3. In this case, the solution vector will have two metameric variables: the first the metameric variable that is responsible of selecting certain segment of the two types of feature vectors and the second one is the metameric variable that is responsible of threshold the selected segment in order to optimize the mentioned objective function. In order to show the operation of the algorithm of feature selection and coding, we present the pseudo-code in Algorithm 1. As it is shown in the pseudocode, the algorithm takes a training dataset as input D, the segment size that is used for decomposing the feature vector before coding and selection, and the objective function formula. The output of the algorithm is the extracted features from the image. The algorithm performs a loop on the dataset images, and for each image it performs the operations of pre-processing, localizing, denoising, segmentation, feature extraction and concatenation of extracted features. Afterwards, the algorithm enables segmenting (or dividing) the feature vector into small segments using the parameter named segment size (SS). Next, the algorithm call VLBHO for the goal of both selecting the relevant segments and binarizing them. The returned values from VLBHO is provided to obtain the extracted features F.  
\begin{table}
\begin{tabular}{c c c c} \hline \hline
**Article** & **Feature Selection** & **Optimization** & **Dataset** \\ \hline
[30] & Coupled feature selection & Objective function of misclassification errors and norm regularization & CASIA \\
[31] & GA (Genetic Algorithm) & Reducing the dimensionality of the feature space & \\
[32] & Teaching learning based optimization & Similarity between sub-component & CASIA \\
[33] & Genetic programming & correlation-based evaluation & Freebase and YAGO \\  & & two objective terms. The first objective term exploits the spatial relationships of the bits & CASIAT \\
[24] & \begin{tabular}{c} Solving objective \\ function equation by \\ using numerical \\ approach \\ \end{tabular} & \
\begin{tabular}{c} spatial relationships of the bits \\ in different positions of an iris \\ code. The second objective \\ term mitigates the influence of \\ less reliable bits in iris codes. \\ \end{tabular} &
\begin{tabular}{c} CASIA \\ NDO405 \\ CASIA \\ UBIRS2 \\ \end{tabular} \\ \hline \hline \end{tabular}
\end{table}
Table 3: Overview of optimization approaches for feature selection in iris recognition.