Image interpolation and display

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

Image interpolation and display

Jon Harman
Hi,

In comparison with other image display programs I find ImageJ's display
to be a bit noisy.  I notice this when displaying a large jpeg image
zoomed out (at 25%,say).  My guess is that ImageJ is doing a nearest
neighbor interpolation..  Irfanview, PaintShopPro, PhotoShop all give
higher quality images.  ImageJ matches PaintShopPro's "Fastest" display
option, not it's "Best" option.

I wonder if there could be an option to improve the display?  I looked
at the Options menu but when I chose "Image" there were no entries.

Jon
Reply | Threaded
Open this post in threaded view
|

Re: Image interpolation and display

Raymond Coory
What about
Edit-Options-Appearance-Interpolate zoomed images

It gives a slightly smoother look

> -----Original Message-----
> From: ImageJ Interest Group [mailto:[hidden email]] On
> Behalf Of Jon Harman
> Sent: Thursday, 3 May 2007 11:15 a.m.
> To: [hidden email]
> Subject: Image interpolation and display
>
> Hi,
>
> In comparison with other image display programs I find
> ImageJ's display to be a bit noisy.  I notice this when
> displaying a large jpeg image zoomed out (at 25%,say).  My
> guess is that ImageJ is doing a nearest neighbor
> interpolation..  Irfanview, PaintShopPro, PhotoShop all give
> higher quality images.  ImageJ matches PaintShopPro's
> "Fastest" display option, not it's "Best" option.
>
> I wonder if there could be an option to improve the display?  
> I looked at the Options menu but when I chose "Image" there
> were no entries.
>
> Jon
>
>
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Visit the Te Papa website http://www.tepapa.govt.nz
The email message together with the accompanying attachments may be
CONFIDENTIAL. If you have received this message in error, please notify
[hidden email] immediately and delete the original message. The
views expressed in this message are those of the individual sender,
except where the sender specifically states them to be views of Te Papa.  
Te Papa employs strict virus checking measures and accepts no liability
for any loss caused either directly or indirectly by a virus arising
from the use of this message or any attached file.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Reply | Threaded
Open this post in threaded view
|

Re: Image interpolation and display

Jon Harman
In reply to this post by Jon Harman
Hi,

Thanks.  It turns out that I was using an old version of IJ_Props.txt
with a new ij.jar which broke the Edit-Options-Appearance menu item.

I have tried the option now and do notice a change, but a very minor one.

Jon


Raymond Coory wrote:

What about
Edit-Options-Appearance-Interpolate zoomed images

It gives a slightly smoother look
Reply | Threaded
Open this post in threaded view
|

Re: Image interpolation and display

Gabriel Landini
On Thursday 03 May 2007 04:30:10 Jon Harman wrote:

> Thanks.  It turns out that I was using an old version of IJ_Props.txt
> with a new ij.jar which broke the Edit-Options-Appearance menu item.
>
> I have tried the option now and do notice a change, but a very minor one.

Can you post screenshots that show the problem?

Cheers,

G.
Reply | Threaded
Open this post in threaded view
|

Re: Image interpolation and display

Jon Harman
In reply to this post by Jon Harman
Hi,
I notice that much depends on the zoom factor.  At some zooms there is
not much difference between display quality in  ImageJ compared to other
programs.  At other zooms there is a difference.  Here is an example.

For this image at 33.3% the two ImageJ displays are indistinguishable
and are similar to PSP fastest quality.  PSP best quallity is smoother
as is Irfanview.

Here are some links to screenshots of a 33%zoomed image.
ImageJ interpolated:
http://i71.photobucket.com/albums/i141/hiker_jon/ImageJI33.jpg

ImageJ non-interpolated:
http://i71.photobucket.com/albums/i141/hiker_jon/ImageJNI33.jpg

Irfanview:
http://i71.photobucket.com/albums/i141/hiker_jon/Irfanview32.jpg

PSP best
http://i71.photobucket.com/albums/i141/hiker_jon/PSPBest33.jpg

PSP fastest
http://i71.photobucket.com/albums/i141/hiker_jon/PSPFastest33.jpg

Original image (but photobucket may have resized it)
http://i71.photobucket.com/albums/i141/hiker_jon/DSC05076_lxx.jpg

Jon

By the way, I can't quote a previous message using my Thunderbird email
program.  If I do I get this obnoxious message:

Your posting  to the  IMAGEJ list  has been rejected  because it  only
contains
material in a format disallowed by the list configuration. Even though
the list
is configured  to remove unwanted material  and process the remaining  
text, in
this case there  would be nothing left after removing  the disallowed
material.
You may want to resend your message in plain text, which is always allowed.


