# On-the-Fly Machine Learning for Improving Image Resolution in Tomography
## 4 Results  
We evaluate the accuracy of our method on simulated and experimental data, which is described below. Before going through the specifics of each experiment, we first provide details on the steps that all experiments have in common. **Data acquisition** For each experiment, three projection datasets are acquired. The first projection dataset has the entire object in the field of view and has a low magnification factor \(\alpha_{\mathrm{low}}\). The second and third projection datasets are acquired of a central and upper region of interest and have a higher magnification factor \(\alpha_{\mathrm{high}}\). This is illustrated in Figure 5. \begin{table}
\begin{tabular}{l c c c c c} \hline \hline  & \multicolumn{2}{c}{**Training**} & \multicolumn{2}{c}{**Processing**} \\ \cline{2-6}  & **Grid Size (\(N^{3}\))** & **Input (\(\widetilde{\mathbf{x}}^{\mathrm{input}}\))** & **Target (\(\widetilde{\mathbf{x}}^{\mathrm{target}}\))** & **Grid Size (\(N^{3}_{\mathrm{final}}\))** & **Input** \\ \hline
**Method A** & \(N^{3}_{\mathrm{high}}\) & \(\mathbf{U}_{k}(\widetilde{\mathbf{x}}^{\mathrm{low}}_{\mathrm{ROI}})\) & \(\widetilde{\mathbf{x}}^{\mathrm{high}}\) & \((kN_{\mathrm{low}}-2s)^{3}\) & \(\mathbf{U}_{k}(\widetilde{\mathbf{x}}^{\mathrm{low}})\) \\
**Method B** & \(N^{3}_{\mathrm{high}}/k^{3}\) & \(\widetilde{\mathbf{x}}^{\mathrm{low}}_{\mathrm{ROI}}\) & \(\mathbf{D}_{k}(\widetilde{\mathbf{x}}^{\mathrm{high}})\) & \((N_{\mathrm{low}}-2s)^{3}\) & \(\widetilde{\mathbf{x}}^{\mathrm{low}}\) \\ \hline \hline \end{tabular}
\end{table} 
Table 1: An overview of the grid sizes of method A, where the input is up-sampled, and method B, where the target is down-sampled. The grid size and input are tabulated for the training phase and the processing phase, in which the final output is calculated. The grid size is in number of voxels. The processing grid size is the size of the output \(\widetilde{\mathbf{x}}^{\mathrm{final}}\) when the network is applied to \(\widetilde{\mathbf{x}}^{\mathrm{low}}\), and \(s\) is the number of additional input slices that the network takes as input. **Reconstruction** In all experiments, high-resolution reconstructions are computed of a central and upper region of interest to serve as target data for the _training set_ and _test set_, respectively. A low-resolution reconstruction is computed of the entire object, which serves as input data for both training and testing. In all experiments, the low-resolution voxels are \(k=4\) times as large as the high-resolution voxels. FDK reconstructions were computed using the ASTRA toolbox [35]. **Up- and down-sampling** The up- and down-sampling of the reconstructed volumes can be performed in various ways. In the experiments, up-sampling in method A is carried out by nearest-neighbor up-sampling, where each voxel is repeated \(k\) times in each direction. Empirically, we found this to be sufficient, as cubic up-sampling did not improve the quality of the network output. Down-sampling of the target voxel grid in method B is carried out using three-dimensional cubic interpolation, where the image is interpolated to a coarser grid using polynomials of degree at most 3 determined by a window of \(4\times 4\times 4\) voxels. **Neural network implementation** For each experiment, three separate networks are trained using: (i) method A and a single input slice, (ii) method A and a slab of nine input slices, (iii) method B and a single input slice. The MS-D network is implemented in PyTorch [36]. Each trained network has 100 single-channel intermediate layers, and the convolution in layer \(i\) is dilated by \(d_{i}=1+(i\mod 10)\), as is described in [33]. The network has 45,652 parameters when there is a single input slice, and it has 52,948 parameters when the input is a slab of nine slices. **Training procedure** The network is trained on the central region of interest. Because we chose not to use a validation set, a criterion was set for early stopping. In all experiments, training finished after two days or 1000 epochs, whichever came first.