per-pixel random problems?

Matthew Woehlke mw_triad at users.sourceforge.net
Thu Dec 11 21:47:02 CET 2008


Cyrille Berger wrote:
> On Thursday 11 December 2008, Matthew Woehlke wrote:
>> Cyrille Berger wrote:
>>> On Wednesday 10 December 2008, Matthew Woehlke wrote:
>>>> I was looking at the noise filter, and noticed... it isn't very random.
>>>> Specifically, there are very obvious horizontal "streak" artifacts.
>>>> Anyone know why this is?
>>> what's a streak artifacts ? (maybe you can illustrate)
>> noise filter in a 640x480 document? There are obvious non-grainy runs of
>> pixels...
>>
>> I circled a few in the attached, hopefully it looks the same on your end
>>
>> :-). Otherwise let me know and I'll send a raw png.
> Well sounds like it's a good test case for Boudewijn.. I only get a black 
> image. 

Um. This isn't good, when I open the file again, I get... nothing. The 
filter seems to be not-working, my solid black layer seems to be *gone*, 
and the layer that should have markings... also nothing. Krita is 
supposed to be released in 2.0? If it can't even open a file it saved 
without data loss, um...

I tried again. Steps to reproduce:

Create new RGB 640x480 White document.
(First problem: it's not white, it's transparent.)
Flood-fill with black so noise has something to work with.
New filter layer, other->noise, thresh=50 opacity=99
Save as krita format
Close krita
Re-open

(The only other thing that occurs to me would be that I have non-working 
GL on this system. That is, GL support is enabled - as it would be in a 
distro build - but cannot be used on my system.)

> So a raw png would be better (especially since I suspect an 
> architecture issue, I suspect the random number generator doesn't work well 
> on x86-64, so the next question would be wether you are in 32bits or 64bits 
> mode ?)

64-bit. Hmm... not sure why that would make a difference. I don't know 
the distribution properties of erand48, otherwise I wonder if that might 
work better (and be faster, as well).

(Obviously we would want to copy an /implementation/ of erand48, since 
it is a Linux-only function. However, it is a pure-integer function of 
the form '((A * seed) + B) mod C'.)

The png is substantial (500+kb), so I dumped it at 
http://img124.imageshack.us/img124/9986/noisetesthq8.png. (Um. And 
ImageShack no longer works without scripting or View Source; guess I 
won't be using them any more.)

-- 
Matthew
Please do not quote my e-mail address unobfuscated in message bodies.
-- 
|-\ /-\ \ | -+-   |-\  +  \ | -+- /-\
| | | | |\|  |    |-/ /-\ |\|  |  |
|-/ \-/ | \  |    |   | | | \ -+- \-/



More information about the kimageshop mailing list