Class SimilarTransformBuilder
- Object
-
- MathTransformBuilder
-
- ProjectiveTransformBuilder
-
- SimilarTransformBuilder
-
public class SimilarTransformBuilder extends ProjectiveTransformBuilder
Builds MathTransform setup as Similar transformation from a list of MappedPosition. The The calculation uses least square method. The similar transform equation:[ x'] [ a -b Tx ] [ x ] [ a*x - b*y + Tx ] [ y'] = [ b a Ty ] [ y ] = [ b*x + a*y + Ty ]
In the case that we have more identical points we can write it like this (in Matrix):[ x'1 ] [ x1 -y1 1 0 ] [ a ] [ x'2 ] [ x2 -y2 1 0 ] [ b ] [ . ] [ . ] [ Tx ] [ . ] [ . ] * [ Ty ] [ x'n ] = [ xn yn 1 0 ] [ y'1 ] [ y1 x1 0 1 ] [ y'2 ] [ y2 x2 0 1 ] [ . ] [ . ] [ . ] [ . ] [ y'n ] [ yn xn 0 1 ] x' = A*m
Using the least square method we get this result:m = (ATA)-1 ATx'
- Since:
- 2.4
- Author:
- Jan Jezek
-
-
Field Summary
-
Fields inherited from class ProjectiveTransformBuilder
A, P, X
-
Fields inherited from class MathTransformBuilder
mtFactory
-
-
Constructor Summary
Constructors Constructor Description SimilarTransformBuilder(List<MappedPosition> vectors)
Creates SimilarTransformBuilder for the set of properties.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
fillAMatrix()
Fills A matrix for m = (ATPA)-1 ATPx' equationint
getMinimumPointCount()
Returns the minimum number of points required by this builder, which is 2.protected GeneralMatrix
getProjectiveMatrix()
Returns the matrix for Projective transformation setup as Affine.-
Methods inherited from class ProjectiveTransformBuilder
calculateLSM, computeMathTransform, fillPMatrix, fillXMatrix, getCoordinateSystemType, includeWeights
-
Methods inherited from class MathTransformBuilder
getDimension, getErrorStatistics, getMappedPositions, getMathTransform, getName, getSourceCRS, getSourcePoints, getTargetCRS, getTargetPoints, getTransformation, printPoints, setMappedPositions, setSourcePoints, setTargetPoints, toString
-
-
-
-
Constructor Detail
-
SimilarTransformBuilder
public SimilarTransformBuilder(List<MappedPosition> vectors) throws IllegalArgumentException, MismatchedDimensionException, MismatchedReferenceSystemException
Creates SimilarTransformBuilder for the set of properties. The List of MappedPosition is expected.- Parameters:
vectors
- list of MappedPosition- Throws:
IllegalArgumentException
MismatchedDimensionException
MismatchedReferenceSystemException
-
-
Method Detail
-
fillAMatrix
protected void fillAMatrix()
Description copied from class:ProjectiveTransformBuilder
Fills A matrix for m = (ATPA)-1 ATPx' equation- Overrides:
fillAMatrix
in classProjectiveTransformBuilder
-
getMinimumPointCount
public int getMinimumPointCount()
Returns the minimum number of points required by this builder, which is 2.- Overrides:
getMinimumPointCount
in classProjectiveTransformBuilder
- Returns:
- Returns the minimum number of points required by this builder, which is 2.
-
getProjectiveMatrix
protected GeneralMatrix getProjectiveMatrix()
Returns the matrix for Projective transformation setup as Affine. The M matrix looks like this:[ a -b Tx ] [ b a Ty ] [ 0 0 1 ]
- Overrides:
getProjectiveMatrix
in classProjectiveTransformBuilder
- Returns:
- Matrix M.
-
-