POV-Ray : Newsgroups : povray.general : stripes in my color map Server Time
29 Jul 2024 22:31:15 EDT (-0400)
  stripes in my color map (Message 11 to 15 of 15)  
<<< Previous 10 Messages Goto Initial 10 Messages
From: Darren New
Subject: Re: stripes in my color map
Date: 3 Dec 2010 11:45:18
Message: <4cf91e9e$1@news.povray.org>
Joost wrote:
>> My favorite way of getting rid of these artifacts is to render to
>> OpenEXR, and then use IC to convert to the target 8-bit image format. As
>> IC uses dithering for such conversions, instead of the banding you'll
>> get 1-bit noise, which the human eye does not notice anymore.
> 
> Ah, you could be speaking chinese to me with the same effect ;-) If you could
> spare some time to translate that to layman terms, I would very much appriciate
> it.

OpenEXR stores more than 8 bits for each pixel. Dithering (WIYF, btw) moves 
pixels small distances in pseudo-random directions in order to blur the 
edges of the bands, essentially.  http://en.wikipedia.org/wiki/Dither

-- 
Darren New, San Diego CA, USA (PST)
   Serving Suggestion:
     "Don't serve this any more. It's awful."


Post a reply to this message

From: clipka
Subject: Re: stripes in my color map
Date: 3 Dec 2010 12:32:36
Message: <4cf929b4@news.povray.org>
Am 03.12.2010 16:04, schrieb Joost:
> clipka<ano### [at] anonymousorg>  wrote:
>
>> Did you try a higher-quality output image format, such as OpenEXR or
>> 16-bit PNG?
>
> I just tried Bits_Per_Color=16, but at least my eye can't spot the difference. I

Many (if not most) image viewers have the same problem as POV-Ray: There 
will normally be a step somewhere when the image data ultimately needs 
to be reduced to 8 bit per channel for the graphics hardware.

Check out "IC" at http://www.lilysoft.org/IC/ic_index.htm - among a lot 
of other cool magic, it does the already mentioned dithering trick to 
deal with that 8-bit bottleneck. It's a kind of combined image viewer / 
converter / swiss army knife.

> cound't find OpenEXR in the POVray documentation. Do I need to install 3.7 for
> that?

Yes. But note that a lot of image processing software can't read OpenEXR 
yet, so I'd have to redirect you to IC there, too - so at least for 
starters you may get just as far with 16-bit PNG and IC.

>> My favorite way of getting rid of these artifacts is to render to
>> OpenEXR, and then use IC to convert to the target 8-bit image format. As
>> IC uses dithering for such conversions, instead of the banding you'll
>> get 1-bit noise, which the human eye does not notice anymore.
>
> Ah, you could be speaking chinese to me with the same effect ;-) If you could
> spare some time to translate that to layman terms, I would very much appriciate
> it.

In layman's terms, it's some image-processing black magic that adds a 
type of artifacts the human eye ignores (noise, i.e. more or less 
randomly brightening or darkening the individual pixels) to avoid or 
hide another type of artifacts the human eye is very sensitive for (the 
banding).

It's easiest when the noise is applied before reducing to 8 bits per 
pixel (otherwise you'll need more noise to hide the banding, possibly so 
much that it would be just as distracting), which is why I let POV-Ray 
render to a 16-bit-per-channel image file (which I prefer over 16-bit 
PNG because it happens to be a high dynamic range format, but that's not 
the main point in this case; for instance, Radiance HDR has proven a 
poor choice for this purpose).


Post a reply to this message

From: Joost
Subject: Re: stripes in my color map
Date: 3 Dec 2010 16:25:01
Message: <web.4cf95af2ba37d98edfff491b0@news.povray.org>
Darren New <dne### [at] sanrrcom> wrote:
> OpenEXR stores more than 8 bits for each pixel. Dithering (WIYF, btw) moves
> pixels small distances in pseudo-random directions in order to blur the
> edges of the bands, essentially.  http://en.wikipedia.org/wiki/Dither

clipka <ano### [at] anonymousorg> wrote:
> Yes. But note that a lot of image processing software can't read OpenEXR
> yet, so I'd have to redirect you to IC there, too - so at least for
> starters you may get just as far with 16-bit PNG and IC.
>

Thanks for explaining this on my humble level.

I've converted from 16 to 8-bit PNG with IC, but have seen little change
(still banding). I'll try 3.7 and OpenEXR next. Otherwise changing the sky in an
outside application might be an option that just came to mind. Maybe I can
achieve a little less banding with that. So you might hear from me again, or not
:-)

Very gratefull for all the quick replies.

Joost


Post a reply to this message

From: Alain
Subject: Re: stripes in my color map
Date: 3 Dec 2010 21:50:08
Message: <4cf9ac60$1@news.povray.org>

> Darren New<dne### [at] sanrrcom>  wrote:
>> OpenEXR stores more than 8 bits for each pixel. Dithering (WIYF, btw) moves
>> pixels small distances in pseudo-random directions in order to blur the
>> edges of the bands, essentially.  http://en.wikipedia.org/wiki/Dither
>
> clipka<ano### [at] anonymousorg>  wrote:
>> Yes. But note that a lot of image processing software can't read OpenEXR
>> yet, so I'd have to redirect you to IC there, too - so at least for
>> starters you may get just as far with 16-bit PNG and IC.
>>
>
> Thanks for explaining this on my humble level.
>
> I've converted from 16 to 8-bit PNG with IC, but have seen little change
> (still banding). I'll try 3.7 and OpenEXR next. Otherwise changing the sky in an
> outside application might be an option that just came to mind. Maybe I can
> achieve a little less banding with that. So you might hear from me again, or not
> :-)
>
> Very gratefull for all the quick replies.
>
> Joost
>
>

Even if you render at 16 bits per channel, your display is still limited 
to 8 bits per channel. Thus, the pixels get down sampled for the 
display, resulting in the banding you see.
You can hide some of the banding using some noise on the red and green 
channels.
It can be a mostly transparent pattern layered over the blue gradient 
using a noisy pattern like granite or bozo scaled small enough.



Alain


Post a reply to this message

From: Joost
Subject: Re: stripes in my color map
Date: 4 Dec 2010 08:00:00
Message: <web.4cfa39fdba37d98edfff491b0@news.povray.org>
Alain <aze### [at] qwertyorg> wrote:

> Even if you render at 16 bits per channel, your display is still limited
> to 8 bits per channel. Thus, the pixels get down sampled for the
> display, resulting in the banding you see.

Ah. I undertand I still didn't completely understand.

But as I noticed the stripes on the print from the printer, who can only process
JPEG, and JPEG being 8-bits, me seeing the stripes on the screen means they will
also appear on my prints, if my thinking is correct.

> You can hide some of the banding using some noise on the red and green
> channels.
> It can be a mostly transparent pattern layered over the blue gradient
> using a noisy pattern like granite or bozo scaled small enough.

I've tried that now and I feel that has indeed helped (but at the moment I am
seeing banding everywhere, so I need a time-out). I'm going to experiment some
more with that (and try OpenEXR) later.

Thanks, Joost


Post a reply to this message

<<< Previous 10 Messages Goto Initial 10 Messages

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.