Joint Anisotropic Wiener filter for Diffusion Weighted MRI
This module reduces stationary Rician noise on Diffusion Weighted MRI data (i.e. the data sets used to estimate diffusion tensor images; note it DOES NOT apply to anatomical MRI or any other kind of MRI data. It WILL NOT work with already reconstructed diffusion tensor volumes either). Use this m-file to denoise your DW-MRI data BEFORE estimating your diffusion tensor volume or your field of ODFs.
This software filters the image in the mean squared error sense using a Rician noise model. The N closest gradient directions to the direction being processed are filtered together to improve the results: the noise-free signal at each 3-D spatial location is seen as an n-dimensional vector which has to be estimated with the LMMSE method (Wiener filter) from a set of corrupted measurements. The covariance matrix of the noise-free vector and the cross covariance between this signal and the noise have to be estimated, which is done taking into account the image formation process.
All these estimations are performed as sample estimates in a 'shaped neighborhood' defined by the weights extracted from the structural similarity of the voxels following the same idea as in the Non-Local Means filter. The NLM distances are computed in a features space comparing only the local mean value and gradients of an RGB image created from the projections of the gradient images in a set of three independent directions.
This software works with very large 4-D data sets. This means that, depending on the actual size of your data, the filter configuration (i.e. input parameters), and the power of your computer, its execution time may range from few minutes to several tens of minutes. If you cannot afford such a long processing time, we advise you to use our C++/ITK versions of this software, that may be downloaded (the open-source code and also multi-platform, pre-compiled binaries) at:
http://www.nitrc.org/projects/jalmmse_dwi/