Configurations: To AffineTransform (congruence)...

A command that creates an AffineTransform object from two selected Configuration objects.

We calculate the affine transform that transforms the second selected Configuration object to match the first selected Configuration object as closely as possible. The degree of proportionality is the congruence between corresponding dimensions.

Settings

Maximum number of iterations
sets a limit to the number of iterations.
Tolerance
also determines when the iteration stops. This happens if |f(Ti)–f(Ti+1)| < tolerance · f(Ti), where f(Ti) is the sum of the congruences for the ith iteration (see below).

The iteration process stops when either the maximum number of iterations is reached or the tolerance criterion is met, which ever one is first.

Algorithm

Sometimes the criterion used in a Procrustes transform is too restrictive for comparing two configurations. This criterion is only zero when the positions in the rotated configuration (AT) equal the positions in the other configuration (B). Brokken (1983) proposed an algorithm to maximize instead the sum of congruences between corresponding dimensions of AT and B. Specifically he proposed to maximize

f(T) = ∑i=1..numberOfDimensions tiAbi / ((tiAAti)1/2(bibi)1/2),

where ti and bi are the ith column of T and B, respectively. A direct solution for T is not available, it can only be obtained by an iterative procedure. The implemented algorithm is from Kiers & Groenen (1996) and shows excellent convergence properties.


© djmw, April 7, 2004