Slicer3:Module:Rician Noise Removal

From Slicer Wiki
Jump to: navigation, search
Home < Slicer3:Module:Rician Noise Removal

Module Name

Rician Noise Removal in Diffusion Tensor MRI (DWI and tensors)

Caption 1

General Information

Module Type & Category

Type: CLI

Category: Filtering DWI and tensors

Authors, Collaborators & Contact

  • Saurav Basu: University of Utah
  • Tom Fletcher, University of Utah
  • Ross Whitaker, University of Utah
  • Sylvain Gouttard, University of Utah
  • Contact: Tom Fletcher

Module Description

Rician noise introduces a bias into MRI measurements that can have a significant impact on the shapes and orientations of tensors in diffusion tensor magnetic resonance images. This is less of a problem in structural MRI, because this bias is signal dependent and it does not seriously impair tissue identification or clinical diagnoses. However, diffusion imaging is used extensively for quantitative evaluations, and the tensors used in those evaluations are biased in ways that depend on orientation and signal levels. This module implements the algorithm developed by Basu, et al. for filtering diffusion tensor magnetic resonance images. The method is a maximum a posteriori estimation technique that operates directly on the diffusion weighted images and accounts for the biases introduced by Rician noise. We account for Rician noise through a data likelihood term that is combined with a spatial smoothing prior. Also included in the module are several other approaches from the literature, including methods that filter diffusion weighted imagery and those that operate directly on the diffusion tensors. These methods are compared in [Basu, et al. 2006], where it is shown that the Rician filter gives the best overall results.


DWI filtering

Examples, Use Cases & Tutorials


dwiFilter <arguments> Arguments: 1. Input File Name 2. Output File Name 3. NumIterations 4. Conductance 5. TimeStep 6. Filter Type : (Simple Aniso-0,Chi Squared-1,Rician-2,Gaussian-3) 7. Sigma for bias correction 8. Lamda (Rician Correction Term) 9. Lamda (Gaussian Correction Term)

Argument Description:

<Input File Name> Name of the DWI file to be filtered. For example <noisyDWI_10.nhdr> is a noisy DWI file provided in the data directory. It was generated by adding synthetic Rician noise with a sigma=10 to a cleanDWI.nhdr

<Output File Name> Name of the filtered DWI file. For example <filteredDWI.nhdr>

<NumIterations> Number of iterations you want to run the filter for.

<Conductance> The value of the conductance term in anisotropic diffusion filtering (Ex: 1.0) Note: Large Conductance will oversmooth the image It is important to tune the conductance to obtain best results.

<Filter Type> Can Take 3 values: 0 means perform simple anisotropic diffusion

  • - 1 means perform Chi-Squared smoothing (square the image and perform anisotropic diffusion and then subtract the variance of the noise, and take square root. (The square of a Rice distribution is a Chi Squared distribution with known bias equal to the variance of the noise) (Refer:Max likelihood Est. of Rician Ditribution Parameters. Sijbers et. al)
  • - 2 means Perform Rician bias correction filtering.(Refer: Rician Noise Removal in DT-MRI.)
  • - 3 is same as 2 except use a Gaussian Attachment Term .

<Sigma> Estimate of noise in the data. This can be done by squaring the airvoxels in the real data. The sum of square of all the intensities in the air region should equal 2*variance of the noise in the data. (Sijbers et. al)

<lamda1, lamda2> The weights for the Rician and Gaussian attachment terms.


dwiFilter ../data/noisyDWI_10.nhdr filteredDWI.nhdr 1 1.0 0.0625 2 10 100 0

Filters the noisyDWI_10.nhdr for 1 iteration with a conductance of 1.0 timeStep 0.0625 using Rician filtering with a Rician attachement term weight of 100. The estimate of noise in the input image is a sigma of 10 The filtered image is filteredDWI.nhdr.

Tensor filtering


tensorDiffuse <Arguments> 1. FilterType:(0-Euclidean, 1-Log Space,2-Riemannian) 2. numIterations:Iterations For Anisotropic Diffusion 3. timeStep:timeStep Used in Anisotropic Diffusion 4. conductance:Conductance used for Anisotropic Diffusion 5. Input (filename of input data) 6. Output (filename of output data)

Arguments 2,3,4 have the same meaning as described for dwiFilter (see above).

Argument 1 describes the filter type

  • - 0: Euclidean Space filtering (tensors are treated as 6-d vectors)
  • - 1: Log Space filtering (Fast and Simple Calculus on Tensors in the Log-Euclidean Framework. In J. Duncan and G. Gerig, editors, Proceedings of the 8th Int. Conf. on Medical Image Computing and Computer-Assisted Intervention - MICCAI 2005, Part I, volume 3749 of LNCS, Palm Springs, CA, USA, October 26-29, pages 115-122, 2005. Springer Verlag)
  • - 2. Riemannian Space Filtering(A Riemannian Framework for the Processing of Tensor-Valued Images. In Ole Fogh Olsen, Luc Florak, and Arjan Kuijper, editors, Deep Structure, Singularities, and Computer Vision (DSSCV), number 3753 of LNCS, pages 112-123, June 2005. Springer Verlag.)

Currently, the Riemannian filter adjustment for negative eigen-values is hard-coded in the source file.

Argument 5 is the name of the noisyTensor input. Argument 6 is the name of the output tensor file


tensorFilter 2 1 0.0625 1.0 noisyTensor_10.nhdr FilteredTensor.nhrd

Quick Tour of Features and Use

List all the panels in your interface, their features, what they mean, and how to use them. For instance:

  • Input panel:
  • Parameters panel:
  • Output panel:
  • Viewing panel:


Known bugs

Follow this link to the Slicer3 bug tracker:

Usability issues

Follow this link to the Slicer3 bug tracker. Please select the usability issue category when browsing or contributing:

Source code & documentation

Customize following links for your module:

Links to documentation generated by doxygen:

More Information


This work is part of the National Alliance for Medical Image Computing (NAMIC), funded by the National Institutes of Health through the NIH Roadmap for Medical Research, Grant U54 EB005149. Information on the National Centers for Biomedical Computing can be obtained from bioinformatics. Funding for this work has also been provided by Center for Integrative Biomedical Computing, NIH NCRR Project 2-P41-RR12553-07. We thank Weili Lin and Guido Gerig from the University of North Carolina for providing us with the DW-MRI data. Glyph visualizations created with Teem (


Basu S, Fletcher T, Whitaker R. Rician Noise Removal in Diffusion Tensor MRI. Med Image Comput Comput Assist Interv Int Conf Med Image Comput Comput Assist Interv. 2006;9(Pt 1):117-25.