<?xml version="1.0" encoding="utf-8"?><!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.0 20120330//EN" "JATS-journalpublishing1.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">INFORMATICA</journal-id>
<journal-title-group><journal-title>Informatica</journal-title></journal-title-group>
<issn pub-type="epub">1822-8844</issn><issn pub-type="ppub">0868-4952</issn><issn-l>0868-4952</issn-l>
<publisher>
<publisher-name>Vilnius University</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">INFO1151</article-id>
<article-id pub-id-type="doi">10.15388/Informatica.2017.141</article-id>
<article-categories><subj-group subj-group-type="heading">
<subject>Research Article</subject></subj-group></article-categories>
<title-group>
<article-title>Quantum Noise Removal in X-Ray Images with Adaptive Total Variation Regularization</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Prasath</surname><given-names>V.B. Surya</given-names></name><email xlink:href="prasaths@missouri.edu">prasaths@missouri.edu</email><xref ref-type="aff" rid="j_info1151_aff_001"/><bio>
<p><bold>V.B.S. Prasath</bold> is currently an assistant research professor in the Department of Computer Science, University of Missouri-Columbia, USA. He received his PhD in mathematics from the Indian Institute of Technology Madras (IITM), India in 2009. He has been a postdoctoral fellow at the Department of Mathematics, University of Coimbra, Portugal, for two years. From 2012 to 2015 he was a postdoctoral fellow with the Computational Imaging and VisAnalysis (CIVA) Lab at the University of Missouri-Columbia working on various image processing and computer vision problems. He had summer internships/visits at Kitware Inc., USA, The Fields Institute, Canada, and Institute for Pure and Applied Mathematics (IPAM), University of California Los Angeles (UCLA), USA. His main research interests include regularization methods for inverse and ill-posed problems, optimization, variational, PDE based image processing, and computer vision with applications in remote sensing, bio-medical imaging, and biometrics domains.</p></bio>
</contrib>
<aff id="j_info1151_aff_001">Computational Imaging and VisAnalysis (CIVA) Lab, Department of Computer Science, <institution>University of Missouri-Columbia</institution>, MO 65211, <country>USA</country></aff>
</contrib-group>
<pub-date pub-type="ppub"><year>2017</year></pub-date><pub-date pub-type="epub"><day>1</day><month>1</month><year>2017</year></pub-date><volume>28</volume><issue>3</issue><fpage>505</fpage><lpage>515</lpage><history><date date-type="received"><month>11</month><year>2016</year></date><date date-type="accepted"><month>4</month><year>2017</year></date></history>
<permissions><copyright-statement>© 2017 Vilnius University</copyright-statement><copyright-year>2017</copyright-year>
<license license-type="open-access" xlink:href="http://creativecommons.org/licenses/by/4.0/">
<license-p>Open access article under the <ext-link ext-link-type="uri" xlink:href="http://creativecommons.org/licenses/by/4.0/">CC BY</ext-link> license.</license-p></license></permissions>
<abstract>
<p>Medical X-ray images are prevalent and are the least expensive diagnostic imaging method available widely. The handling of film processing and digitization introduces noise in X-ray images and suppressing such noise is an important step in medical image analysis. In this work, we use an adaptive total variation regularization method for removing quantum noise from X-ray images. By utilizing an edge indicator measure along with the well-known edge preserving total variation regularization, we obtain noise removal without losing salient features. Experimental results on different X-ray images indicate the promise of our approach. Synthetic examples are given to compare the performance of our scheme with traditional total variation and anisotropic diffusion methods from the literature. Overall, our proposed approach obtains better results in terms of visual appearance as well as with respect to different error metrics and structural similarity.</p>
</abstract>
<kwd-group>
<label>Key words</label>
<kwd>total variation</kwd>
<kwd>adaptive</kwd>
<kwd>regularization</kwd>
<kwd>quantum noise</kwd>
<kwd>X-ray images</kwd>
<kwd>denoising</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="j_info1151_s_001">
<label>1</label>
<title>Introduction</title>
<p>Medical image denoising is an important area within computer aided diagnosis (CAD) systems. One of the well known and very accessible methods for imaging is the X-ray which is used throughout the world. X-ray image is formed when an area under consideration of a patient is exposed under X-rays and resulting attenuation is captured. Now digitization is an important improvement in medical imaging systems and the quantum noise characteristics of the X-ray scattering needs to be taken into account.</p>
<p>Image restoration under different noise types has been widely researched over the past few years and variational and partial differential equation (PDE) based methods are very popular in this regard. One of the widely used methods is that of Rudin <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1151_ref_009">1992</xref>) which utilizes the total variation (TV) regularization or minimization of the <inline-formula id="j_info1151_ineq_001"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${L^{2}}$]]></tex-math></alternatives></inline-formula> norm of the gradient image. This TV regularization enjoys nice mathematical properties and prefers piecewise constant solutions. This in turn can be detrimental in medical image denoising as flat (homogenous) regions can be attenuated into piecewise constant regions, an effect known as <italic>staircasing</italic> artifacts (Le <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1151_ref_004">2007</xref>). This is not desirable since noise removal is only a pre-processing step for further image analysis and decision making systems. Therefore, creating artificial regions in medical images is not preferred and better alternatives are sought. One of the important improvement is to use an edge indicator function with TV regularization for stopping staircasing artifacts as well as to inhibit smoothing across edges (Strong and Chan (<xref ref-type="bibr" rid="j_info1151_ref_010">1996</xref>); Prasath and Singh (<xref ref-type="bibr" rid="j_info1151_ref_006">2010</xref>), <xref ref-type="bibr" rid="j_info1151_ref_007">2012</xref>).</p>
<p>Medical X-ray images suffer from quantum noise and we utilize an adaptive TV regularization along with an appropriate image fidelity term for restoring such corrupted images. The quantum noise encountered in X-ray is due to the photons hitting the detector and the finite number of random events are counted, thereby leading to inherent presence in the acquired images. We use the Poisson distribution to model the quantum noise in X-ray imagery and in this paper we study an application of adaptive TV regularization with alternating direction method of multipliers (ADMM) employed for the optimization (Boyd <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1151_ref_001">2011</xref>; Figueiredo and Biouscas-Dias, <xref ref-type="bibr" rid="j_info1151_ref_003">2010</xref>). For the adaptive weight we use the generalized inverse gradient term which controls the spread of salient edges with local statistics. By combining this localized edge indicator function via local histograms and inverse gradients with TV regularization, we obtain better regularized images with efficient Poisson noise removal and edge preservation. Experimental results on synthetic and real data indicate our method obtains better results than related regularization models (Le <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1151_ref_004">2007</xref>; Zhou and Lia, <xref ref-type="bibr" rid="j_info1151_ref_012">2012</xref>) in terms of image quality metrics and structure preservation.</p>
<p>We organized the paper as follows. Section <xref rid="j_info1151_s_002">2</xref> introduces the proposed adaptive total variation for quantum noise removal. Section <xref rid="j_info1151_s_008">3</xref> provides experimental and comparison results and Section <xref rid="j_info1151_s_012">4</xref> concludes the paper.</p>
</sec>
<sec id="j_info1151_s_002">
<label>2</label>
<title>Adaptive Total Variation Regularization</title>
<sec id="j_info1151_s_003">
<label>2.1</label>
<title>Total Variation Regularization</title>
<p>Total variation (TV) regularization is one of the well-known approach in solving the ill-posed inverse problem of image restoration. The main advantage of the TV is that it preserves edges without compromising the quality of denoising capabilities. The TV regularization is written as minimization of the following, 
<disp-formula id="j_info1151_eq_001">
<label>(1)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:munder>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
</mml:munder>
<mml:mi mathvariant="script">TV</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∫</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">Ω</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo>∇</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mspace width="0.1667em"/>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \underset{u}{\min }\mathcal{TV}(u)={\int _{\Omega }}\big|\nabla u(x)\big|\hspace{0.1667em}dx\]]]></tex-math></alternatives>
</disp-formula> 
where <inline-formula id="j_info1151_ineq_002"><alternatives><mml:math>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo>:</mml:mo>
<mml:mi mathvariant="normal">Ω</mml:mi>
<mml:mo stretchy="false">⊂</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo stretchy="false">→</mml:mo>
<mml:mi mathvariant="double-struck">R</mml:mi></mml:math><tex-math><![CDATA[$u:\Omega \subset {\mathbb{R}^{2}}\to \mathbb{R}$]]></tex-math></alternatives></inline-formula>, and the minimization is taken over a suitable space such as the space of functions of bounded variation <inline-formula id="j_info1151_ineq_003"><alternatives><mml:math>
<mml:mi mathvariant="italic">B</mml:mi>
<mml:mi mathvariant="italic">V</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="normal">Ω</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$BV(\Omega )$]]></tex-math></alternatives></inline-formula>. Although the TV regularization removes noise while preserving salient edges, it can create artificial edges in homogeneous areas which is terms as ’staircasing’ artifacts. This is an undesirable quality while denoising medical imagery as creating new structures can cause confusions in the final medical diagnostic systems. To avoid the staircasing artifacts while maintaining the important edge preserving property of TV has motivated many studies to come up with adaptive solutions (Prasath <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1151_ref_008">2015</xref>).</p>
</sec>
<sec id="j_info1151_s_004">
<label>2.2</label>
<title>Proposed Approach</title>
<sec id="j_info1151_s_005">
<label>2.2.1</label>
<title>Adaptive total variation</title>
<p>In this paper we assumed that a given grayscale image <inline-formula id="j_info1151_ineq_004"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:mi mathvariant="normal">Ω</mml:mi>
<mml:mo stretchy="false">⊂</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo stretchy="false">→</mml:mo>
<mml:mi mathvariant="double-struck">R</mml:mi></mml:math><tex-math><![CDATA[${u_{0}}:\Omega \subset {\mathbb{R}^{2}}\to \mathbb{R}$]]></tex-math></alternatives></inline-formula> be corrupted by Poisson noise. We assume the forward model consist of the noisy image <inline-formula id="j_info1151_ineq_005"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${u_{0}}(x)$]]></tex-math></alternatives></inline-formula>: 
<disp-formula id="j_info1151_eq_002">
<label>(2)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="script">P</mml:mi>
<mml:mo maxsize="1.19em" minsize="1.19em" fence="true" mathvariant="normal">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" fence="true" mathvariant="normal">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="normal">Ω</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {u_{0}}(x)=\mathcal{P}\big(u(x)\big),\hspace{1em}x\in \Omega ,\]]]></tex-math></alternatives>
</disp-formula> 
where <inline-formula id="j_info1151_ineq_006"><alternatives><mml:math>
<mml:mi mathvariant="normal">Ω</mml:mi>
<mml:mo stretchy="false">⊂</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[$\Omega \subset {\mathbb{R}^{2}}$]]></tex-math></alternatives></inline-formula> is the image domain (rectangle), and <inline-formula id="j_info1151_ineq_007"><alternatives><mml:math>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$x=({x_{1}},{x_{2}})$]]></tex-math></alternatives></inline-formula> pixels, and <italic>u</italic> is the latent image, with Poisson distribution for the observed image <inline-formula id="j_info1151_ineq_008"><alternatives><mml:math>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">|</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>!</mml:mo></mml:math><tex-math><![CDATA[$p({u_{0}}|u)={e^{-u(x)}}u{(x)^{{u_{0}}(x)}}/{u_{0}}(x)!$]]></tex-math></alternatives></inline-formula>. By combining Poisson noise fidelity term, the general regularization model is written in unconstrained form as Le <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1151_ref_004">2007</xref>), 
<disp-formula id="j_info1151_eq_003">
<label>(3)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:munder>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
</mml:munder>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">TV</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">Φ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∫</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">Ω</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi mathvariant="normal">Φ</mml:mi>
<mml:mo maxsize="1.19em" minsize="1.19em" fence="true" mathvariant="normal">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo>∇</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" fence="true" mathvariant="normal">)</mml:mo>
<mml:mspace width="0.1667em"/>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∫</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">Ω</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo maxsize="1.19em" minsize="1.19em" fence="true">[</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo movablelimits="false">log</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" fence="true" mathvariant="normal">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" fence="true" mathvariant="normal">)</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" fence="true">]</mml:mo>
<mml:mspace width="0.1667em"/>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \underset{u}{\min }{\mathcal{TV}_{\Phi }}(u)={\int _{\Omega }}\Phi \big(x,\big|\nabla u(x)\big|\big)\hspace{0.1667em}dx+{\int _{\Omega }}\big[u(x)-{u_{0}}(x)\log \big(u(x)\big)\big]\hspace{0.1667em}dx.\]]]></tex-math></alternatives>
</disp-formula> 
In this work, we utilize the adaptive total variation (ATV) regularization with the inverse gradient based edge indicator functions, 
<disp-formula id="j_info1151_eq_004">
<label>(4)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mi mathvariant="normal">Φ</mml:mi>
<mml:mo maxsize="1.19em" minsize="1.19em" fence="true" mathvariant="normal">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo>∇</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" fence="true" mathvariant="normal">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">ω</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo>∇</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \Phi \big(x,\big|\nabla u(x)\big|\big)=\omega (x)\big|\nabla u(x)\big|,\]]]></tex-math></alternatives>
</disp-formula> 
where spatially adaptive weight is chosen typically as Strong and Chan (<xref ref-type="bibr" rid="j_info1151_ref_010">1996</xref>), Prasath and Singh (<xref ref-type="bibr" rid="j_info1151_ref_007">2012</xref>), Zhou and Lia (<xref ref-type="bibr" rid="j_info1151_ref_012">2012</xref>), 
<disp-formula id="j_info1151_eq_005">
<label>(5)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mi mathvariant="italic">ω</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>:</mml:mo>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mspace width="0.1667em"/>
<mml:mo stretchy="false">|</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">G</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">σ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">⋆</mml:mo>
<mml:mo>∇</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \omega (x):=\frac{1}{1+k\hspace{0.1667em}|{G_{\sigma }}\mathrm{\star }\nabla u(x)|},\]]]></tex-math></alternatives>
</disp-formula> 
with <inline-formula id="j_info1151_ineq_009"><alternatives><mml:math>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo mathvariant="normal">&gt;</mml:mo>
<mml:mn>0</mml:mn></mml:math><tex-math><![CDATA[$k>0$]]></tex-math></alternatives></inline-formula> a contrast parameter. However, this inherits some of the drawbacks with other gradient regularizations such as detecting blocky edges, see Fig. <xref rid="j_info1151_fig_001">1</xref>(b). To improve the performance of the TV regularization and to avoid blocky artifacts, here we propose the following generalized inverse gradient term which incorporates local statistics with patches extracted from the image.</p>
<fig id="j_info1151_fig_001">
<label>Fig. 1</label>
<caption>
<p>Using an edge indicator based weights our adaptive TV regularization obtains better noise removal without smoothing out edges. (a) Input image with Poisson noise level unknown. (b) Weights computed using the inverse gradient of the input image, see Eq. (<xref rid="j_info1151_eq_005">5</xref>), and (c) the proposed generalized inverse gradient of the input image, see Eq. (<xref rid="j_info1151_eq_009">9</xref>), with parameters <inline-formula id="j_info1151_ineq_010"><alternatives><mml:math>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0.06</mml:mn></mml:math><tex-math><![CDATA[$k=0.06$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1151_ineq_011"><alternatives><mml:math>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>5</mml:mn></mml:math><tex-math><![CDATA[$r=5$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1151_ineq_012"><alternatives><mml:math>
<mml:mi mathvariant="italic">σ</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$\sigma =1$]]></tex-math></alternatives></inline-formula>. Both the weights were rescaled to <inline-formula id="j_info1151_ineq_013"><alternatives><mml:math>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo fence="true" stretchy="false">]</mml:mo></mml:math><tex-math><![CDATA[$[0,1]$]]></tex-math></alternatives></inline-formula> for better visualization.</p>
</caption>
<graphic xlink:href="info1151_g001.jpg"/>
</fig>
</sec>
<sec id="j_info1151_s_006">
<label>2.2.2</label>
<title>Generalized inverse gradient weights</title>
<p>Let <inline-formula id="j_info1151_ineq_014"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{N}_{x,r}}$]]></tex-math></alternatives></inline-formula> be the local region centered at <italic>x</italic> with radius <italic>r</italic>. Consider the local histogram of a pixel <inline-formula id="j_info1151_ineq_015"><alternatives><mml:math>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="normal">Ω</mml:mi></mml:math><tex-math><![CDATA[$x\in \Omega $]]></tex-math></alternatives></inline-formula> and its corresponding cumulative distribution function (Prasath and Delhibabu, <xref ref-type="bibr" rid="j_info1151_ref_005">2014</xref>), <disp-formula-group id="j_info1151_dg_001">
<disp-formula id="j_info1151_eq_006">
<label>(6)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="left">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">y</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:mi mathvariant="italic">z</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>∩</mml:mo>
<mml:mi mathvariant="normal">Ω</mml:mi>
<mml:mspace width="0.1667em"/>
<mml:mo stretchy="false">|</mml:mo>
<mml:mspace width="0.1667em"/>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">z</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">y</mml:mi>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>∩</mml:mo>
<mml:mi mathvariant="normal">Ω</mml:mi>
<mml:mo stretchy="false">|</mml:mo>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {H_{x}}(y)=\frac{|\{z\in {\mathcal{N}_{x,r}}\cap \Omega \hspace{0.1667em}|\hspace{0.1667em}u(z)=y\}|}{|{\mathcal{N}_{x,r}}\cap \Omega |},\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_info1151_eq_007">
<label>(7)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="left">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">y</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:mi mathvariant="italic">z</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>∩</mml:mo>
<mml:mi mathvariant="normal">Ω</mml:mi>
<mml:mspace width="0.1667em"/>
<mml:mo stretchy="false">|</mml:mo>
<mml:mspace width="0.1667em"/>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">z</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">&lt;</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">y</mml:mi>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>∩</mml:mo>
<mml:mi mathvariant="normal">Ω</mml:mi>
<mml:mo stretchy="false">|</mml:mo>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {C_{x}}(y)=\frac{|\{z\in {\mathcal{N}_{x,r}}\cap \Omega \hspace{0.1667em}|\hspace{0.1667em}u(z)<=y\}|}{|{\mathcal{N}_{x,r}}\cap \Omega |},\]]]></tex-math></alternatives>
</disp-formula>
</disp-formula-group> for <inline-formula id="j_info1151_ineq_016"><alternatives><mml:math>
<mml:mn>0</mml:mn>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">y</mml:mi>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">L</mml:mi></mml:math><tex-math><![CDATA[$0\leqslant y\leqslant L$]]></tex-math></alternatives></inline-formula>, respectively. Here <inline-formula id="j_info1151_ineq_017"><alternatives><mml:math>
<mml:mo stretchy="false">|</mml:mo>
<mml:mi mathvariant="italic">A</mml:mi>
<mml:mo stretchy="false">|</mml:mo></mml:math><tex-math><![CDATA[$|A|$]]></tex-math></alternatives></inline-formula> denotes the number of elements in the set <italic>A</italic>. We define the following local histogram quantity, 
<disp-formula id="j_info1151_eq_008">
<label>(8)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mi mathvariant="italic">Q</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∫</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">y</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mspace width="0.1667em"/>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mi mathvariant="italic">y</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ Q(x)={\int _{0}^{L}}{C_{x}}(y)\hspace{0.1667em}dy,\]]]></tex-math></alternatives>
</disp-formula> 
which allows us to quantify local regions <inline-formula id="j_info1151_ineq_018"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{N}_{x,r}}$]]></tex-math></alternatives></inline-formula> of a given image <inline-formula id="j_info1151_ineq_019"><alternatives><mml:math>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$u(x)$]]></tex-math></alternatives></inline-formula>. The adaptive weight we consider here is then given as, 
<disp-formula id="j_info1151_eq_009">
<label>(9)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mi mathvariant="italic">ω</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>:</mml:mo>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mspace width="0.1667em"/>
<mml:msup>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">G</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">σ</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">⋆</mml:mo>
<mml:mo>∇</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">Q</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \omega (x):=\frac{1}{1+k\hspace{0.1667em}{(|{G_{\sigma }}\mathrm{\star }\nabla u(x)|/Q(x))^{2}}}.\]]]></tex-math></alternatives>
</disp-formula> 
We used <inline-formula id="j_info1151_ineq_020"><alternatives><mml:math>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>5</mml:mn></mml:math><tex-math><![CDATA[$r=5$]]></tex-math></alternatives></inline-formula> for the neighbourhood size, <inline-formula id="j_info1151_ineq_021"><alternatives><mml:math>
<mml:mi mathvariant="italic">L</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>255</mml:mn></mml:math><tex-math><![CDATA[$L=255$]]></tex-math></alternatives></inline-formula> for 8-bit images, <inline-formula id="j_info1151_ineq_022"><alternatives><mml:math>
<mml:mi mathvariant="italic">σ</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>2</mml:mn></mml:math><tex-math><![CDATA[$\sigma =2$]]></tex-math></alternatives></inline-formula> in the Gaussian kernel smoothing in our experiments. The use of local histograms based quantity within the inverse gradient weight improves the edge map with inhibiting the blocky edges and providing a clear discontinuities present in the input image, see Fig. <xref rid="j_info1151_fig_001">1</xref>(c). The wellposedness of the above adaptive weighted TV regularization based model can be obtained using the theory of calculus of variations (Prasath and Singh, <xref ref-type="bibr" rid="j_info1151_ref_007">2012</xref>; Prasath <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1151_ref_008">2015</xref>).</p>
</sec>
</sec>
<sec id="j_info1151_s_007">
<label>2.3</label>
<title>Alternating Direction Method of Multipliers (ADMM)</title>
<p>To solve the energy minimization problem with weighted TV regularization (<xref rid="j_info1151_eq_003">3</xref>) we utilize the alternating direction method of multipliers (ADMM) algorithm which is very efficient in terms of computational time. We provide a brief treatment as for the adaptive TV regularization the general ADMM formulation carries over with only little modifications, and we refer to Figueiredo and Biouscas-Dias (<xref ref-type="bibr" rid="j_info1151_ref_003">2010</xref>) for more details. The following iterative formulations constitute the ADMM for our problem, <disp-formula-group id="j_info1151_dg_002">
<disp-formula id="j_info1151_eq_010">
<label>(10)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="left">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="normal">arg</mml:mi>
<mml:munder>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
</mml:munder>
<mml:msub>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∫</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">Ω</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi mathvariant="italic">ω</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo>∇</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mspace width="0.1667em"/>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo>+</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">‖</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>−</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msup>
<mml:msubsup>
<mml:mrow>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">‖</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {u^{k+1}}=\mathrm{arg}\underset{u}{\min }{\int _{\Omega }}\omega (x)\big|\nabla u(x)\big|\hspace{0.1667em}dx+\frac{\alpha }{2}\big\| u(x)-{v^{k}}-{b^{k}}{\big\| _{2}^{2}},\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_info1151_eq_011">
<label>(11)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="left">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="normal">arg</mml:mi>
<mml:munder>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:munder>
<mml:msub>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∫</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">Ω</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi mathvariant="italic">λ</mml:mi>
<mml:mo maxsize="1.19em" minsize="1.19em" fence="true" mathvariant="normal">(</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo movablelimits="false">log</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" fence="true" mathvariant="normal">)</mml:mo>
<mml:mspace width="0.1667em"/>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>+</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">‖</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>−</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msup>
<mml:msubsup>
<mml:mrow>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">‖</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {v^{k+1}}=\mathrm{arg}\underset{v}{\min }{\int _{\Omega }}\lambda \big(v-{u_{0}}\log (v)\big)\hspace{0.1667em}dv+\frac{\alpha }{2}\big\| {u^{k+1}}-v-{b^{k}}{\big\| _{2}^{2}},\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_info1151_eq_012">
<label>(12)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="left">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>−</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" fence="true" mathvariant="normal">(</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>−</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo maxsize="1.19em" minsize="1.19em" fence="true" mathvariant="normal">)</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {b^{k+1}}={b^{k}}-\big({u^{k+1}}-{v^{k+1}}\big).\]]]></tex-math></alternatives>
</disp-formula>
</disp-formula-group> Here <italic>λ</italic> is the Lagrangian multiplier, <italic>b</italic> auxiliary variable, and <inline-formula id="j_info1151_ineq_023"><alternatives><mml:math>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal">&gt;</mml:mo>
<mml:mn>0</mml:mn></mml:math><tex-math><![CDATA[$\alpha >0$]]></tex-math></alternatives></inline-formula> is a parameter (with a relation <inline-formula id="j_info1151_ineq_024"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>=</mml:mo>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${\lambda ^{k}}=-\alpha {b^{k}}$]]></tex-math></alternatives></inline-formula>). To solve the first minimization problem (weighted TV regularization with <inline-formula id="j_info1151_ineq_025"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{2}}$]]></tex-math></alternatives></inline-formula> fidelity) for <italic>u</italic> various optimization methods can be utilized. In this work, we use Chambolle’s dual minimization method (Chambolle, <xref ref-type="bibr" rid="j_info1151_ref_002">2004</xref>), 
<disp-formula id="j_info1151_eq_013">
<label>(13)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>−</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo>∇</mml:mo>
<mml:mo>·</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" fence="true" mathvariant="normal">(</mml:mo>
<mml:mi mathvariant="italic">ω</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo maxsize="1.19em" minsize="1.19em" fence="true" mathvariant="normal">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {u^{k+1}}={v^{k}}+{b^{k}}-\frac{1}{\alpha }\nabla \cdot \big(\omega (x){p^{k}}\big),\]]]></tex-math></alternatives>
</disp-formula> 
where <italic>p</italic> is the dual variable and can be obtained by the following formula, 
<disp-formula id="j_info1151_eq_014">
<label>(14)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mo>∇</mml:mo>
<mml:mi mathvariant="normal">div</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">ω</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo stretchy="false">|</mml:mo>
<mml:mo>∇</mml:mo>
<mml:mi mathvariant="normal">div</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">ω</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {p^{k+1}}=\frac{{p^{k}}+\Delta t(\nabla \mathrm{div}(\omega (x){p^{k}})-\alpha ({v^{k}}+{b^{k}}))}{1+\Delta t|\nabla \mathrm{div}(\omega (x){p^{k}})-\alpha ({v^{k}}+{b^{k}})|}.\]]]></tex-math></alternatives>
</disp-formula> 
To solve for <italic>v</italic>, a simple solution exists, 
<disp-formula id="j_info1151_eq_015">
<label>(15)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>−</mml:mo><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo>−</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo>+</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:mo maxsize="2.03em" minsize="2.03em" fence="true" mathvariant="normal">(</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>−</mml:mo><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo>−</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo maxsize="2.03em" minsize="2.03em" fence="true" mathvariant="normal">)</mml:mo>
<mml:mo>+</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="italic">λ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msqrt>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {v^{k+1}}=\frac{{u^{k+1}}-\frac{\lambda }{\alpha }-{b^{k}}}{2}+\sqrt{\bigg(\frac{{u^{k+1}}-\frac{\lambda }{\alpha }-{b^{k}}}{2}\bigg)+\frac{\lambda }{\alpha }{u_{0}}}.\]]]></tex-math></alternatives>
</disp-formula>
</p>
</sec>
</sec>
<sec id="j_info1151_s_008">
<label>3</label>
<title>Experimental Results</title>
<sec id="j_info1151_s_009">
<label>3.1</label>
<title>Setup, Parameters, and Error Metrics</title>
<p>We rescaled the images used here to the continuous domain <inline-formula id="j_info1151_ineq_026"><alternatives><mml:math>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo fence="true" stretchy="false">]</mml:mo></mml:math><tex-math><![CDATA[$[0,1]$]]></tex-math></alternatives></inline-formula>. The initial parameters of ADMM and dual minimization <inline-formula id="j_info1151_ineq_027"><alternatives><mml:math>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$\alpha =1$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1151_ineq_028"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn></mml:math><tex-math><![CDATA[${b^{t=0}}=0$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1151_ineq_029"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn></mml:math><tex-math><![CDATA[${p^{t=0}}=0$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1151_ineq_030"><alternatives><mml:math>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$v={u_{0}}$]]></tex-math></alternatives></inline-formula>, inner iteration of 5 (for dual variable <italic>p</italic> in Eq. (<xref rid="j_info1151_eq_014">14</xref>)) were set in all our experimental results reported here. For the weights we utilize the pre-smoothing Gaussian kernel with <inline-formula id="j_info1151_ineq_031"><alternatives><mml:math>
<mml:mi mathvariant="italic">σ</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$\sigma =1$]]></tex-math></alternatives></inline-formula>, and the neighbourhood size <inline-formula id="j_info1151_ineq_032"><alternatives><mml:math>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>5</mml:mn></mml:math><tex-math><![CDATA[$r=5$]]></tex-math></alternatives></inline-formula> (for the local histogram in the proposed generalized inverse gradient weight (<xref rid="j_info1151_eq_009">9</xref>) in our comparison results. The Lagrangian multiplier <italic>λ</italic> and the contrast parameter <italic>k</italic> were modified according to optimal results presented below. Typically 20–30 iterations of the ADMM is sufficient to obtain good restoration results on a MATLAB implementation (on a Mac Pro Laptop, 2.3 GHz Intel Core <inline-formula id="j_info1151_ineq_033"><alternatives><mml:math>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mn>7</mml:mn></mml:math><tex-math><![CDATA[$i7$]]></tex-math></alternatives></inline-formula> processor, 8 GB 1600 MHz DDR3 memory), and we show the optimized results in the experiments reported below.</p>
<p>For comparing the quality of image restorations in this paper we utilize the root mean squared error (RMSE), relative error (RE), Pratt’s figure of merit (FOM), and structural similarity (SSIM) (Wang <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1151_ref_011">2004</xref>). These are given as, 
<disp-formula id="j_info1151_eq_016">
<label>(16)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mi mathvariant="normal">RMSE</mml:mi>
<mml:mo>=</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup><mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle><mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
<mml:msup>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">o</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:msqrt>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \mathrm{RMSE}=\sqrt{{(mn)^{-1}}\sum \sum {(u-{u_{\mathrm{o}}})^{2}}},\]]]></tex-math></alternatives>
</disp-formula> 
where <inline-formula id="j_info1151_ineq_034"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">o</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${u_{\mathrm{o}}}$]]></tex-math></alternatives></inline-formula> is the original (noise-free) image, and the image is of size <inline-formula id="j_info1151_ineq_035"><alternatives><mml:math>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mo>×</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi></mml:math><tex-math><![CDATA[$m\times n$]]></tex-math></alternatives></inline-formula>. 
<disp-formula id="j_info1151_eq_017">
<label>(17)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mi mathvariant="normal">RE</mml:mi>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mo stretchy="false">‖</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">o</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">‖</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mo stretchy="false">‖</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">o</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">‖</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \mathrm{RE}=\frac{{\| u-{u_{\mathrm{o}}}\| _{2}}}{{\| {u_{\mathrm{o}}}\| _{2}}}.\]]]></tex-math></alternatives>
</disp-formula> 
Pratt’s FOM is calculated as, 
<disp-formula id="j_info1151_eq_018">
<label>(18)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mi mathvariant="normal">FOM</mml:mi>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">max</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">γ</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \mathrm{FOM}=\frac{1}{\mathrm{max}({E_{\mathrm{a}}},{E_{\mathrm{d}}})}{\sum \limits_{i=1}^{{E_{\mathrm{d}}}}}\frac{1}{1+\gamma {d_{i}^{2}}},\]]]></tex-math></alternatives>
</disp-formula> 
where <inline-formula id="j_info1151_ineq_036"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">a</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${E_{\mathrm{a}}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1151_ineq_037"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${E_{\mathrm{d}}}$]]></tex-math></alternatives></inline-formula> are the number of actual and detected edge pixels (using the classical Sobel edge detector), <inline-formula id="j_info1151_ineq_038"><alternatives><mml:math>
<mml:mi mathvariant="italic">γ</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0.1</mml:mn></mml:math><tex-math><![CDATA[$\gamma =0.1$]]></tex-math></alternatives></inline-formula> scaling parameter fixed. The higher value of FOM indicate better quality edge map and value closer to 1 shows the denoising method has good edge preserving property. The SSIM is calculated between two windows <inline-formula id="j_info1151_ineq_039"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ω</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\omega _{1}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1151_ineq_040"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ω</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\omega _{2}}$]]></tex-math></alternatives></inline-formula> of common size <inline-formula id="j_info1151_ineq_041"><alternatives><mml:math>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>×</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi></mml:math><tex-math><![CDATA[$N\times N$]]></tex-math></alternatives></inline-formula>, and is given by, 
<disp-formula id="j_info1151_eq_019">
<label>(19)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mi mathvariant="normal">SSIM</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ω</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ω</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ω</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ω</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">σ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ω</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ω</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ω</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ω</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">σ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ω</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">σ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ω</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \mathrm{SSIM}({\omega _{1}},{\omega _{2}})=\frac{(2{\mu _{{\omega _{1}}}}{\mu _{{\omega _{2}}}}+{c_{1}})(2{\sigma _{{\omega _{1}}{\omega _{2}}}}+{c_{2}})}{({\mu _{{\omega _{1}}}^{2}}+{\mu _{{\omega _{2}}}^{2}}+{c_{1}})({\sigma _{{\omega _{1}}}^{2}}+{\sigma _{{\omega _{2}}}^{2}}+{c_{2}})}\]]]></tex-math></alternatives>
</disp-formula> 
where <inline-formula id="j_info1151_ineq_042"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ω</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mu _{{\omega _{i}}}}$]]></tex-math></alternatives></inline-formula> the average of <inline-formula id="j_info1151_ineq_043"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ω</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\omega _{i}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1151_ineq_044"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">σ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ω</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${\sigma _{{\omega _{i}}}^{2}}$]]></tex-math></alternatives></inline-formula> the variance of <inline-formula id="j_info1151_ineq_045"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ω</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\omega _{i}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1151_ineq_046"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">σ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ω</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ω</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\sigma _{{\omega _{1}}{\omega _{2}}}}$]]></tex-math></alternatives></inline-formula> the covariance, and <inline-formula id="j_info1151_ineq_047"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${c_{1}},{c_{2}}$]]></tex-math></alternatives></inline-formula> stabilization parameters. The mean value of SSIM (MSSIM) is taken as the final error metric and if the value is closer to 1 indicating better structural similarity with <inline-formula id="j_info1151_ineq_048"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">o</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${u_{\mathrm{o}}}$]]></tex-math></alternatives></inline-formula> the original image.</p>
</sec>
<sec id="j_info1151_s_010">
<label>3.2</label>
<title>Synthetic Examples</title>
<fig id="j_info1151_fig_002">
<label>Fig. 2</label>
<caption>
<p>Comparison of different denoising TV regularization on noisy synthetic <inline-formula id="j_info1151_ineq_049"><alternatives><mml:math>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mi mathvariant="italic">h</mml:mi>
<mml:mi mathvariant="italic">a</mml:mi>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mi mathvariant="italic">e</mml:mi>
<mml:mi mathvariant="italic">s</mml:mi></mml:math><tex-math><![CDATA[$Shapes$]]></tex-math></alternatives></inline-formula> image of size <inline-formula id="j_info1151_ineq_050"><alternatives><mml:math>
<mml:mn>320</mml:mn>
<mml:mo>×</mml:mo>
<mml:mn>320</mml:mn></mml:math><tex-math><![CDATA[$320\times 320$]]></tex-math></alternatives></inline-formula>. (a) Input image with Poisson noise of strength <inline-formula id="j_info1151_ineq_051"><alternatives><mml:math>
<mml:mn>20</mml:mn>
<mml:mi mathvariant="normal">%</mml:mi></mml:math><tex-math><![CDATA[$20\% $]]></tex-math></alternatives></inline-formula>, restoration results with (b) total variation (TV) MSSIM <inline-formula id="j_info1151_ineq_052"><alternatives><mml:math>
<mml:mo>=</mml:mo>
<mml:mn>0.7778</mml:mn></mml:math><tex-math><![CDATA[$=0.7778$]]></tex-math></alternatives></inline-formula>, (c) adaptive TV (<xref rid="j_info1151_eq_005">5</xref>) MSSIM <inline-formula id="j_info1151_ineq_053"><alternatives><mml:math>
<mml:mo>=</mml:mo>
<mml:mn>0.7852</mml:mn></mml:math><tex-math><![CDATA[$=0.7852$]]></tex-math></alternatives></inline-formula>, and (d) proposed (<xref rid="j_info1151_eq_009">9</xref>) MSSIM <inline-formula id="j_info1151_ineq_054"><alternatives><mml:math>
<mml:mo>=</mml:mo>
<mml:mtext mathvariant="bold">0.9374</mml:mtext></mml:math><tex-math><![CDATA[$=\textbf{0.9374}$]]></tex-math></alternatives></inline-formula>. In bottom row we show the concentric circles in surface format to visualize the remaining noise and staircasing artifacts after applying the regularization filters.</p>
</caption>
<graphic xlink:href="info1151_g002.jpg"/>
</fig>
<fig id="j_info1151_fig_003">
<label>Fig. 3</label>
<caption>
<p>One dimensional (1D) line taken across the original, noisy, and denoised results to show the denoising capabilities. Dashed (<inline-formula id="j_info1151_ineq_055"><alternatives><mml:math>
<mml:mo>−</mml:mo>
<mml:mo>−</mml:mo></mml:math><tex-math><![CDATA[$--$]]></tex-math></alternatives></inline-formula>) is the original (noise-free), dash-circled (<inline-formula id="j_info1151_ineq_056"><alternatives><mml:math>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="normal">o</mml:mi>
<mml:mo>−</mml:mo></mml:math><tex-math><![CDATA[$-\mathrm{o}-$]]></tex-math></alternatives></inline-formula>) is input noisy signal, dash-dotted (<inline-formula id="j_info1151_ineq_057"><alternatives><mml:math>
<mml:mo>−</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>−</mml:mo></mml:math><tex-math><![CDATA[$-.-$]]></tex-math></alternatives></inline-formula>) is the TV, dotted (...) is the ATV, and solid line with plus (<inline-formula id="j_info1151_ineq_058"><alternatives><mml:math>
<mml:mo>−</mml:mo>
<mml:mo>+</mml:mo>
<mml:mo>−</mml:mo></mml:math><tex-math><![CDATA[$-+-$]]></tex-math></alternatives></inline-formula>) is our proposed approach.</p>
</caption>
<graphic xlink:href="info1151_g003.jpg"/>
</fig>
<p>In our first experiment we consider a synthetic <inline-formula id="j_info1151_ineq_059"><alternatives><mml:math>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mi mathvariant="italic">h</mml:mi>
<mml:mi mathvariant="italic">a</mml:mi>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mi mathvariant="italic">e</mml:mi>
<mml:mi mathvariant="italic">s</mml:mi></mml:math><tex-math><![CDATA[$Shapes$]]></tex-math></alternatives></inline-formula> image of size <inline-formula id="j_info1151_ineq_060"><alternatives><mml:math>
<mml:mn>320</mml:mn>
<mml:mo>×</mml:mo>
<mml:mn>320</mml:mn></mml:math><tex-math><![CDATA[$320\times 320$]]></tex-math></alternatives></inline-formula> pixels which consists of various objects with different scales and intensity values. To test different TV regularization filters we add Poisson noise of strength <inline-formula id="j_info1151_ineq_061"><alternatives><mml:math>
<mml:mn>20</mml:mn>
<mml:mi mathvariant="normal">%</mml:mi></mml:math><tex-math><![CDATA[$20\% $]]></tex-math></alternatives></inline-formula> to the original pristine image as shown in Fig. <xref rid="j_info1151_fig_002">2</xref>(a). Figure <xref rid="j_info1151_fig_002">2</xref>(b–d) show optimal restoration results (with respect to the highest MSSIM value) with TV (Le <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1151_ref_004">2007</xref>), adaptive TV with (<xref rid="j_info1151_eq_005">5</xref>), and our proposed adaptive TV with (<xref rid="j_info1151_eq_009">9</xref>). As can be seen in the bottom row of concentric circles (from the full <inline-formula id="j_info1151_ineq_062"><alternatives><mml:math>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mi mathvariant="italic">h</mml:mi>
<mml:mi mathvariant="italic">a</mml:mi>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mi mathvariant="italic">e</mml:mi>
<mml:mi mathvariant="italic">s</mml:mi></mml:math><tex-math><![CDATA[$Shapes$]]></tex-math></alternatives></inline-formula> image top right corner part), our proposed approach obtains better noise removal with edges preserved in all the objects. Moreover, compared to TV regularization we obtain no staircasing artifacts in flat regions. The slight smoothing of sharp corners is part of the TV regularization formulation and further corner adaptive weight in Eq. (<xref rid="j_info1151_eq_004">4</xref>) is required to preserve them. To see the denoising effects clearly, in Fig. <xref rid="j_info1151_fig_003">3</xref> we show a cross section taken in Fig. <xref rid="j_info1151_fig_002">2</xref> and their corresponding denoising results with TV regularization filters. As can be seen, our regularization obtains better edge preservation without staircasing artifacts in flat regions.</p>
<table-wrap id="j_info1151_tab_001">
<label>Table 1</label>
<caption>
<p>Comparison of TV, ATV – adaptive TV with inverse gradient weight (<xref rid="j_info1151_eq_005">5</xref>) and Our – proposed generalized inverse gradient weight (<xref rid="j_info1151_eq_009">9</xref>) based regularizations on denoising standard test images with Poisson noise of strength <inline-formula id="j_info1151_ineq_063"><alternatives><mml:math>
<mml:mn>20</mml:mn>
<mml:mi mathvariant="normal">%</mml:mi></mml:math><tex-math><![CDATA[$20\% $]]></tex-math></alternatives></inline-formula>. Smaller root mean squared error (RMSE), and (RE), and higher FOM, and MSSIM means better restoration capability. Best results for each image and for each error metric are in bold.</p>
</caption>
<table>
<thead>
<tr>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Image</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Method</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">RMSE</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">RE</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">FOM</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">MSSIM</td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left"><italic>Lena</italic></td>
<td style="vertical-align: top; text-align: left">TV</td>
<td style="vertical-align: top; text-align: left">0.4112</td>
<td style="vertical-align: top; text-align: left">0.0548</td>
<td style="vertical-align: top; text-align: left">0.9508</td>
<td style="vertical-align: top; text-align: left">0.8230</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">ATV</td>
<td style="vertical-align: top; text-align: left">0.3637</td>
<td style="vertical-align: top; text-align: left">0.0503</td>
<td style="vertical-align: top; text-align: left">0.9667</td>
<td style="vertical-align: top; text-align: left">0.8452</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1151_ineq_064"><alternatives><mml:math>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0.0625</mml:mn></mml:math><tex-math><![CDATA[$k=0.0625$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1151_ineq_065"><alternatives><mml:math>
<mml:mi mathvariant="italic">λ</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>8</mml:mn></mml:math><tex-math><![CDATA[$\lambda =8$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">Our</td>
<td style="vertical-align: top; text-align: left"><bold>0.3532</bold></td>
<td style="vertical-align: top; text-align: left"><bold>0.0456</bold></td>
<td style="vertical-align: top; text-align: left"><bold>0.9708</bold></td>
<td style="vertical-align: top; text-align: left"><bold>0.9125</bold></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>Cameraman</italic></td>
<td style="vertical-align: top; text-align: left">TV</td>
<td style="vertical-align: top; text-align: left">0.4681</td>
<td style="vertical-align: top; text-align: left">0.0501</td>
<td style="vertical-align: top; text-align: left">0.9752</td>
<td style="vertical-align: top; text-align: left">0.7892</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">ATV</td>
<td style="vertical-align: top; text-align: left">0.3701</td>
<td style="vertical-align: top; text-align: left">0.0443</td>
<td style="vertical-align: top; text-align: left">0.9834</td>
<td style="vertical-align: top; text-align: left">0.8216</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1151_ineq_066"><alternatives><mml:math>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0.0555</mml:mn></mml:math><tex-math><![CDATA[$k=0.0555$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1151_ineq_067"><alternatives><mml:math>
<mml:mi mathvariant="italic">λ</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>9</mml:mn></mml:math><tex-math><![CDATA[$\lambda =9$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">Our</td>
<td style="vertical-align: top; text-align: left"><bold>0.3622</bold></td>
<td style="vertical-align: top; text-align: left"><bold>0.0418</bold></td>
<td style="vertical-align: top; text-align: left"><bold>0.9901</bold></td>
<td style="vertical-align: top; text-align: left"><bold>0.8993</bold></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>Boat</italic></td>
<td style="vertical-align: top; text-align: left">TV</td>
<td style="vertical-align: top; text-align: left">0.4711</td>
<td style="vertical-align: top; text-align: left">0.0534</td>
<td style="vertical-align: top; text-align: left">0.9537</td>
<td style="vertical-align: top; text-align: left">0.7397</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">ATV</td>
<td style="vertical-align: top; text-align: left">0.4388</td>
<td style="vertical-align: top; text-align: left">0.0507</td>
<td style="vertical-align: top; text-align: left">0.9618</td>
<td style="vertical-align: top; text-align: left">0.8166</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1151_ineq_068"><alternatives><mml:math>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0.0625</mml:mn></mml:math><tex-math><![CDATA[$k=0.0625$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1151_ineq_069"><alternatives><mml:math>
<mml:mi mathvariant="italic">λ</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>12</mml:mn></mml:math><tex-math><![CDATA[$\lambda =12$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Our</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><bold>0.4197</bold></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><bold>0.0445</bold></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><bold>0.9693</bold></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><bold>0.8884</bold></td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Table <xref rid="j_info1151_tab_001">1</xref> shows error metrics values for restoring corrupted <italic>Lena</italic>, <italic>Cameraman</italic> and <italic>Boat</italic> test images from the USC-SIPI Miscellaneous dataset. We fixed all the common parameters equal for the TV regularization variants and vary only the contrast parameter <italic>k</italic>, and Lagrangian multiplier <italic>λ</italic>, see Zhou and Lia (<xref ref-type="bibr" rid="j_info1151_ref_012">2012</xref>).</p>
</sec>
<sec id="j_info1151_s_011">
<label>3.3</label>
<title>X-Ray Imagery Comparison Results</title>
<fig id="j_info1151_fig_004">
<label>Fig. 4</label>
<caption>
<p>Comparison of different regularization denoising filters and variational – PDE methods on X-ray images. (a) Input X-ray images. Restoration with (a) traditional TV, (b) adaptive TV with inverse gradient weight (<xref rid="j_info1151_eq_005">5</xref>), and (c) our proposed generalized inverse gradient weight (<xref rid="j_info1151_eq_009">9</xref>) based regularizations. Better viewed online and zoomed-in.</p>
</caption>
<graphic xlink:href="info1151_g004.jpg"/>
</fig>
<fig id="j_info1151_fig_005">
<label>Fig. 5</label>
<caption>
<p>One dimensional (1D) line taken across the original, noisy, and regularization results of X-ray image in Fig. <xref rid="j_info1151_fig_004">4</xref>(a) top, to show the denoising capabilities. Dash-circled (-o-) is input noisy signal, dash-dotted (-.-) is the TV, dotted (...) is the ATV, and solid line with plus (-+-) is our proposed approach. We show only one finger corresponding the left most.</p>
</caption>
<graphic xlink:href="info1151_g005.jpg"/>
</fig>
<p>Figure <xref rid="j_info1151_fig_004">4</xref> shows comparison restoration results with TV, ATV, and our proposed regularization filters on different X-ray imagery of hands. Our proposed generalized inverse gradient weight based TV regularization obtains better edge preservation with overall pixel intensity improvement indicating that the signal dependent Poisson noise is removed effectively. To show the denoising clearly in Fig. <xref rid="j_info1151_fig_005">5</xref> we show a line taken across from the X-ray image in Fig. <xref rid="j_info1151_fig_004">4</xref>(a) top and the corresponding results from Fig. <xref rid="j_info1151_fig_004">4</xref>(b–d). We only show the first finger on the left (300 pixels long). It is clear that our proposed regularization obtains better restoration of improved intensity profile (contrast enhanced) and without staircasing artifacts. In summary, we see that our proposed ATV regularization works well in preserving important details while removing noise effectively when compared with related denoising methods from the literature.</p>
</sec>
</sec>
<sec id="j_info1151_s_012">
<label>4</label>
<title>Conclusions</title>
<p>In this paper, we considered a localized inverse gradient weighted adaptive total variation regularization for removing quantum noise in X-ray imagery. By using local histograms along with gradient edge indicator function we obtain better roadmaps of discontinuities present in the image thereby better guiding the total variation regularization without creating blocky artifacts. Efficient dual minimization for total variation regularization with alternating direction method of multipliers optimization. Experimental results are given to highlight the applicability of our proposed approach along with comparison with other related denoising methods. Results indicate that we obtain better accuracy in terms of signal to noise ratio and structural similarity preservation.</p>
</sec>
</body>
<back>
<ref-list id="j_info1151_reflist_001">
<title>References</title>
<ref id="j_info1151_ref_001">
<mixed-citation publication-type="journal"><string-name><surname>Boyd</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Parikh</surname>, <given-names>N.</given-names></string-name>, <string-name><surname>Chu</surname>, <given-names>E.</given-names></string-name>, <string-name><surname>Peleato</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Eckstein</surname>, <given-names>J.</given-names></string-name> (<year>2011</year>). <article-title>Distributed optimization and statistical learning via the alternating direction method of multipliers</article-title>. <source>Foundations and Trends in Machine Learning</source>, <volume>3</volume>(<issue>1</issue>), <fpage>1</fpage>–<lpage>122</lpage>.</mixed-citation>
</ref>
<ref id="j_info1151_ref_002">
<mixed-citation publication-type="journal"><string-name><surname>Chambolle</surname>, <given-names>A.</given-names></string-name> (<year>2004</year>). <article-title>An algorithm for total variation minimization and applications</article-title>. <source>Journal of Mathematical Imaging and Vision</source>, <volume>20</volume>, <fpage>89</fpage>–<lpage>97</lpage>.</mixed-citation>
</ref>
<ref id="j_info1151_ref_003">
<mixed-citation publication-type="journal"><string-name><surname>Figueiredo</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Biouscas-Dias</surname>, <given-names>J.</given-names></string-name> (<year>2010</year>). <article-title>Restoration of Poissonian image using alternating direction optimization</article-title>. <source>IEEE Transactions on Image Processing</source>, <volume>19</volume>, <fpage>3133</fpage>–<lpage>3145</lpage>.</mixed-citation>
</ref>
<ref id="j_info1151_ref_004">
<mixed-citation publication-type="journal"><string-name><surname>Le</surname>, <given-names>T.</given-names></string-name>, <string-name><surname>Chartrand</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Asaki</surname>, <given-names>T.</given-names></string-name> (<year>2007</year>). <article-title>A variational approach to constructing images corrupted by Poisson noise</article-title>. <source>Journal of Mathematical Imaging and Vision</source>, <volume>27</volume>, <fpage>257</fpage>–<lpage>263</lpage>.</mixed-citation>
</ref>
<ref id="j_info1151_ref_005">
<mixed-citation publication-type="chapter"><string-name><surname>Prasath</surname>, <given-names>V.B.S.</given-names></string-name>, <string-name><surname>Delhibabu</surname>, <given-names>R.</given-names></string-name> (<year>2014</year>). <chapter-title>Automatic contrast parameter estimation in anisotropic diffusion for image restoration</chapter-title>. In: <string-name><surname>Ignatov</surname>, <given-names>D.I.</given-names></string-name>, <string-name><surname>Khachay</surname>, <given-names>M.Y.</given-names></string-name>, <string-name><surname>Konstantinova</surname>, <given-names>N.</given-names></string-name>, <string-name><surname>Panchenko</surname>, <given-names>A.</given-names></string-name> (Eds.), <source>Analysis of Images, Social Networks, and Texts, Yekaterinburg, Russia</source>, <series><italic>Communications in Computer and Information Science (CCIS)</italic></series>, Vol. <volume>436</volume>, <publisher-name>Springer</publisher-name>.</mixed-citation>
</ref>
<ref id="j_info1151_ref_006">
<mixed-citation publication-type="journal"><string-name><surname>Prasath</surname>, <given-names>V.B.S.</given-names></string-name>, <string-name><surname>Singh</surname>, <given-names>A.</given-names></string-name> (<year>2010</year>). <article-title>A hybrid convex variational model for image restoration</article-title>. <source>Applied Mathematics and Computation</source>, <volume>215</volume>(<issue>10</issue>), <fpage>3655</fpage>–<lpage>3664</lpage>.</mixed-citation>
</ref>
<ref id="j_info1151_ref_007">
<mixed-citation publication-type="other"><string-name><surname>Prasath</surname>, <given-names>V.B.S.</given-names></string-name>, <string-name><surname>Singh</surname>, <given-names>A.</given-names></string-name> (2012). An adaptive anisotropic diffusion scheme for image restoration and selective smoothing. <italic>International Journal of Image and Graphics</italic>, <italic>12</italic>(1). 18 pp.</mixed-citation>
</ref>
<ref id="j_info1151_ref_008">
<mixed-citation publication-type="journal"><string-name><surname>Prasath</surname>, <given-names>V.B.S.</given-names></string-name>, <string-name><surname>Urbano</surname>, <given-names>J.M.</given-names></string-name>, <string-name><surname>Vorotnikov</surname>, <given-names>D.</given-names></string-name> (<year>2015</year>). <article-title>Analysis of adaptive forward-backward diffusion flows with applications in image processing</article-title>. <source>Inverse Problems</source>, <volume>31</volume>, <elocation-id>105008</elocation-id>. <comment>30 pp</comment>.</mixed-citation>
</ref>
<ref id="j_info1151_ref_009">
<mixed-citation publication-type="journal"><string-name><surname>Rudin</surname>, <given-names>L.</given-names></string-name>, <string-name><surname>Osher</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Fatemi</surname>, <given-names>E.</given-names></string-name> (<year>1992</year>). <article-title>Nonlinear total variation based noise removal algorithms</article-title>. <source>Physica D</source>, <volume>60</volume>(<issue>1–4</issue>), <fpage>259</fpage>–<lpage>268</lpage>.</mixed-citation>
</ref>
<ref id="j_info1151_ref_010">
<mixed-citation publication-type="other"><string-name><surname>Strong</surname>, <given-names>D.M.</given-names></string-name>, <string-name><surname>Chan</surname>, <given-names>T.F.</given-names></string-name> (1996). <italic>Spatially and scale adaptive total variation based regularization and anisotropic diffusion in image processing</italic>. UCLA CAM Report 96-46, November.</mixed-citation>
</ref>
<ref id="j_info1151_ref_011">
<mixed-citation publication-type="journal"><string-name><surname>Wang</surname>, <given-names>Z.</given-names></string-name>, <string-name><surname>Bovik</surname>, <given-names>A.C.</given-names></string-name>, <string-name><surname>Sheikh</surname>, <given-names>H.R.</given-names></string-name>, <string-name><surname>Simoncelli</surname>, <given-names>E.P.</given-names></string-name> (<year>2004</year>). <article-title>Image quality assessment: from error visibility to structural similarity</article-title>. <source>IEEE Transactions on Image Processing</source>, <volume>13</volume>(<issue>4</issue>), <fpage>600</fpage>–<lpage>612</lpage>.</mixed-citation>
</ref>
<ref id="j_info1151_ref_012">
<mixed-citation publication-type="journal"><string-name><surname>Zhou</surname>, <given-names>W.</given-names></string-name>, <string-name><surname>Lia</surname>, <given-names>Q.</given-names></string-name> (<year>2012</year>). <article-title>Adaptive total variation regularization based scheme for Poisson noise removal</article-title>. <source>Mathematical Methods in the Applied Sciences</source>, <volume>36</volume>(<issue>3</issue>), <fpage>290</fpage>–<lpage>299</lpage>.</mixed-citation>
</ref>
</ref-list>
</back>
</article>