Thanks for sharing, your profession in matlab is very impressive. the package is really nonlinear anisotropic diffusion, not only coherence diffusion, so I strongly suggest changing the name. I found a problem in functions2D/EigenVectors2D.m the eigenvectors v1 v2 corresponds to mu2 and mu1, please check it, it can be a serious bug.
I am translating your matlab code in to IDL, I find that in the convolution step ('gsderiv.m'), the gaussian kernel is not normalized. It is done in 1D 'kernel=kernel/sum(kernel)', however, it is important that you do it like this:
kernel = exp(-.5*(kernel_grid./sigma).^2)