Changeset 12352
- Timestamp:
- 07/06/09 15:03:19 (8 months ago)
- Location:
- trunk/documents/papers/noise-information
- Files:
-
- 2 modified
Legend:
- Unmodified
- Added
- Removed
-
trunk/documents/papers/noise-information/noise.tex
r11885 r12352 70 70 fainter than the detection limit. The higher the bandwidth, the 71 71 better these measurements become, in precision and in accuracy. We 72 find, not surprisingly, that the smallest representable difference 72 find, not surprisingly, that the smallest representable difference $\Delta$ 73 73 should be on the order of the root-variance of the noise level in the 74 74 image. More specifically, we find that about \emph{two bits should … … 92 92 resonance}, where it has been shown that signals of low dynamic 93 93 range can be better detected in the presence of noise than in the 94 absence of noise \cite [Dykman, Luchinsky,]{dykman-1993}. These studies show95 that if a signal is below the minimum representable difference , it is94 absence of noise \cite{dykman-1993}. These studies show 95 that if a signal is below the minimum representable difference $\Delta$, it is 96 96 visible in the data only when the digitization of the signal is noisy. 97 97 A crude summary of this literature is that the optimal noise amplitude 98 is comparable to the mininmum representable difference . We turn the98 is comparable to the mininmum representable difference $\Delta$. We turn the 99 99 stochastic resonance problem on its head; the counterintuitive result 100 100 that weak signals become detectable only when the digitization is 101 101 noisy becomes (in our context) the relatively obvious result that so 102 long as the minimum representable difference is comparable to or102 long as the minimum representable difference $\Delta$ is comparable to or 103 103 smaller than the noise, signals are transmitted at the maximum 104 104 fidelity possible in the data set. 105 105 106 \section{Experimental Programming Techniques} 107 The first experiment we performed was to observe the effect of measuring the variance and mean of pure Gaussian noise in a 100 by 100 pixel image after 'snapping to integer' at various intensity resolutions. This 'snap to integer' procedure, or 'SNIP,' is something that we use extensively in the experiments to follow and therefore it is important to understand the exact process. To begin we wrote a simple Python class that creates image objects (of type NBImage) that was built specifically for this project. When instantiated, these NBImage objects are blank data sets of user specified dimensions. We chose square 100 by 100 pixel images for our experiments because there was no other obvious size to choose. With some simple functions, one can add Gaussian noise to the image of specified variance, add a star at a random or pseudorandom position with specified Flux, and/or multiply by each element in an array of specified factors (in units of 'bits') and then truncate the image from floating point to integer data. The SNIP method takes in an array of resolution values, multiplies the image data by each of these values, stores all of this data into a 3-dimensional array, and then truncates the data to integer values. From this point we can measure various things about the SNIP-ped image data - such as adding a star before the SNIP and comparing the measured variance to an image with no star, or we can centroid the star and ask how well we did in finding the centroid compared to the real location. 106 \section{Method} 107 \subsection{Artificial Images} 108 The images we created were all made with the same basic parameters and processes. To begin we wrote a simple Python class that creates image objects (of type NBImage) that was built specifically for this project. When instantiated, the NBImage objects are empty data arrays of user specified dimensions, but for our purposes we chose to use square 16 by 16 pixel images for the experiments to follow based on processing time restrictions. The images were constructed by creating blank 16 by 16 pixel images and then adding noise to simulate the sky level. A random number generator chooses a mean $\nu_{n}$ for this Gaussian noise within the range 0 - 100 but with a constant variance $\sigma_{n}$ of 1. We then add a randomly placed 'star' with a Gaussian spread somewhere within a few pixel radius of the center of the image. The intensity of the star is given by eq.~(\ref{intensity}), where $(x_{0}, y_{0})$ is a randomly selected center of the star, and $(x, y)$ are the image coordinates. The variance of the star $\sigma_{s}$ is set to 1 for convenience, and $A$ is a measure of the flux of the star. 109 110 \begin{equation}\label{intensity} 111 I(x,y) = A e^{-\frac{((x-x_0)^2+(y-y_0)^2)}{(2 \sigma^2)}} 112 \end{equation} 113 114 The method for setting the minimum representable difference $\Delta$ for the artificial images is used extensively in the experiments to follow, and therefore it is important to understand the process. We define an array of values from $log_{2}(-4)$ to $log_{2}(8)$ in increments of $log_{2}(\frac{1}{4})$ and multiply the image data by each of these values in the array, thus scaling the image data by each value in the array. The data is then truncated to integer values, and the factor is divided out. For convenience, we will call this 'snap to integer' procedure the SNIP method. fig.~\ref{fig:twelvepanel} shows the increasing bit depth for different multiplication factors, which is the same image data multiplied by the values in the scaling array and then truncated to integer values. 108 115 109 116 \section{Plain Gaussian Noise} … … 112 119 \section{Adding a Randomly Placed Star to Gaussian Noise} 113 120 Following the measurement of the variance after multiplying our data by various factors and snapping it to integer values, we wanted to show the same results but instead by adding a star to the image and asking how well we can centroid its location. To do this we used the same routine as described above, but instead with a randomly placed 'star' somewhere within a 25 pixel radius of the center of the image. We chose to use a Gaussian spread for the star, and so the intensity of the star is given by eq.~(\ref{intensity}), where \((x_{0}, y_{0})\) is the randomly selected center of the star, and \((x, y)\) are the image coordinates. \(\sigma\) is set to 1.0 for convenience, and \(A\) is a measure of the flux of the star. We save the true location, and proceed to multiply the image by various factors, snap the data to integer, and then centroid the star. 114 \begin{equation}\label{intensity} 115 I(x,y) = A e^{-\frac{((x-x_0)^2+(y-y_0)^2)}{(2 \sigma^2)}} 116 \end{equation} 121 117 122 \indent Our technique for centroiding the star does not locate the star within the image. The function takes the real position of the star as input variables, and simply looks at a 3 by 3 section of the image data with the center of this array as the center of the star. It then looks for the highest intensity pixel value, and re-centers the 3 by 3 array around this pixel. We perform a simple least squares fit on this data, using eq.~(\ref{surface}) as our surface model, where our experimentally found star center is the maximum of this surface. 118 123 \begin{equation}\label{surface} … … 150 155 \begin{figure} 151 156 \includegraphics[width=\textwidth]{BitsvsOffset_1024ims_flux8.png} 152 \caption{Plot of measured star offset (astrometric error in pixels) as a function of bit depth. The black circles show the median values. We set an upper bound on the offset of \(2^{0}\) reasoning that anything outside of 2 pixels is essentially infinity. The points are generated by generating 1024 images with noise variance $\sigma^{2} = 1.0$ and a gaussian star randomly placed with flux = 8.0., fwhm = 2.35 p x. We centroid the star and measure the offset between this position and the known location of the star.\label{fig:bitsoffset8}}157 \caption{Plot of measured star offset (astrometric error in pixels) as a function of bit depth. The black circles show the median values. We set an upper bound on the offset of \(2^{0}\) reasoning that anything outside of 2 pixels is essentially infinity. The points are generated by generating 1024 images with noise variance $\sigma^{2} = 1.0$ and a gaussian star randomly placed with flux = 8.0., fwhm = 2.35 pix. We centroid the star and measure the offset between this position and the known location of the star.\label{fig:bitsoffset8}} 153 158 \end{figure} 154 159 … … 160 165 \begin{figure} 161 166 \includegraphics[width=\textwidth]{four-panel.png} 162 \caption{Four 16x16 pixel images that demonstrate coadding procedure. The top left image shows a single image with noise variance $\sigma^{2}$ = 1.0 and a gaussian star with flux = 8.0, fwhm = 2.35 p x. The top right image is the same as the top left, but with the pixel values snapped to integer at bit depth \(2^{-1}\) or minimum representable difference $\Delta = 2.0$. The bottom left image represents coadding 1024 images of flux = 8.0, fwhm = 2.35 px without snapping to integer, whereas the bottom right image is after coadding 1024 images of flux = 8.0, fwhm = 2.35 px \emph{after} snapping each individual image data to integer values. The similarities of the images indicates that information has been preserved. \label{fig:fourpanel}}167 \caption{Four 16x16 pixel images that demonstrate coadding procedure. The top left image shows a single image with noise variance $\sigma^{2}$ = 1.0 and a gaussian star with flux = 8.0, fwhm = 2.35 pix. The top right image is the same as the top left, but with the pixel values snapped to integer at bit depth \(2^{-1}\) or minimum representable difference $\Delta = 2.0$. The bottom left image represents coadding 1024 images of flux = 8.0, fwhm = 2.35 pix without snapping to integer, whereas the bottom right image is after coadding 1024 images of flux = 8.0, fwhm = 2.35 pix \emph{after} snapping each individual image data to integer values. The similarities of the images indicates that information has been preserved. \label{fig:fourpanel}} 163 168 \end{figure} 164 169 … … 175 180 \begin{figure} 176 181 \includegraphics[width=\textwidth]{BitsvsOffset_1024ims_flux8_Coadded.png} 177 \caption{Same as fig.~\ref{fig:bitsoffsetcoadd1} except for flux = 8.0. \label{fig:bitsoffsetcoadd 1}}182 \caption{Same as fig.~\ref{fig:bitsoffsetcoadd1} except for flux = 8.0. \label{fig:bitsoffsetcoadd2}} 178 183 \end{figure} 179 184 -
trunk/documents/papers/noise-information/refs.bib
r11631 r12352 1 1 \begin{thebibliography} 2 2 3 @ MISC{dykman-1993,3 @ARTICLE{dykman-1993, 4 4 author = {M.~I. Dykman and D.~G. Luchinsky and R. Mannella and P.~V.~E. McClintock and S.~M. Soskin and N.~D. Stein and N.~G. Stocks}, 5 title = {Stochastic Resonance},5 title = "{Stochastic Resonance}, 6 6 url = {http://www.citebase.org/abstract?id=oai:arXiv.org:chao-dyn/9307006}, 7 year = {1993}7 year = 1993 8 8 } 9 9
