[Insight-developers] denoising filter

Nicholas Tustison ntustison at gmail.com
Thu Dec 6 12:07:51 EST 2012


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






More information about the Insight-developers mailing list