From 9d585aedef94173cab5150917f80bf66133215cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20Sch=C3=B6nberger?= Date: Sat, 30 Nov 2013 11:17:02 +0100 Subject: [PATCH] Add test cases for feature utilities --- skimage/feature/tests/test_util.py | 37 +++++++++++++++++++++++++++++- skimage/feature/util.py | 6 ----- 2 files changed, 36 insertions(+), 7 deletions(-) diff --git a/skimage/feature/tests/test_util.py b/skimage/feature/tests/test_util.py index 6e56d0dd..6f3f78e1 100644 --- a/skimage/feature/tests/test_util.py +++ b/skimage/feature/tests/test_util.py @@ -1,5 +1,40 @@ import numpy as np -from numpy.testing import assert_array_equal +from numpy.testing import assert_equal, assert_raises +from skimage.feature.util import (FeatureDetector, DescriptorExtractor, + _prepare_grayscale_input_2D, + _mask_border_keypoints) + + +def test_feature_detector(): + assert_raises(NotImplementedError, FeatureDetector().detect, None) + + +def test_descriptor_extractor(): + assert_raises(NotImplementedError, DescriptorExtractor().extract, + None, None) + + +def test_prepare_grayscale_input_2D(): + assert_raises(ValueError, _prepare_grayscale_input_2D, np.zeros((3, 3, 3))) + assert_raises(ValueError, _prepare_grayscale_input_2D, np.zeros((3, 1))) + assert_raises(ValueError, _prepare_grayscale_input_2D, np.zeros((3, 1, 1))) + img = _prepare_grayscale_input_2D(np.zeros((3, 3))) + img = _prepare_grayscale_input_2D(np.zeros((3, 3, 1))) + img = _prepare_grayscale_input_2D(np.zeros((1, 3, 3))) + + +def test_mask_border_keypoints(): + keypoints = np.array([[0, 0], [1, 1], [2, 2], [3, 3], [4, 4]]) + assert_equal(_mask_border_keypoints((10, 10), keypoints, 0), + [1, 1, 1, 1, 1]) + assert_equal(_mask_border_keypoints((10, 10), keypoints, 2), + [0, 0, 1, 1, 1]) + assert_equal(_mask_border_keypoints((4, 4), keypoints, 2), + [0, 0, 1, 0, 0]) + assert_equal(_mask_border_keypoints((10, 10), keypoints, 5), + [0, 0, 0, 0, 0]) + assert_equal(_mask_border_keypoints((10, 10), keypoints, 4), + [0, 0, 0, 0, 1]) if __name__ == '__main__': diff --git a/skimage/feature/util.py b/skimage/feature/util.py index d3945554..3d84298a 100644 --- a/skimage/feature/util.py +++ b/skimage/feature/util.py @@ -5,9 +5,6 @@ from skimage.util import img_as_float class FeatureDetector(object): - def __init__(self): - raise NotImplementedError() - def detect(self, image): """Detect keypoints in image. @@ -22,9 +19,6 @@ class FeatureDetector(object): class DescriptorExtractor(object): - def __init__(self): - raise NotImplementedError() - def extract(self, image, keypoints): """Extract feature descriptors in image for given keypoints.