Source code for ewoksndreg.tests.test_transformation_parameter
import numpy
from ..transformation.homography import Homography
from ..transformation.homography import matrix_from_params
from ..transformation.homography import params_from_trans
[docs]
def test_parameter_conversion():
matrix = numpy.identity(3)
trafo = Homography(matrix)
numpy.testing.assert_allclose(
trafo.passive_matrix,
matrix_from_params(
params_from_trans(trafo), trafo.transformation_type.identity
),
)
matrix[0:2, 2] = [1, 2]
trafo = Homography(matrix)
numpy.testing.assert_allclose(
trafo.passive_matrix,
matrix_from_params(
params_from_trans(trafo), trafo.transformation_type.translation
),
)
matrix[0, 0] = numpy.cos(0.1)
matrix[1, 0] = numpy.sin(0.1)
matrix[0, 1] = -numpy.sin(0.1)
matrix[1, 1] = numpy.cos(0.1)
trafo = Homography(matrix)
numpy.testing.assert_allclose(
trafo.passive_matrix,
matrix_from_params(params_from_trans(trafo), trafo.transformation_type.rigid),
)
matrix[1, 1] *= 1.1
trafo = Homography(matrix)
numpy.testing.assert_allclose(
trafo.passive_matrix,
matrix_from_params(params_from_trans(trafo), trafo.transformation_type.affine),
)
matrix[2, 0] = 0.1
trafo = Homography(matrix)
numpy.testing.assert_allclose(
trafo.passive_matrix,
matrix_from_params(
params_from_trans(trafo), trafo.transformation_type.projective
),
)