next up previous
Next: 2.1.1 On smoothing Up: 2 Method Previous: 2 Method


2.1 Algorithm description

The algorithm consists of blurring the measured image \( i(\vec{x}) \) with a regularizing smoothing function \( r(\vec{x}) \). There are several possible choices of the function \( r(\vec{x}) \), however this project isn't concerned with finding an optimal \( r(\vec{x}) \); we will use the simple unitary Gaussian function in three dimensions2

$\displaystyle r(\vec{x})$ $\textstyle =$ $\displaystyle e^{-\left\vert \vec{x}\right\vert ^{2}}$ (6)
  $\textstyle =$ $\displaystyle e^{-x^{2}-y^{2}-z^{2}}$  

We now obtain the smoothed, measured image
$\displaystyle R$ $\textstyle =$ $\displaystyle i\otimes r$  
  $\textstyle =$ $\displaystyle ((i_{0}+n_{p})\otimes o+n_{o})\otimes r$ (7)

Here we introduce the imperfection that lowers accuracy but increases speed, and it is to assume that all the noise was brought in before the convolution with \( o \) (specifically the \( n_{o} \) instrument noise term). Based on this assumption, Equation 5 is modified to become
\begin{displaymath}
i=(i_{0}+n_{p}+n_{o})\otimes o
\end{displaymath} (8)

Equation 7 now becomes
$\displaystyle R$ $\textstyle =$ $\displaystyle (i_{0}+n_{p}+n_{o})\otimes o\otimes r$ (9)
  $\textstyle =$ $\displaystyle i\otimes r$  

Observing that this is simply the measured image after being smoothed. The actual method used to calculate the smoothed image \( R \) will be examined in Section 2.1.1. We now obtain an approximation to the true image by deconvoluting Equation 9 by the smoothed optical transfer function \( o\otimes r \)
\begin{displaymath}
\mathbf{F}(i_{0})\cong \frac{\mathbf{F}(R)}{\mathbf{F}(o\otimes r)}
\end{displaymath} (10)

Now we have the problem that Equation 10 becomes unreliable when \( \left\vert \mathbf{F}(o\otimes r)\right\vert \) becomes small. The sophisticated way to avoid this problem is to use an averaging filter. A suitable averaging term is \( \alpha =\frac{1}{1+w_{0}\cdot \left\vert \mathbf{F}(o\otimes r)\right\vert } \) for \( w_{0} \) an arbitrarily suitable weighting term. \( \sum \mathbf{F}_{\sigma }(i_{0}) \) is the sum of the neighbourhood \( \sigma \) in \( i_{0} \), where usually \( \sigma \) is taken as the 4-element neighbourhood of \( \mathbf{F}(R) \) and \( \mathbf{F}(o\otimes r) \). The averaging procedure is then


$\displaystyle \mathbf{F}'(i_{0})$ $\textstyle =$ $\displaystyle (1-\alpha )\frac{\mathbf{F}(R)}{\mathbf{F}(o\otimes r)}+\frac{\alpha }{4}\sum \mathbf{F}_{\sigma }(i_{0})\textrm{ for }\mathbf{F}(o\otimes r)\neq 0$ (11)
$\displaystyle \mathbf{F}'(i_{0})$ $\textstyle =$ $\displaystyle w_{0}\cdot \mathbf{F}(R)+\frac{1}{4}\sum \mathbf{F}_{\sigma }(i_{0})\textrm{ otherwise}$  

However, Equation 11 is only defined when \( \sum \mathbf{F}_{\sigma }(i_{0}) \) exists, specifically, \( \sum \mathbf{F}_{\sigma }(i_{0})\neq 0 \). So we sum the averaged elements instead, giving the recurrence relation
$\displaystyle \mathbf{F}'(i_{0})$ $\textstyle =$ $\displaystyle (1-\alpha )\frac{\mathbf{F}(R)}{\mathbf{F}(o\otimes r)}+\frac{\al...
...}{4}\sum \mathbf{F}_{\sigma }'(i_{0})\textrm{ for }\mathbf{F}(o\otimes r)\neq 0$ (12)
$\displaystyle \mathbf{F}'(i_{0})$ $\textstyle =$ $\displaystyle w_{0}\cdot \mathbf{F}(R)+\frac{1}{4}\sum \mathbf{F}_{\sigma }'(i_{0})\textrm{ otherwise}$  

This definition requires a recursive method to be used, such as flood-filling.

In order to simplify things somewhat, we used the observation that the most common pattern under which \( \sum \mathbf{F}_{\sigma }(i_{0})\neq 0 \) is for thin, two dimensional spherical shells3. Thus, the flood-filling technique is excessive and would rarely come into play in normal images. Our solution will sacrifice some image quality in order to decrease the complexity of this stage of the algorithm.

We adopt basically the same strategy as above, except that we define Equation 11 to be valid for \( \sum \mathbf{F}_{\sigma }(i_{0})\geq \epsilon \), for some \( \epsilon \) suitably close to 0. We then process the image iteratively, not recursively, and if a position with \( \sum \mathbf{F}_{\sigma }(i_{0})<\epsilon \) is encountered we simply continue by assigning \( \sum \mathbf{F}_{\sigma }(i_{0})=\epsilon \) and continuing as in Equation 11.



Subsections
next up previous
Next: 2.1.1 On smoothing Up: 2 Method Previous: 2 Method
Kevin Pulo
2000-08-22