Source code for ewoksndreg.tests.test_match_numpy
import numpy
from ..features.features import NumpyKeypointFeatures
from ..features.matching.numpy_backend import match_keypoints
from ..io import data_for_registration
[docs]
def test_match_keypoints():
image = data_for_registration.generate_image()
rs = numpy.random.RandomState(seed=100)
p0 = rs.uniform(0, image.shape[0], 10)
p1 = rs.uniform(0, image.shape[1], 10)
coordinates = numpy.array([p0, p1])
features1 = NumpyKeypointFeatures(coordinates.T)
ridx = numpy.arange(10)
rs.shuffle(ridx)
features2 = NumpyKeypointFeatures(coordinates.T[ridx])
idx = match_keypoints(features1, features1, image, image)
idx1, idx2 = idx.T
sidx = numpy.argsort(idx1)
numpy.testing.assert_array_equal(idx1[sidx], numpy.arange(10))
numpy.testing.assert_array_equal(idx2[sidx], numpy.arange(10))
idx = match_keypoints(features1, features2, image, image)
idx1, idx2 = idx.T
sidx = numpy.argsort(idx1)
numpy.testing.assert_array_equal(idx1[sidx], numpy.arange(10))
numpy.testing.assert_array_equal(idx2[sidx], numpy.argsort(ridx))