Sophie

Sophie

distrib > Mageia > 7 > i586 > by-pkgid > d2e0b949db9ebf58fe04ed755553fbf4 > files > 4037

eso-midas-doc-17FEBpl1.2-3.mga7.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 98.1p1 release (March 2nd, 1998)
originally by Nikos Drakos (nikos@cbl.leeds.ac.uk), CBLU, University of Leeds
* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Adaptive filtering from the wavelet transform</TITLE>
<META NAME="description" CONTENT="Adaptive filtering from the wavelet transform">
<META NAME="keywords" CONTENT="vol2">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<LINK REL="STYLESHEET" HREF="vol2.css">
<LINK REL="next" HREF="node333.html">
<LINK REL="previous" HREF="node331.html">
<LINK REL="up" HREF="node328.html">
<LINK REL="next" HREF="node333.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html5589"
 HREF="node333.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
 SRC="icons.gif/next_motif.gif"></A> 
<A NAME="tex2html5586"
 HREF="node328.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
 SRC="icons.gif/up_motif.gif"></A> 
<A NAME="tex2html5580"
 HREF="node331.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
 SRC="icons.gif/previous_motif.gif"></A> 
<A NAME="tex2html5588"
 HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
 SRC="icons.gif/contents_motif.gif"></A>  
<BR>
<B> Next:</B> <A NAME="tex2html5590"
 HREF="node333.html">Hierarchical adaptive filtering</A>
<B> Up:</B> <A NAME="tex2html5587"
 HREF="node328.html">Noise reduction from the</A>
<B> Previous:</B> <A NAME="tex2html5581"
 HREF="node331.html">Hierarchical Wiener filtering</A>
<BR>
<BR>
<!--End of Navigation Panel-->

<H2><A NAME="SECTION002064000000000000000">&#160;</A>
<A NAME="sec_filt_1">&#160;</A>
<BR>
Adaptive filtering from the wavelet transform
</H2>
In the preceding algorithm we have assumed the properties of the
signal and the noise to be stationary. The wavelet transform was first
used to obtain an algorithm which is faster than classical Wiener
Filtering. Then we took into account the correlation between two
different scales.  In this way we got a filtering with stationary
properties. In fact, these hypotheses were too simple, because in
general the signal may not arise from a Gaussian stochastic
process. Knowing the noise distribution, we can determine the
statistically significant level at each scale of the measured wavelet
coefficients. If <I>w</I><SUB><I>i</I></SUB>(<I>x</I>) is very weak, this level is not significant
and could be due to noise.  Then the hypothesis that the value
<I>W</I><SUB><I>i</I></SUB>(<I>x</I>) is null is not forbidden.  In the opposite case where
<I>w</I><SUB><I>i</I></SUB>(<I>x</I>) is significant, we keep its value.  If the noise is Gaussian,
we write:
<BR>
<DIV ALIGN="CENTER"><A NAME="seuillage">&#160;</A>
<!-- MATH: \begin{eqnarray}
W_i  =  &  0    &  \mbox{ if } \mid w_i \mid < k B_i \\
W_i  =  &   w_i &  \mbox{ if }  \mid w_i \mid \geq k B_i
\end{eqnarray} -->

<TABLE ALIGN="CENTER" CELLPADDING="0" WIDTH="100%">
<TR VALIGN="MIDDLE"><TD NOWRAP ALIGN="RIGHT"><I>W</I><SUB><I>i</I></SUB>  =</TD>
<TD ALIGN="CENTER" NOWRAP>0</TD>
<TD ALIGN="LEFT" NOWRAP><IMG
 WIDTH="144" HEIGHT="44" ALIGN="MIDDLE" BORDER="0"
 SRC="img815.gif"
 ALT="$\displaystyle \mbox{ if } \mid w_i \mid < k B_i$"></TD>
