# A Novel Dictionary-Based Image Reconstruction for Photoacoustic Computed Tomography
## 2 Methods
### The Proposed Method
We therefore propose to optimally use the combination of basis functions of WT, DCT, and TV, where WT captures point-like features, DCT captures homogeneous texture components, and TV sharpens the edges and reduces other artifacts without eliminating essential information of the image. In this way, due to the properties of the imaging target, which directly affect the PA reconstructed image generated in the first attempt, the reconstruction procedure is updated, moving toward a high image quality. The procedure of the proposed method can be seen in Figure 1.  
The signal (\(b\)) can be decomposed to three sub-signals (\(b_{1}\), \(b_{2}\), and \(b_{3}\)), each emphasizing a feature in the image, utilizing the morphological component analyses (MCA). Having three sub-signal and three sparse representation methods, MCA assumes that, for each sub-signal, there is a corresponding sparse representation which makes the sub-signal sparser than others. The proposed method is described in Equations (6) and (7), which are the expansion of Equation (5) for the MCA concept. \[\min_{x}\frac{1}{2}\|b-(b_{1}+b_{2}+b_{3})\|_{2}^{2}+\alpha\|\psi_{w}x\|_{1}+ \beta\|\psi_{DCT}x\|_{1}+\gamma TV(x) \tag{6}\]  
\[TV(x)=\int|Dx| \tag{7}\]  
where \(x\) is an initial image, obtained from BP algorithm, and \(\psi_{w}\) and \(\psi_{DCT}\) are WT and DCT transform operators, respectively. \(D\) is the gradient operator. \(\alpha\), \(\beta\), and \(\gamma\) are the weight factors for WT, DCT, and TV transform operators, respectively. It should be noted that, in each basis, the emphasis is on one major feature and other features are less signified. These features are preserved as shown in Equation (6). Paradigm of the Proposed Method  
The proposed reconstruction method, demonstrated in Figure 1, is an iterative algorithm with the raw data acquired by transducer/s as the input and the reconstructed image as the output. The principle of the algorithm is as follows. First, we reconstruct an image (\(x\)) using the traditional BP method (considered as the initial image). The image reconstructed by the BP algorithm and the signal used within the BP algorithm (for reconstruction) are considered as the input of the proposed method. Here, \(b\) indicates the raw data, detected by the US transducer/s. Using the forward problem, shown in Equation (2), and the initial image (\(x\)), we calculate the raw data that could be used to obtain the initial image \(x\). It should be noted that the initial image is obtained by the recorded signals using US transducer/s, but using the forward equation presented in Figure 1, we calculate the signal which could be as the initial signal, ignoring the recorded data. As the next step, we differentiate the recorded signals by the calculated signals. The result of differentiation is called \(d_{1}\). By applying \(l_{1}\)-norm to \(d_{1}\), \(f_{1}\) is generated. The \(f_{1}\) indicates the power of the error signal. In addition, we calculate an error image, \(G_{1}\), from the error signal by applying the backward problem illustrated in Equation (3). Simultaneously, the system applies the proposed combinational sparsifying method on \(x\) to obtain an image. This image is called \(G_{2}\), as shown in Figure 1. At this step, the signals that could be used for generation of \(G_{2}\) is calculated using the forward problem, called \(f_{2}\). By applying \(l_{1}\)-norm to \(f_{2}\), \(f_{3}\) is generated as the power of \(f_{2}\). Therefore, summation of \(f_{1}\) and \(f_{3}\) (i.e., \(f\)) is a parameter that shows the difference between the real image and what we have estimated. If \(f\) does not meet the desired margin error, \(x\) should be updated. The updating process can be done by subtracting a portion of \(G\) from \(x\), i.e., \(\delta t\), iteration step. Big step accelerates the speed of the program and reduces the execution time, but it may increase the error and lead to an unstable loop. If \(f\) meets the desired margin error, the last updated \(x\) would be the final image at this first step.