[Insight-developers] denoising filter
Bradley Lowekamp
blowekamp at mail.nih.gov
Thu Dec 6 13:08:47 EST 2012
Nick,
I just ran into this problem too this morning. I am glad you looked into the problem further than I did.
I was wrapping it for SimpleITK. I was setting up the filter with the defaults matching:
http://review.source.kitware.com/#/c/8803/1/Code/BasicFilters/json/PatchBasedDenoisingImageFilter.json
And I was testing it with the following 3D image:
http://itk.org/gitweb?p=SimpleITKData.git;a=blob;f=Input/RA-Short.nrrd;h=fca085049470a826324a4f2c93af2fd65fbaed52;hb=HEAD
With the following meta information:
Size: [64, 64, 64]
Spacing: [0.755874, 0.755874, 0.755874]
Origin: [0.283453, 0.283453, 0.283453]
Direction:
1 0 0
0 1 0
0 0 1
I get the same error with the defaults as you did, when I run the filter with the defaults
And then if I change the patchRadius:
python: sitk.PatchBasedDenoising( img, patchRadius=8 )
---------------------------------------------------------------------------
RuntimeError Traceback (most recent call last)
/home/blowekamp/src/SimpleITK/Testing/Data/Input/<ipython console> in <module>()
/home/blowekamp/build/SimpleITK/SimpleITK-build/Wrapping/SimpleITK.pyc in PatchBasedDenoising(*args, **kwargs)
5767 double fractionPixelsForSigmaUpdate=1.0) -> Image
5768 """
-> 5769 return _SimpleITK.PatchBasedDenoising(*args, **kwargs)
5770 class MaximumProjectionImageFilter(_object):
5771 """
RuntimeError: Exception thrown in SimpleITK PatchBasedDenoising: /home/blowekamp/build/SimpleITK/ITK-prefix/include/ITK-4.3/itkPatchBasedDenoisingImageFilter.hxx:641:
itk::ERROR: PatchBasedDenoisingImageFilter(0x3086ee0): Center pixel's weight (0.685381) must be equal to 1.0
Thanks,
Brad
On Dec 6, 2012, at 12:07 PM, Nicholas Tustison <ntustison at gmail.com> wrote:
> Hi Kris,
>
> Today I finally got a chance to look at your denoising work (I'm ashamed
> that I was at Penn for with Suyash for some time but I never asked him
> about it). Anyway, I have a couple questions and I was hoping you could
> help me try to run your denoising work on some of my MRI. I took the test
> that you wrote and modified it only so that I could use it as a stand-alone
> program. I also verified that my version worked with the test images.
> However, when I tried to use it on my image (stats below)
>
> Image information
> Size: [256, 256, 20]
> Origin: [-232.879, -135.656, 240.706]
> SpatialExtent: [498.047, 498.047, 190]
> Center: [16.1448, 113.368, 335.706]
> Spacing: [1.95312, 1.95312, 10]
> Index: [0, 0, 0]
> Direction:
> 1 0 0
> 0 1 0
> 0 0 1
>
> using the following parameters
>
> patchRadius = 4
> noiseModel = gaussian
> fidelityWeight = 0.0
> numberOfIterations = 1
> sigmaMultiplicationFactor = 2
>
> it gave me the following error
>
> Line: 634
> Description: itk::ERROR: PatchBasedDenoisingImageFilter(0x7fbffb0f5e10): Center pixel's weight (0) must be equal to 1.0
>
> After investigating this section of the code, I noticed that the physicalWeightsImage
> (after writing it to an image file) consists of what looked like a weighted 2-D disc.
> Based on my reading of the comments, should this be more of a 3-D weighted sphere?
> If so, I made some changes in the code to actually get a weighted sphere thinking
> that might be solve the problem but I still got the same error. However, if I increase
> the radius to 8, it seems to get past that error without issue. Is there a general rule
> for determining a minimal radius for this filter?
>
> Thanks for your help,
> Nick
>
>
>
>
> _______________________________________________
> 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://kitware.com/products/protraining.php
>
> 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-developers
More information about the Insight-developers
mailing list