The following Mathematica notebook implements the Canny operator in 3D
canny3d.nb
The following Mathematica notebook implements the isophote curvature operator in 2D
imcurvature.nb
And this one does curvature in a 3Dvoxel image
voxcurvature.nb
This calculates curvature on a parametric surface (in this case an ellipsoid)
curvature3d.nb
This is the same but for a more complex, non-convex surface
curvature3dnew.nb
The following implements linear and non-linear diffusion of a 2D image.
This includes a (simplified) Perona-Malik scheme.
In all cases the
diffusion is carried out using Alternating Direction Implicit (ADI) -
an example of the Operator Splitting technique.
diff2d.nb