# One-Step Enhancer: Deblurring and Denoising of OCT Images
## 3 Proposed Method  
### Problem Formulation  
Overall, the learning process for image enhancement based on unpaired data is realized using disentanglement to decode the image features and GAN to generate clean images. For implementing this, the proposed method consists of three parts: (1) encoders for content (\(E^{c}\)) and features (\(E^{b}\), \(E^{n}\) and \(E^{bm}\) for blur, noise and blur-noise); (2) generators of blurred, noisy, blurred-noisy, and clean images (\(G^{b},G^{n},G^{m},G^{c}\)); and (3) discriminators for blurred, noisy, blurred-noisy, and clean image discrimination (\(D^{b}\), \(D^{n}\), \(D^{bn},D^{c}\)).  
An overview of the proposed architecture is shown in Figure 2. Given an input blur-noise data X and unpaired clean data Y, the content encoder \(E^{c}\) extracts content information from corresponding samples, and \(E^{b}\), \(E^{n}\) estimate the feature information in X. Then \(G^{b}\), \(G^{n}\), and \(G^{bn}\) take features and content information to generate corresponding images, and \(G^{c}\) generates a clean image. Finally, the discriminators distinguish between the real and generated images.  
Since clean images should only contain content components, a well-trained content encoder \(E^{c}\) should allow the generation of the desired enhanced images. This is achieved by exploiting information from the blur and noise domains. For the blur domain, considering the content information of \(E^{c}\) and the blur features of \(E^{b}\), the generated blur images guide the encoder \(E^{c}\) towards extracting content information from blurred images. Similarly, generating and then distinguishing noisy images from clean ones guides \(E^{c}\) towards extracting content from noisy images. In addition, we enforce the last layers of the encoders for content, blur and noise to share weights, which contributes to guiding \(E^{c}\) towards learning how to effectively extract content information from raw images.  
Specifically, \(E^{c}\) encodes inputs X and Y as content features \(F^{c}_{x}\) and \(F^{c}_{y}\), respectively. The blur feature \(F^{b}_{x}\) and noise feature \(F^{n}_{x}\) are encoded from X by \(E^{b}\) and \(E^{n}\). Then, as shown in Equations (1) and (2), the reconstructed \(Y_{r}\) is generated from \(F^{c}_{y}\) using \(G^{c}\), and the reconstructed \(X_{r}\) is generated from \(F^{c}_{x^{\prime}},F^{b}_{x^{\prime}},F^{n}_{x}\) using \(G^{bn}\).  
\[\mathbf{Y}_{r}=G^{c}(F^{c}_{y}) \tag{1}\]  
\[\mathbf{X}_{r}=G^{bn}(F^{c}_{x},F^{b}_{x},F^{n}_{x}) \tag{2}\]  
Generators are used to generate new images based on the features described above according to Equations (3)-(7).  
\[\mathbf{X}_{b}=G^{b}(F^{c}_{x},F^{b}_{x}) \tag{3}\]  
\[\mathbf{X}_{c}=G^{c}(F^{c}_{x}) \tag{4}\]  
\[\mathbf{Y}_{b}=G^{b}(F^{c}_{y^{\prime}},F^{b}_{x}) \tag{5}\]  
\[\mathbf{Y}_{n}=G^{n}(F^{c}_{y^{\prime}},F^{n}_{x}) \tag{6}\]\[\mathbf{Y}_{bn}=G^{b}(F_{y}^{c},F_{x}^{b},F_{x}^{n}) \tag{7}\]  
Disentanglement is then used to handle unpaired inputs and generate new images from a corresponding domain. Features are obtained from generated images: \(F^{c}-X_{c}\), \(F^{b}-Y_{b},F^{n}-Y_{n},F^{c}-Y_{bn},F^{b}-Y_{bn},F^{n}-Y_{bn}\). Finally, cycled inputs are obtained as follows:  
\[\mathbf{X}_{cycle}=G^{bn}(F^{c}-X_{c},F^{b}-Y_{bn},F^{n}-Y_{bn}) \tag{8}\]  
\[\mathbf{X}_{cycle2}=G^{bn}(F^{c}-X_{c},F^{b}-Y_{b},F^{n}-Y_{n}) \tag{9}\]  
\[\mathbf{Y}_{cycle}=G^{bn}(F^{c}-Y_{bn}) \tag{10}\]  
After training the model and addressing disentanglement, \(E^{c}\) can extract content features from low-quality images, and then clean images can be obtained using \(G^{c}\).