comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Wiener filter
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: Wiener filter [message #28539 is a reply to message #28424] Wed, 19 December 2001 07:03 Go to previous messageGo to previous message
James Kuyper Jr. is currently offline  James Kuyper Jr.
Messages: 10
Registered: November 2001
Junior Member
Surendar Jeyadev wrote:

> In article <9vllbg$po7$1@canopus.cc.umanitoba.ca>,
> Richard Tyc <richt@sbrc.umanitoba.ca> wrote:
>
>> Has anyone developed a Wiener filter algorithm for image processing in IDL
>> (and be willing to share it ???)
>> My image processing handbook by John Russ does not have it ??
>> A paper that describes it says it produces a "minimum least-squares error
>> between the "true" uncorrupted image and the noisy, measured version" It
>> makes use of the power spectral density of the image.
>>
>> Any help appreciated.....
>
>
> I am note sure what you mean by 'filter'. The Wiener spectrum is
> defined by precisely what you quote: it is the square of the
> Fourier transform of the (density) fluctuations.
...

Optimal Wiener filtering of a one-dimensional data set is described in
section 12.6 of "Numerical Recipes in C", by Preuss et.al. It cites
three books on signal processing as references. The basic result is that
if you have a corrupted signal with the fourier spectrum S(f),
containing noise with a fourier specturm N(f), it can be shown
rigorously that the optimal (in the sense of a least-squares fit)
frequency filter for removing the noise is:

|S(f)|^2
phi(f) = --------------------
|S(f)|^2 + |N(f)|^2

The procedure is straightforward. Estimate the fourier spectrum of the
noise. Calculate the fourier spectrum of the corrupted signal. Calculate
the corresponding filter function. Multiply the fourier spectrum of the
corrupted signal by the filter function. Do an inverse fourier transform
on the resulting function, to get an optimum estimate to the uncorrupted
signal.

A seemingly bright idea is to subtract that estimate of the uncorrupted
signal from the corrupted signal, to get a better estimate of the noise.
Then use that improved noise estimate to re-filter the data. This
doesn't work: the process converges to a signal of S(f)=0. Basically,
each step in that process treats a portion of the uncorrupted signal as
if it were part of the noise.

I've not seen this derived for an image processing context, where you
have a two-dimension fourier transform to contend with, but I would
expect the results to be basically the same.
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Re: FindFile for more than one filetype
Next Topic: looking for some idl + seawifs (seadas) help

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Wed Oct 08 14:52:14 PDT 2025

Total time taken to generate the page: 0.00394 seconds