I'm searching for a method that can smooth a 3D volume whilst preserving the edges in my volume.

I researched anisotropic diffusion filtering and bilateral filtering, but I'm having trouble to evaluate if they can be efficiently used on +30M voxels volumes.

So I need:

  • Relatively fast algorithm even with 512x512x200 volumes
  • Good edge preserving properties
  • Any help to understand those methods.
  • $\begingroup$ Most edge-preserving smoothing algorithms are based around minimizing total variation of the signal. I think it should work for 3D signal as well. Perhaps a good place to start looking. $\endgroup$
    – Phonon
    Jun 4, 2014 at 18:18
  • $\begingroup$ Is there a reason you cannot do it volume-piece wise? $\endgroup$ Jun 4, 2014 at 21:26
  • $\begingroup$ @Phonon seems a good for what I want to do. I found few hours after I asked this question, an article in the book Multi Modality State-of-the-Art Medical Image Segmentation and Registration Methodologies: Volume 1 a methodology with goals very similar to mine and they used a 3D anisotropic diffusion filter. I'm going to try that for the moment but i'll definitely check on your suggestion. Thanks! $\endgroup$ Jun 6, 2014 at 8:42
  • $\begingroup$ @user4619 what do you mean? $\endgroup$ Jun 6, 2014 at 8:43
  • $\begingroup$ I mean break down the volume into smaller volumes, and filter those separately, if processing power is an issue. $\endgroup$ Jun 6, 2014 at 13:27

1 Answer 1


If you can use the Bilateral Filter then you can use the Guided Filter.
The nice property of the Guided Filter is its low complexity.
There is a simple and efficient implementation with with linear complexity of the number of pixels.

You may also have a look at:


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.