## 2 Materials and Methods
### Deep Neural Network Based FFR Prediction  
Different types of neural network models are considered for the prediction of the invasively measured FFR, ANNs, CNNs, and RNNs, applied with different approaches:  
* a regression approach: models predict a rational number representing invasive FFR
* a classification approach: models predict the class of the FFR value (positive, i.e., FFR \(\leq\) 0.8, or negative, i.e., FFR \(>\) 0.8)
* a FSL approach: similar to the classification approach. As ANN, we used a fully connected neural network with 4 hidden layers, and the rectified linear unit (ReLU) [51] as the activation function for the hidden layers. The details of the ANN architecture are included in Appendix A (Table A1). As CNN, we used a fully convolutional neural network (1D convolutions) with eight layers. For the hidden layers we used ReLU as activation function, and batch normalization was employed [52]. For the regression and the classification approach we added a final fully connected layer to perform the prediction. For the FSL approach, this layer is not required. The details of the CNN architectures are included in Appendix A (Tables A2 and A3). As RNN, we included a bidirectional gated recurrent unit (GRU) [53] layer on top of the previously described fully convolutional neural network (referred to as CNN + RNN in the Appendix A). This avoids the padding requirement. The CNN layers learn the relevant features from the input, and then the RNN performs the final prediction based on those features. Training a fully RNN network was not possible considering the small size of the available dataset. For the regression and the classification approach we added a fully connected layer after the bidirectional GRU to perform the prediction. For the bidirectional GRU, we used ReLU as the activation function. The details of the RNN architecture are included in Appendix A (Table A4). Figure 1: OCT data processing workflow, including FFR prediction using a deep neural network. No activation function was used on the last layer for the regression approach, and the sigmoid function [54] was chosen for the classification approach. For the FSL approach, the output of the network is represented by the features from the last hidden layer. The class is then determined by the smallest Euclidean distance between the output of the network and the two class clusters. These are defined by the mean features of the training set samples of each class. For the classification and FSL approaches, all the samples with invasive FFR \(\leq\) 0.8 represent the positive class and all the samples with invasive FFR \(>\) 0.8 represent the negative class. Since the dataset consists of only 102 invasive values, the models are evaluated using the leave-one-out cross validation strategy that is applied at the patient level [55]. For each fold, the samples of one patient are moved to a validation set, while the model is trained for a fixed number of epochs (300) on the samples of the remaining patients. The classification accuracy is computed for each epoch, and the epoch leading to the highest accuracy on the entire dataset, i.e., all folds, is chosen for reporting the statistics. Additionally, only during training of the classification-based approaches, we also ignored the samples with invasive FFR values in the range 0.79-0.81 (six samples). By removing these samples that are close to the cut-off point, the model is able to learn to better discriminate between the classes. For all the models we used the Adam optimizer [56], mean squared error as a loss function for the regression approach, and cross entropy [57] for the classification and the FSL approach (more details are included in Appendix A.2). All the architectures were optimized using grid search [58], applied for: number of layers, number of neurons per layer, dropout percentage, and the learning rate. The implementation is based on Python, and the PyTorch [59] library for DL model training and inference.