List of my modules...
Module: Displace Vertices
Description:
From a graph structure, moves the vertices along the edges, one after the other.
Illustration: the grey graph is the input, the red the output.
Connections:
Graph
[required]
The input graph, defined in a class HxSpatialGraph.
Method

Two displacement methods have been implemented. The first, Random, moves, for every edge, the two vertices of its extremities towards each other by a random amount. In this case, a maximum total displacement limits is set, in port Max_Displacement.
The second method, Binary, moves only a certain number of vertices, and only once, by an amount equal to a percentage of the Radius value associated to the vertices and given in the input graph.
Max_Displacement

For the Random method, maximum allowable displacement of the vertices. For every edge and for each vertex of that edge, a displacement along the edge and towards the other vertex is chosen, as a random number between 0 and the given value. Since this is performed for each edge, vertices contained in more than one edge are moved more than once, so their movement is limited by this value.
Nb_Clusters

For the Binary method, number of vertex movements.
Radius_Percentage

For the Binary method, if vertex i, with radius Ri, is to be moved towards j, with radius Rj, and a value of P was set in this port, then i will be moved towards j such that the new distance between them is P*(Ri+Rj).
Options

This option, Ignore border vertices, is only valid if their is a Radius attribute associated with each vertex. If this box is ticked, then the vertices flagged as border vertices, will not be displaced (so as to avoid a crunching towards the center of the image).
A vertex is said to be a border vertex if the corresponding sphere (i.e. whose center is at the vertex position and radius is the value associated to the vertex) intersects the bounding box of the input graph. If the input graph contains parameters Origin and Box (i.e. such as those created in the Create_Sphere_Pack_Image module), then those will be used as the bounding box.
Output

Output can be a graph or a set of points, i.e. HxCluster. In each output type, a new data column associated to the vertices is added, named Displacement, which stores the length of the total displacement applied to each vertex.
Go !

Push the button to compute.
Commands:
Additional options can be accessed when typing in the console Displace_Vertices COMMAND_NAME. Typing the command again usually reverts back to original settings.
verbose
Displays timing information for the computation. Retype to hide info.
setRandSeed
The movement randomness is determined by a seed, a strictly positive number given with this command. If no number is given, the seed takes its default value.
create
Runs the computation. Returns the names of the output. Command can be used in a script, such as set output_PointSet [lindex [Displace_Vertices create] 1].