We hereby note that 3D super-resolution is not equivalent to 2D super-resolution in a slice-by-slice order. Our first CNN performs 2D super-resolution in a slice-by-slice order, increasing an input of size \(h \times w \times d\)  to the size \(r \cdot h \times r \cdot w \times d\) , where \(r\)  is the scale factor. Since we end up with the same number of slices (\(r\) ), this is not enough. This is why we need the second CNN to further increase the image from \(r \cdot h \times r \cdot w \times d\)  voxels to \(r \cdot h \times r \cdot w \times r \cdot d\)  voxels. The final output of \(r \cdot h \times r \cdot w \times r \cdot d\)  voxels could also be obtained by employing a single CNN with 3D convolutions. In most of our convolutional layers, each 2D convolutional filter is formed of \(3 \cdot 3 \cdot 32+1=289\)  weights to be learned. As we employ two networks for 3D super-resolution, we learn \(2 \cdot 289 = 578\)  weights. For an equivalent model based on 3D convolutions, each 3D convolutional filter would be formed of \(3 \cdot 3 \cdot 3 \cdot 32+1=865\)  weights. This analysis proves that our two CNNs put together have less weights than a single 3D CNN. We thus conclude that our approach is more efficient. We note that our approach is essentially based on decomposing the 3D convolutional filters in a product of two 2D convolutional filters. We note that the same principle is applied in literature [1]}, [2]} to build more efficient CNN models by decomposing 2D convolutional layers in two subsequent 1D convolutional layers that operate on independent dimensions.
