source: tags/release-1.0.7/docs/app-waveletNoise.tex @ 1441

Last change on this file since 1441 was 208, checked in by Matthew Whiting, 18 years ago
  • Enabled saving and reading in of a smoothed array, in manner directly analogous to that for the recon array.
    • New file : src/Cubes/readSmooth.cc
    • The other new functions go in existing files eg. saveImage.cc
    • Renamed some functions (like writeHeader...) to be more obvious what they do.
    • The reading in is taken care of by new function Cube::readSavedArrays() -- handles both smoothed and recon'd arrays.
    • Associated parameters in Param class
    • Clarified names of FITS header strings in duchamp.hh.
  • Updated the documentation to describe the ability to smooth a cube.
  • Added description of feedback mechanisms in the Install appendix.
  • Also, Hanning class improved to guard against memory leaks.


File size: 5.7 KB
Line 
1\secA{How Gaussian noise changes with wavelet scale}
2\label{app-scaling}
3
4The key element in the wavelet reconstruction of an array is the
5thresholding of the individual wavelet coefficient arrays. This is
6usually done by choosing a level to be some number of standard
7deviations above the mean value.
8
9However, since the wavelet arrays are produced by convolving the input
10array by an increasingly large filter, the pixels in the coefficient
11arrays become increasingly correlated as the scale of the filter
12increases. This results in the measured standard deviation from a
13given coefficient array decreasing with increasing scale. To calculate
14this, we need to take into account how many other pixels each pixel in
15the convolved array depends on.
16
17To demonstrate, suppose we have a 1-D array with $N$ pixel values
18given by $F_i,\ i=1,...,N$, and we convolve it with the B$_3$-spline
19filter, defined by the set of coefficients
20$\{1/16,1/4,3/8,1/4,1/16\}$. The flux of the $i$th pixel in the
21convolved array will be
22\[
23F'_i = \frac{1}{16}F_{i-2} + \frac{1}{4}F_{i-1} + \frac{3}{8}F_{i}
24+ \frac{1}{4}F_{i+1} + \frac{1}{16}F_{i+2}
25\]
26and the flux of the corresponding pixel in the wavelet array will be
27\[
28W'_i = F_i - F'_i = \frac{-1}{16}F_{i-2} - \frac{1}{4}F_{i-1}
29+ \frac{5}{8}F_{i} - \frac{1}{4}F_{i+1} - \frac{1}{16}F_{i+2}
30\]
31Now, assuming each pixel has the same standard deviation
32$\sigma_i=\sigma$, we can work out the standard deviation for the
33wavelet array:
34\[
35\sigma'_i = \sigma \sqrt{\left(\frac{1}{16}\right)^2
36  + \left(\frac{1}{4}\right)^2 + \left(\frac{5}{8}\right)^2
37  + \left(\frac{1}{4}\right)^2 + \left(\frac{1}{16}\right)^2}
38          = 0.72349\ \sigma
39\]
40Thus, the first scale wavelet coefficient array will have a standard
41deviation of 72.3\% of the input array. This procedure can be followed
42to calculate the necessary values for all scales, dimensions and
43filters used by \duchamp.
44
45Calculating these values is clearly a critical step in performing the
46reconstruction. The method used by \citet{starck02:book} was to
47simulate data sets with Gaussian noise, take the wavelet transform,
48and measure the value of $\sigma$ for each scale. We take a
49different approach, by calculating the scaling factors directly from
50the filter coefficients by taking the wavelet transform of an array
51made up of a 1 in the central pixel and 0s everywhere else. The
52scaling value is then derived by taking the square root of the sum (in
53quadrature) of all the wavelet coefficient values at each scale. We
54give the scaling factors for the three filters available to \duchamp\
55on the following page. These values are hard-coded into \duchamp, so
56no on-the-fly calculation of them is necessary.
57
58Memory limitations prevent us from calculating factors for large
59scales, particularly for the three-dimensional case (hence the --
60symbols in the tables). To calculate factors for higher scales than
61those available, we note the following relationships apply for large
62scales to a sufficient level of precision:
63\begin{itemize}
64\item 1-D: factor(scale $i$) = factor(scale $i-1$)$/\sqrt{2}$.
65\item 2-D: factor(scale $i$) = factor(scale $i-1$)$/2$.
66\item 1-D: factor(scale $i$) = factor(scale $i-1$)$/\sqrt{8}$.
67\end{itemize}
68
69\newpage
70\begin{itemize}
71\item \textbf{B$_3$-Spline Function:} $\{1/16,1/4,3/8,1/4,1/16\}$
72
73\begin{tabular}{llll}
74Scale & 1 dimension      & 2 dimension     & 3 dimension\\ \hline
751     & 0.723489806      & 0.890796310     & 0.956543592\\
762     & 0.285450405      & 0.200663851     & 0.120336499\\
773     & 0.177947535      & 0.0855075048    & 0.0349500154\\
784     & 0.122223156      & 0.0412474444    & 0.0118164242\\
795     & 0.0858113122     & 0.0204249666    & 0.00413233507\\
806     & 0.0605703043     & 0.0101897592    & 0.00145703714\\
817     & 0.0428107206     & 0.00509204670   & 0.000514791120\\
828     & 0.0302684024     & 0.00254566946   & --\\
839     & 0.0214024008     & 0.00127279050   & --\\
8410    & 0.0151336781     & 0.000636389722  & --\\
8511    & 0.0107011079     & 0.000318194170  & --\\
8612    & 0.00756682272    & --              & --\\
8713    & 0.00535055108    & --              & --\\
88%14    & 0.00378341085   & --              & --\\
89%15    & 0.00267527545   & --              & --\\
90%16    & 0.00189170541   & --              & --\\
91%17    & 0.00133763772   & --              & --\\
92%18    & 0.000945852704   & --             & --
93\end{tabular}
94
95\item \textbf{Triangle Function:} $\{1/4,1/2,1/4\}$
96
97\begin{tabular}{llll}
98Scale & 1 dimension      & 2 dimension     & 3 dimension\\ \hline
991     & 0.612372436      & 0.800390530     & 0.895954449  \\
1002     & 0.330718914      & 0.272878894     & 0.192033014\\
1013     & 0.211947812      & 0.119779282     & 0.0576484078\\
1024     & 0.145740298      & 0.0577664785    & 0.0194912393\\
1035     & 0.102310944      & 0.0286163283    & 0.00681278387\\
1046     & 0.0722128185     & 0.0142747506    & 0.00240175885\\
1057     & 0.0510388224     & 0.00713319703   & 0.000848538128 \\
1068     & 0.0360857673     & 0.00356607618   & 0.000299949455 \\
1079     & 0.0255157615     & 0.00178297280   & -- \\
10810    & 0.0180422389     & 0.000891478237  & --  \\
10911    & 0.0127577667     & 0.000445738098  & --  \\
11012    & 0.00902109930    & 0.000222868922  & --  \\
11113    & 0.00637887978    & --              & -- \\
112%14   & 0.00451054902    & --              & -- \\
113%15   & 0.00318942978    & --              & -- \\
114%16   & 0.00225527449    & --              & -- \\
115%17   & 0.00159471988    & --              & -- \\
116%18   & 0.000112763724   & --              & --
117
118\end{tabular}
119
120\item \textbf{Haar Wavelet:} $\{0,1/2,1/2\}$
121
122\begin{tabular}{llll}
123Scale & 1 dimension      & 2 dimension     & 3 dimension\\ \hline
1241     & 0.707167810      & 0.433012702     & 0.935414347 \\
1252     & 0.500000000      & 0.216506351     & 0.330718914\\
1263     & 0.353553391      & 0.108253175     & 0.116926793\\
1274     & 0.250000000      & 0.0541265877    & 0.0413398642\\
1285     & 0.176776695      & 0.0270632939    & 0.0146158492\\
1296     & 0.125000000      & 0.0135316469    & 0.00516748303
130
131\end{tabular}
132
133
134\end{itemize}
Note: See TracBrowser for help on using the repository browser.