public class ProcrustesAnalysis extends Object
PointList
s.
It is assumed that the number of points in the PointList
s
is equal, and that their is a one-to-one correspondance between
the ith point in each list.Modifier and Type | Field and Description |
---|---|
protected PointList |
reference |
protected Point2d |
referenceCog |
protected boolean |
rotate |
protected double |
scaling |
Constructor and Description |
---|
ProcrustesAnalysis(PointList reference)
Construct the
ProcrustesAnalysis with the given
reference shape. |
ProcrustesAnalysis(PointList reference,
boolean normalise)
Construct the
ProcrustesAnalysis with the given
reference shape. |
Modifier and Type | Method and Description |
---|---|
Jama.Matrix |
align(PointList toAlign)
Align the given shape to the reference.
|
static float |
computeProcrustesDistance(PointList l1,
PointList l2)
Compute the Procrustes Distance between two
PointList s. |
protected static double |
computeScale(PointList pl,
double tx,
double ty) |
protected Point2d referenceCog
protected double scaling
protected boolean rotate
public ProcrustesAnalysis(PointList reference)
ProcrustesAnalysis
with the given
reference shape.reference
- The reference shape.public ProcrustesAnalysis(PointList reference, boolean normalise)
ProcrustesAnalysis
with the given
reference shape. The reference shape is optionally normalised
to a standardised scale and translated to the origin.reference
- The reference shape.normalise
- if true, then the reference is normalised (changing
the reference shape itself).protected static double computeScale(PointList pl, double tx, double ty)
public Jama.Matrix align(PointList toAlign)
toAlign
- transform matrixIllegalArgumentException
- if the input is null or has a
different size to the reference.public static float computeProcrustesDistance(PointList l1, PointList l2)
PointList
s.
If the distance is 0, then the shapes overlap exactly.l1
- first shapel2
- second shapeIllegalArgumentException
- if the input is null or has a
different size to the reference.