In 2014, the need for projection from multi-dimensional spaces toward 2D or 3D appears. From the 12 audio indicators provided by Echonest (now within spotify) to 2 dimensions or else 1 dimension. We had already used PCA (principal Component Analysis) but Self Organizing Map (SOM) and their algorithms were fascinating.
Therefore, I coded a generic java package.
The java class needs only a distance function over a set of points.
I set the topology only through the distance function. It specified the change of learning factors over iterations using a linear function and key points.
The following illustrations show various kinds of use.
A video shows the package in use, there.