Gabriel Landini wrote:
 > On Thursday 03 May 2007 04:30:10 Jon Harman wrote:
 >
 >  >> Thanks.  It turns out that I was using an old version of
IJ_Props.txt
 >> with a new ij.jar which broke the Edit-Options-Appearance menu item.
 >>
 >> I have tried the option now and do notice a change, but a very minor
one.
 >>    >
 > Can you post screenshots that show the problem?
 >
 > Cheers,
 >
 > G.
 >
 >
Reply | Threaded
Open this post in threaded view
|

Re: Image interpolation and display

Gabriel Landini
On Thursday 03 May 2007 23:37:29 Jon Harman wrote:
> I notice that much depends on the zoom factor.  At some zooms there is
> not much difference between display quality in  ImageJ compared to other
> programs.  At other zooms there is a difference.  Here is an example.

I do not see anything particularly odd about zooming in or out of the original
image.
Could it be that what you see are different types of interpolation of the
subsampled data?

Cheers,

Gabriel
Reply | Threaded
Open this post in threaded view
|

Re: Image interpolation and display

Michael Schmid
In reply to this post by Jon Harman
Hi Jon,

the Java Documentation at Java.sun.com says, the interpolation
settings for displaying images are "hints" i.e., they are not
necessarily obeyed by the Java implementation.
Obviously, when downscaling, if the zoom factor is not a power
of two, many (all?) Java implementations do not honor the
settings.

I once wrote some code for downscaling to arbitrary sizes
with bilinear interpolation and I found it quite difficult
to do it correctly - it seems the guys at Sun have not gone
into that business...

Michael
________________________________________________________________

On 4 May 2007, at 00:37, Jon Harman wrote:

> Hi,
> I notice that much depends on the zoom factor.  At some zooms there  
> is not much difference between display quality in  ImageJ compared  
> to other programs.  At other zooms there is a difference.  Here is  
> an example.
>
> For this image at 33.3% the two ImageJ displays are  
> indistinguishable and are similar to PSP fastest quality.  PSP best  
> quallity is smoother as is Irfanview.
Reply | Threaded
Open this post in threaded view
|

Antwort: Re: Image interpolation and display

Joachim Wesner
ImageJ Interest Group <[hidden email]> schrieb am 04.05.2007 12:34:26:

>
> I once wrote some code for downscaling to arbitrary sizes
> with bilinear interpolation and I found it quite difficult
> to do it correctly - it seems the guys at Sun have not gone
> into that business...
>

Maybe it´s only a questions of terms but is´nt any "interpolation"
inappropriate for "downscaling" to anything below, say, 50%?

IMHO what you would need to do is an appropriate lowpass-filtering
(smoothing) of the data? (Where you later might again use "interpolation"
to find the value at the downsampled pixel coordinate if it is "off grid")

Using only interpolation to solve the "off-grid" problem alone must lead
to aliasing just because of the "undersampling" of higher spatial
frequencies
in the original image.

Joachim



______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email 
______________________________________________________________________
Reply | Threaded
Open this post in threaded view
|

Re: Image interpolation and display

Jon Harman
In reply to this post by Michael Schmid
Hi,

I didn't realize that ImageJ was just using something built into Java.

I agree that it is hard to do zooming consistently at different zoom
factors.  I still think that ImageJ produces noisier images when zooming
out (i.e. small %) than other programs and the interpolation setting
makes only a small difference.  I wonder what the other programs are
doing?  Irfanview seems to have a consistent and less noisy algorithm.

Jon

  Michael Schmid wrote:
 > Hi Jon,
 >
 > the Java Documentation at Java.sun.com says, the interpolation
 > settings for displaying images are "hints" i.e., they are not
 > necessarily obeyed by the Java implementation.
 > Obviously, when downscaling, if the zoom factor is not a power
 > of two, many (all?) Java implementations do not honor the
 > settings.
 >
 > I once wrote some code for downscaling to arbitrary sizes
 > with bilinear interpolation and I found it quite difficult
 > to do it correctly - it seems the guys at Sun have not gone
 > into that business...
 >
 > Michael
 > ________________________________________________________________
 >
 > On 4 May 2007, at 00:37, Jon Harman wrote:
 >
 >> Hi,
 >> I notice that much depends on the zoom factor.  At some zooms there
is not much difference between display quality in  ImageJ compared to
other programs.  At other zooms there is a difference.  Here is an example.
 >>
 >> For this image at 33.3% the two ImageJ displays are
indistinguishable and are similar to PSP fastest quality.  PSP best
quallity is smoother as is Irfanview.
 >
Reply | Threaded
Open this post in threaded view
|

Re: Antwort: Re: Image interpolation and display

Michael Schmid
In reply to this post by Joachim Wesner
Hi Joachim,