<TD WIDTH=10 ALIGN="RIGHT">
(14.90)</TD></TR>
<TR VALIGN="MIDDLE"><TD NOWRAP ALIGN="RIGHT"><I>W</I><SUB><I>i</I></SUB>  =</TD>
<TD ALIGN="CENTER" NOWRAP><I>w</I><SUB><I>i</I></SUB></TD>
<TD ALIGN="LEFT" NOWRAP><IMG
 WIDTH="145" HEIGHT="44" ALIGN="MIDDLE" BORDER="0"
 SRC="img816.gif"
 ALT="$\displaystyle \mbox{ if } \mid w_i \mid \geq k B_i$"></TD>
<TD WIDTH=10 ALIGN="RIGHT">
(14.91)</TD></TR>
</TABLE></DIV>
<BR CLEAR="ALL"><P></P>
Generally, we choose  <I>k</I> = 3.

<P>
With a filter bank we have a biunivocity between the image and its
transform, so that the thresholded transform leads to only one restored
image. Some experiments show us that uncontrolled artifacts
appear for high level thresholding (<I>k</I>=3). The decimation done at
each step on the wavelet transform takes into account the
knowledge of the coefficients at further resolutions. The
thresholding sets to zero the intrinsic small terms which play their part in
the reconstruction. With the lattice filter the situation is very
different. No decimation is done and the thresholding keeps all
significant coefficients. Where the coefficients are set to zero, we
do not put zero, but we say that these values are unknown. The redundancy 
is used to restore them. Before the thresholding we have a
redundant transform, which can be decimated, after the
thresholding we get a set of coefficients from which we wish to
restore in image.

<P>
If one applies the reconstruction algorithm, then it is not guaranteed
that the wavelet transform of the restored image will give the same
values for the coefficients.  This is not important in the case where
they are not significant, but otherwise the same values must be
found. If <I>W</I><SUP>(<I>s</I>)</SUP><SUB><I>i</I></SUB> are the coefficients obtained by the
thresholding, then we require <I>W</I><SUB><I>i</I></SUB>(<I>x</I>) such that:
<BR>
<DIV ALIGN="CENTER">

<!-- MATH: \begin{eqnarray}
P.W_i(x)  = W^{(s)}_i(x)
\end{eqnarray} -->

<TABLE ALIGN="CENTER" CELLPADDING="0" WIDTH="100%">
<TR VALIGN="MIDDLE"><TD NOWRAP ALIGN="RIGHT"><I>P</I>.<I>W</I><SUB><I>i</I></SUB>(<I>x</I>)  = <I>W</I><SUP>(<I>s</I>)</SUP><SUB><I>i</I></SUB>(<I>x</I>)</TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD WIDTH=10 ALIGN="RIGHT">
(14.92)</TD></TR>
</TABLE></DIV>
<BR CLEAR="ALL"><P></P>
where <I>P</I> is the non linear operator which performs the inverse
transform, the wavelet transform, and the thresholding.  An
alternative is to use the following iterative solution which is
similar to Van Cittert's algorithm:
<BR>
<DIV ALIGN="CENTER">

<!-- MATH: \begin{eqnarray}
W^{(n)}_i(x) = W_i^{(s)}(x) + W_i^{(n-1)}(x) - P.W_i^{(n-1)}(x)
\end{eqnarray} -->

<TABLE ALIGN="CENTER" CELLPADDING="0" WIDTH="100%">
<TR VALIGN="MIDDLE"><TD NOWRAP ALIGN="RIGHT"><I>W</I><SUP>(<I>n</I>)</SUP><SUB><I>i</I></SUB>(<I>x</I>) = <I>W</I><SUB><I>i</I></SUB><SUP>(<I>s</I>)</SUP>(<I>x</I>) + <I>W</I><SUB><I>i</I></SUB><SUP>(<I>n</I>-1)</SUP>(<I>x</I>) - <I>P</I>.<I>W</I><SUB><I>i</I></SUB><SUP>(<I>n</I>-1)</SUP>(<I>x</I>)</TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD WIDTH=10 ALIGN="RIGHT">
(14.93)</TD></TR>
</TABLE></DIV>
<BR CLEAR="ALL"><P></P>
for the significant coefficients (
<!-- MATH: $W_i^{(s)}(x) \neq 0$ -->
<IMG
 WIDTH="120" HEIGHT="58" ALIGN="MIDDLE" BORDER="0"
 SRC="img817.gif"
 ALT="$W_i^{(s)}(x) \neq 0$">)
