# CTprintNet: An Accurate and Stable Deep Unfolding Approach for Few-View CT Reconstruction
## 4 CTprintNet
### CTprintNet Architecture  
Figure 2 shows the flowchart describing the architecture. It is composed of \(K\) iterative layers \((\mathcal{L}_{0},\ldots,\mathcal{L}_{K-1})\) and a final block of post-processing layers \((\mathcal{L}_{f})\). In each layer, the network learns three parameters, which are supposed to change at each algorithm iteration: the regularization parameter \(\lambda\) (which was supposed constant in the model description in Section 3), the stepsize \(\gamma\), and the barrier parameter \(\mu\). Since the simultaneous optimization  
of the parameters of all the \(K\) layers is infeasible due to memory issues, for the first \(n\) layers \((\mathcal{L}_{i})_{0\leq i\leq n-1}\), a greedy approach is adopted throughout the training by sequentially optimizing the output of each iteration and providing it as the starting image for the following iteration. The remaining \(K-n\) layers and the final layer, the light blue block in Figure 2, are trained in a standard end-to-end way and will later be referred to as \(\mathcal{L}_{n}\circ\cdots\circ\mathcal{L}_{K-1}\circ\mathcal{L}_{f}\). In all our tests, we kept the original choice of iRestNet by setting \(K=40\) and \(n=30\). Regarding the details of the construction of one iterative layer \((\mathcal{L}_{i})_{0\leq i\leq K-1}\), as can be seen from Figure 3, it is composed of three substructures, denoted by \((\mathcal{S}_{i}^{(\gamma)}),\mathcal{S}_{i}^{(\mu)},\mathcal{S}_{i}^{( \lambda)})\), inferring the step size \(\gamma_{i}\), the barrier parameter \(\mu_{i}\), and the regularization parameter \(\lambda_{i}\), respectively. They are constructed by analyzing the mathematical constraint imposed on the three parameters. In particular, for all \(i=0,\ldots,K-1\):  
* Since the step size \(\gamma_{i}\) must be positive, this constraint is imposed by estimating the step size as \[\gamma_{i}=\mathcal{S}_{i}^{(\gamma)}=\text{Softplus}(a_{i}),\] (27) where \(a_{i}\) is a scalar parameter of the architecture learned during the training and the Softplus function is defined as \[\text{Softplus}(z)=\ln(1+\exp(z))\qquad\forall z\in\mathbb{R};\] (28)
* The barrier parameter \(\mu_{i}\) is computed by twice alternating a convolutional layer and an average pooling layer, followed by a fully connected layer and a final Softplus activation function;  
Figure 3: Diagram of the layer \(\mathcal{L}_{i}\). Figure 2: Diagram of the CTprintNet architecture. * The regularization parameter \(\lambda_{i}\) is estimated as follows: \[\lambda_{i}=\mathcal{S}_{i}^{(\lambda)}(x_{i})=\frac{\text{Softplus}(b_{i})\hat{ \sigma}(y)}{\eta(x_{i})+\text{Softplus}(c_{i})},\qquad\hat{\sigma}(y)=\text{ median}(\left|W_{H}y\right|)/0.6745,\] (29) where \(\eta(x_{i})\) is the standard deviation of the concatenated spatial gradients of \(x_{i}\), \((b_{i},c_{i})\) are scalars learned by the architecture, and \(\left|W_{H}y\right|\) is the absolute value of the diagonal coefficients of the first-level Haar wavelet decomposition of \(y\). The rationale behind this choice is to provide an initial guess from the ratio between the estimated data fidelity magnitude and the regularizer magnitude (represented by the noise level and the gradient variations, respectively), suitably adjusted by two learned constants. The outputs of the three substructures are then used to compute \(x_{k+1}\) by applying an iteration of the iterative method, Algorithm 1, as shown in Figure 3.  
Since some initial convergence issues were encountered in a (very) limited number of tests, in CTprintNet, we introduced a quality check on the output image of the very first layer \(\mathcal{L}_{0}\), requiring it to exceed a minimum value of mean square error. If this test fails, \(\mathcal{L}_{0}\) is re-trained with different random initializations. The network is completed by the final block, as displayed in Figure 4, which acts as a form of post-processing to enhance the quality of the image obtained from the iterative layers.