A recommend the following procedures to clarify your doubt relatively to the anisotropic implementation:
- run the example of anisodiff1D(.) [the visual effect of anisotropic filtering is more evident when applied to a 1D signal]
- instead of using a Gaussian with a small sigma try a higher one, e.g.,
hG = fspecial('gaussian',31,9); % sigma = 9;
Who will see that even if you increase the number of diffusion iterations the edges will prevail, contrary to the smoothing provided by the Gaussian filter.
Another advice: try reading and understanding the code with greater attention before rating it. The references to the articles aren´t there for nothing you now! :P