Login  Register

Re: downsampling methods

Posted by Gluender-3 on Nov 16, 2009; 12:48pm
URL: http://imagej.273.s1.nabble.com/downsampling-methods-tp3690444p3690448.html

Well, dear Stephan,

as far as I can see your statement appears unfounded with respect to
signal theory.

Perhaps you refer to the "finite signal" involved with the discrete
Fourier-Transformation, however I didn't speak of
Fourier-Transformation but of the kind of band-limiting that must
precede any subsampling.

>On Mon, 2009-11-16 at 11:52 +0100, Gluender wrote:
>>  Just a note:
>>
>>  Downsampling at least in theory definitely requires a _real_ bandlimit.
>>
>>  That said, Gaussian lowpass filtering surely is not optimum because
>>  per definition it doesn't really zero frequency components above the
>>  Nyquist limit.
>>
>
>This is correct for functions that are created through a spectral
>generator which we assume is the case for an image when transferring it
>to the frequency domain from it's intensity samples but in fact is not.
>For an image captured with a camera it is just better to re-sample by
>diffusion, that is through the focus of a Gaussian.
>
>Best,
>Stephan
>
>>  >Hi Aviva,
>>  >
>>  >you should try Gaussian downsampling:
>>  >
>>  >In Fiji, there is a Javascript in PLugins->Examples->downsample
>>  >explained at
>>  >
>>  >http://pacific.mpi-cbg.de/wiki/index.php/Downsample
>>  >
>>  >the same Javascript is at the ImageJ website
>>  >
>>  >http://rsb.info.nih.gov/ij/macros/js/Downsample.js
>>  >
>>  >or, alternatively a public API method in the packages of mpicbg_.jar
>>  >that are part of Fiji, such that you can call it for a nopen Image, say,
>>  >from Plugins->Scripting->BeanshellInterpreter:
>>  >
>>  >import ij.*;
>>  >import mpicbg.ij.util.Filter;
>>  >new ImagePlus( "downsampled", Filter.scale( IJ.getImage().getProcessor(),
>>  >0.2f ) ).show();
>>  >
>>  >Lanczos being just an approximation of a bandpass filter in the
>>  >frequency domain, you could also try to do the downsampling directly
>>  >through that bandpass-filter, ImageJ has the respective functions.
>>  >Depends very much on what you want.  For most cases, the Gaussian thing
>>  >is just optimal.
>>  >
>>  >Best,
>>  >Stephan
>>  >
>>  >
>>  >
>>  >On Mon, 2009-11-16 at 08:07 +0200, Aviva Vaknin wrote:
>>  >>  Hello all!
>>  >>
>>  >>  I have implemented a Lanczos8 kernel convolution to downsample images
>>  >>  which works well for 30-40 iterations.
>>  >>
>>  >>  After that ringing artifacts enter, even if I reduce a
>>1600x1200 image one
>>  >>  pixel
>>  >>  each iteration.
>>  >>
>>  >>  Should this be occurring ? Is there a way around it ?
>>  >>  Is there a better down sampling method for this type of problem ?
>>  >>
>>  >>  thanks,
>>  >>  aviva
>>
>  > Best

Best
--

                   Herbie

          ------------------------
          <http://www.gluender.de>