[Insight-users] Noise simulation
Oleksandr Dzyubak
adzyubak at gmail.com
Mon Mar 29 09:39:02 EDT 2010
Hi Gaëtan,
Attached are the image from your submission and the one I tested
using your your salt-and-pepper generator. As to me, yours looks a bit
noisier.
Don't you think so?
Alex
http://old.nabble.com/file/p28069421/Test_sp_001.png Test_sp_001.png
http://old.nabble.com/file/p28069421/Submission_sp.png Submission_sp.png
Gaëtan Lehmann-2 wrote:
>
>
> Le 26 mars 10 à 16:27, Oleksandr Dzyubak a écrit :
>
>> Hi Gaëtan,
>>
>> I downloaded the updated version from your repository that you
>> provided.
>> http://mima2.jouy.inra.fr/darcs/contrib-itk/noise/
>>
>> Below is the result of my tests.
>>
>> 1)
>> The compilation was perfect.
>
> great :-)
>
>>
>> 2)
>> dzyubak at helium: /Original_Images$ ./median cthead1.tif
>> cthead1_median.png | grep " Number Of Threads"
>>
>> After Running the median program, I do see any difference
>> between original and processed images.
>> As I can see, in the median.cxx you just removed the neighborhood
>> radius.
>> What is the purpose of being that utility in the submission?
>> Can't be the median.cxx just removed from the package?
>>
>
> It does something here - by default, the radius is 1.
> Just try on the output of the salt and pepper filter :-)
>
> ./sp ../images/cthead1.tif sp.png
> ./median sp.png out.png
>
> it is very efficient for this kind of noise.
>
>> 3)
>> dzyubak at helium: /Original_Images$ ./gauss cthead1.tif
>> cthead1_gauss_s22_8_m0.png 22.8 0.0 | grep " Number Of Threads"
>> Number Of Threads: 16
>> Global Maximum Number Of Threads: 128
>> Global Default Number Of Threads: 16
>>
>> The image has the same seeding problem as in the previous version.
>> No changes at all.
>>
>
> err, yes, my fault. I forgot that this filter was not using the
> mersenne twister generator.
> It's fixed now, by using the same random generator as in the other
> filters :-)
>
>> 4)
>> dzyubak at helium: /Original_Images$ ./sp cthead1.tif
>> cthead1_sp_001.png 0.01 | grep " Number Of Threads"
>>
>> Number Of Threads: 16
>> Global Maximum Number Of Threads: 128
>> Global Default Number Of Threads: 16
>>
>> Surprisingly, now cthead1_sp_001.png looks similar to that
>> from your submission. The incorrect seeding problem is gone.
>> Noise really looks random. However, I noticed that your image is
>> "noisier".
>> Did you use the same parameter "0.01" or that is still the seeding
>> problem?
>
> noiser? can your provide the images?
>
>>
>> 5)
>> The shot and spekle noise generators work fine and my images
>> are identical to yours.
>
> great :-)
>
>>
>> 6)
>> Peak signal to noise ratio. In your submission you have 20 dB. Mine
>> is below.
>>
>> dzyubak at helium: /Original_Images$ ./psnr cthead1.tif
>> cthead1_median.png
>> PSNR: 37.3425 dB
>>
>> dzyubak at helium: /Original_Images$ ./psnr cthead1.tif
>> cthead1_gauss_s22_8_m0.png
>> PSNR: 20.0251 dB
>>
>> dzyubak at helium: /Original_Images$ ./psnr cthead1.tif
>> cthead1_shot_s015.png
>> PSNR: 20.0429 dB
>>
>> dzyubak at helium: /Original_Images$ ./psnr cthead1.tif
>> cthead1_spekle_s024.png
>> PSNR: 20.0901 dB
>>
>> dzyubak at helium: /Original_Images$ ./psnr cthead1.tif
>> cthead1_sp_001.png
>> PSNR: 22.4873 dB
>>
>> Interesting, the utility says that my salt and pepper is noisier,
>> but just visual test yours is as twice noisier. Subjective judgment?
>
> PSNR is only a (not so bad) approximation of the image degradation as
> perceived by a human.
> Our brain very capable to ignore the noise, and for some case like the
> salt and pepper case, the PSNR is not very representative of our
> feeling.
>
>>
>> Summing up.
>> 1) What is the need for median.cxx ?
>> Can't be this utility just removed from the submission?
>>
>> 2) The seeding problem in the Gauss noise generator is still there.
>>
>> Regards,
>>
>> Alex
>>
>>
>> Gaëtan Lehmann wrote:
>>>
>>> Le 25 mars 10 à 23:27, Gaëtan Lehmann a écrit :
>>>
>>>>
>>>> Hi Alex,
>>>>
>>>> I think there is a problem with multithreading and the random
>>>> generator - more specifically, the seeds are the same in all the
>>>> threads.
>>>> I didn't noticed this on my macbook with only 2 cores, even when
>>>> increasing the number of threads to a higher number than the
>>>> number of cores, but I see the same behavior on my workstation
>>>> with 16 threads.
>>>>
>>>> How many threads are running in parallel on your system? The
>>>> number is displayed while running one of the noise generator
>>>>
>>>> [glehmann at gbook build]$ ./shot ../images/cthead1.tif toto.png |
>>>> grep " Number Of Threads:"
>>>> Number Of Threads: 2
>>>> Number Of Threads: 2
>>>>
>>>> You can limit the number of threads to a small number, or even to
>>>> 1, with
>>>>
>>>> export ITK_GLOBAL_DEFAULT_NUMBER_OF_THREADS=1
>>>>
>>>> to workaround the problem.
>>>>
>>>> I will restore the (non thread safe) seeding behavior in
>>>> ThreadSafeMersenneTwisterRandomVariateGenerator and make it thread
>>>> safe with a lock so that 2 threads can't get the same seed.
>>>>
>>>
>>> This is fixed in the main repository:
>>>
>>> http://mima2.jouy.inra.fr/darcs/contrib-itk/noise/
>>>
>>> As well as the problem you have reported in median.cxx.
>>> Please let me know if there is something else wrong!
>>>
>>> Gaëtan
>>>
>>>
>>>> Thanks for the report!
>>>>
>>>> Gaëtan
>>>>
>>>>
>>>> Le 25 mars 10 à 22:47, Oleksandr Dzyubak a écrit :
>>>>
>>>>> Dear ITK users,
>>>>>
>>>>> Did anybody tested the noise simulation codes from the submission
>>>>> "Noise simulation" http://hdl.handle.net/10380/3158 ?
>>>>> The most needed (for me at least) noise generators
>>>>> (Gauss and salt and pepper)
>>>>> produce corrupted images with periodic line patterns
>>>>> (see attached images). To generate those images, I followed
>>>>> the parameter recommendations taken from the submission.
>>>>>
>>>>> ./gauss cthead1.tif cthead1_gauss_s22_8_m0.png 22.8 0
>>>>> ./sp cthead1.tif cthead1_sp_0016.png 0.016
>>>>>
>>>>> Did anybody get similar results?
>>>>>
>>>>> Alex
>>>>>
>>>>>
>>>>>
>>>>> Oleksandr Dzyubak wrote:
>>>>>> Hi Gaëtan,
>>>>>>
>>>>>> Nice and long awaited work.
>>>>>> I found a tiny typo in your code that prevents the submitted
>>>>>> codes from
>>>>>> being compiled.
>>>>>> At least on my Linux box. The typo is sitting in your median.cxx
>>>>>> and the
>>>>>> fix is below.
>>>>>>
>>>>>> // Part that gives the errors.
>>>>>> /*
>>>>>> FilterType::RadiusType r;
>>>>>> r.Fill(2);
>>>>>> // filter->SetRadius(r);
>>>>>> */
>>>>>>
>>>>>> // this fix solves the problem.
>>>>>> IType::SizeType r;
>>>>>> r[0] = 1;
>>>>>> r[1] = 1;
>>>>>> filter->SetRadius(r);
>>>>>>
>>>>>> Could you please add the fix and upload the code?
>>>>>>
>>>>>> Thanks,
>>>>>> Alex
>>>>>>
>>>>>
>>>>> <cthead1_gauss_s22_8_m0.png><cthead1_sp_0016.png>
>>>>
>>>> --
>>>> Gaëtan Lehmann
>>>> Biologie du Développement et de la Reproduction
>>>> INRA de Jouy-en-Josas (France)
>>>> tel: +33 1 34 65 29 66 fax: 01 34 65 29 09
>>>> http://voxel.jouy.inra.fr http://www.itk.org
>>>> http://www.mandriva.org http://www.bepo.fr
>>>>
>>>> _____________________________________
>>>> Powered by www.kitware.com
>>>>
>>>> Visit other Kitware open-source projects at
>>>> http://www.kitware.com/opensource/opensource.html
>>>>
>>>> Kitware offers ITK Training Courses, for more information visit:
>>>> http://www.kitware.com/products/protraining.html
>>>>
>>>> Please keep messages on-topic and check the ITK FAQ at:
>>>> http://www.itk.org/Wiki/ITK_FAQ
>>>>
>>>> Follow this link to subscribe/unsubscribe:
>>>> http://www.itk.org/mailman/listinfo/insight-users
>>>
>>
>
> --
> Gaëtan Lehmann
> Biologie du Développement et de la Reproduction
> INRA de Jouy-en-Josas (France)
> tel: +33 1 34 65 29 66 fax: 01 34 65 29 09
> http://voxel.jouy.inra.fr http://www.itk.org
> http://www.mandriva.org http://www.bepo.fr
>
>
>
> _____________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Kitware offers ITK Training Courses, for more information visit:
> http://www.kitware.com/products/protraining.html
>
> Please keep messages on-topic and check the ITK FAQ at:
> http://www.itk.org/Wiki/ITK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.itk.org/mailman/listinfo/insight-users
>
>
--
View this message in context: http://old.nabble.com/Noise-simulation-tp27990624p28069421.html
Sent from the ITK - Users mailing list archive at Nabble.com.
More information about the Insight-users
mailing list