you are right of course, I have used the word "interpolation"
not in the strict sense, and it is a kind of low-pass filtering
that should be done when downscaling.

Even if downscaling is by an integer factor, it is not so simple,
and there are different ways to do it:

(1) Average over n pixels (uniform kernel).
(2) Distribute the pixel value of the input according to the
distance from the output pixel (triangular kernel).
(3) more complicated kernels.

So the algorithms are quite similar to interpolation in the
strict sense.

(1) Has the disadvantage that it can shift the center of mass.
(2) Has the disadvantage of blurring the image more than
necessary.
(3) When avoiding the disadvantages of (1) and (2), kernels
may overshoot at steps (e.g., Photoshop "bicubic" overshoots,
both on upscaling and downscaling).

Again, similar to "real" interpolation...

Michael
________________________________________________________________

On 4 May 2007, at 16:58, Joachim Wesner wrote:

> ImageJ Interest Group <[hidden email]> schrieb am 04.05.2007  
> 12:34:26:
>
>>
>> I once wrote some code for downscaling to arbitrary sizes
>> with bilinear interpolation and I found it quite difficult
>> to do it correctly - it seems the guys at Sun have not gone
>> into that business...
>>
>
> Maybe it´s only a questions of terms but is´nt any "interpolation"
> inappropriate for "downscaling" to anything below, say, 50%?
>
> IMHO what you would need to do is an appropriate lowpass-filtering
> (smoothing) of the data? (Where you later might again use  
> "interpolation"
> to find the value at the downsampled pixel coordinate if it is "off  
> grid")
>
> Using only interpolation to solve the "off-grid" problem alone must  
> lead
> to aliasing just because of the "undersampling" of higher spatial
> frequencies
> in the original image.
>
> Joachim
>
>
>
> ______________________________________________________________________
> This email has been scanned by the MessageLabs Email Security System.
> For more information please visit http://www.messagelabs.com/email
> ______________________________________________________________________
Reply | Threaded
Open this post in threaded view
|

Antwort: Re: Antwort: Re: Image interpolation and display

Joachim Wesner
Hi Michael,

thanx for the clarification. Continuing along those lines and thinking
again about my aliasing
and spatial frequency argument in the first post: A PERFERCT subsampler
would need to be
100% bandlimited which, IIRC would automatically mean to have a infinite
impuls/response
and probably bad ringing, both things you would like to avoid in the real
world

Joachim

ImageJ Interest Group <[hidden email]> schrieb am 04.05.2007 18:15:00:

> Hi Joachim,
>
> you are right of course, I have used the word "interpolation"
> not in the strict sense, and it is a kind of low-pass filtering
> that should be done when downscaling.
>
> Even if downscaling is by an integer factor, it is not so simple,
> and there are different ways to do it:
>
> (1) Average over n pixels (uniform kernel).
> (2) Distribute the pixel value of the input according to the
> distance from the output pixel (triangular kernel).
> (3) more complicated kernels.
>
> So the algorithms are quite similar to interpolation in the
> strict sense.
>
> (1) Has the disadvantage that it can shift the center of mass.
> (2) Has the disadvantage of blurring the image more than
> necessary.
> (3) When avoiding the disadvantages of (1) and (2), kernels
> may overshoot at steps (e.g., Photoshop "bicubic" overshoots,
> both on upscaling and downscaling).
>
> Again, similar to "real" interpolation...
>
> Michael
> ________________________________________________________________
>
> On 4 May 2007, at 16:58, Joachim Wesner wrote:
>
> > ImageJ Interest Group <[hidden email]> schrieb am 04.05.2007
> > 12:34:26:
> >
> >>
> >> I once wrote some code for downscaling to arbitrary sizes
> >> with bilinear interpolation and I found it quite difficult
> >> to do it correctly - it seems the guys at Sun have not gone
> >> into that business...
> >>
> >
> > Maybe it´s only a questions of terms but is´nt any "interpolation"
> > inappropriate for "downscaling" to anything below, say, 50%?
> >
> > IMHO what you would need to do is an appropriate lowpass-filtering
> > (smoothing) of the data? (Where you later might again use
> > "interpolation"
> > to find the value at the downsampled pixel coordinate if it is "off
> > grid")
> >
> > Using only interpolation to solve the "off-grid" problem alone must
> > lead
> > to aliasing just because of the "undersampling" of higher spatial
> > frequencies
> > in the original image.
> >
> > Joachim
> >
> >
> >
> > ______________________________________________________________________
> > This email has been scanned by the MessageLabs Email Security System.
> > For more information please visit http://www.messagelabs.com/email
> > ______________________________________________________________________


______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email 
______________________________________________________________________