A simple clustering analysis program has been added to the mix. My initial goal was to use a threshold density and find all the iso-surfaces for that density, possibly using an algorithm similar to that for finding class borders. This should be simpler and faster than a hierarchical clustering, although less general since the analysis will need to be repeated every time we try a different threshold. I didn't want to just write a hierarchichal clustering algorithm since it doesn't really "fit" with the rest of the library.
In the end, I came up with a very simple method of using the k-nearest neighbours to cluster points above the threshold density together. A similar method could be used with AGF using both a threshold density and a threshold distance; the distance could be calculated from the density.