and:
<BR>
<DIV ALIGN="CENTER">

<!-- MATH: \begin{eqnarray}
W_i^{(n)}(x) = W_i^{(n-1)}(x)
\end{eqnarray} -->

<TABLE ALIGN="CENTER" CELLPADDING="0" WIDTH="100%">
<TR VALIGN="MIDDLE"><TD NOWRAP ALIGN="RIGHT"><I>W</I><SUB><I>i</I></SUB><SUP>(<I>n</I>)</SUP>(<I>x</I>) = <I>W</I><SUB><I>i</I></SUB><SUP>(<I>n</I>-1)</SUP>(<I>x</I>)</TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD WIDTH=10 ALIGN="RIGHT">
(14.94)</TD></TR>
</TABLE></DIV>
<BR CLEAR="ALL"><P></P>
for the non significant coefficients (
<!-- MATH: $W_i^{(s)}(x) = 0$ -->
<I>W</I><SUB><I>i</I></SUB><SUP>(<I>s</I>)</SUP>(<I>x</I>) = 0).

<P>
The algorithm is the following one:
<DL COMPACT>
<DT>1.
<DD>Compute  the wavelet transform of the data. We get <I>w</I><SUB><I>i</I></SUB>.
<DT>2.
<DD>Estimate the standard deviation of the noise <I>B</I><SUB>0</SUB> of the first plane
from the histogram of <I>w</I><SUB>0</SUB>.
<DT>3.
<DD>Estimate the standard deviation of the noise <I>B</I><SUB><I>i</I></SUB> from <I>B</I><SUB>0</SUB> 
at each scale.
<DT>4.
<DD>Estimate the significant level at each scale, and threshold.
<DT>5.
<DD>Initialize: 
<!-- MATH: $W^{(0)}_i(x) = W_i^{(s)}(x)$ -->
<I>W</I><SUP>(0)</SUP><SUB><I>i</I></SUB>(<I>x</I>) = <I>W</I><SUB><I>i</I></SUB><SUP>(<I>s</I>)</SUP>(<I>x</I>) 
<DT>6.
<DD>Reconstruct the picture by using the iterative method.
</DL>
<P>
The thresholding may introduce negative values in the resulting image.
A positivity constraint can be introduced in the iterative process, 
by thresholding the restored image. The algorithm converges after  
five or six iterations. 

<P>
<HR>
<!--Navigation Panel-->
<A NAME="tex2html5589"
 HREF="node333.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
 SRC="icons.gif/next_motif.gif"></A> 
<A NAME="tex2html5586"
 HREF="node328.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
 SRC="icons.gif/up_motif.gif"></A> 
<A NAME="tex2html5580"
 HREF="node331.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
 SRC="icons.gif/previous_motif.gif"></A> 
<A NAME="tex2html5588"
 HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
 SRC="icons.gif/contents_motif.gif"></A>  
<BR>
<B> Next:</B> <A NAME="tex2html5590"
 HREF="node333.html">Hierarchical adaptive filtering</A>
<B> Up:</B> <A NAME="tex2html5587"
 HREF="node328.html">Noise reduction from the</A>
<B> Previous:</B> <A NAME="tex2html5581"
 HREF="node331.html">Hierarchical Wiener filtering</A>
<!--End of Navigation Panel-->
<ADDRESS>
<I>Petra Nass</I>
<BR><I>1999-06-15</I>
</ADDRESS>
</BODY>
</HTML>