Add test case for explicit use of radii and sigmas parameters

This commit is contained in:
Johannes Schönberger
2013-11-22 12:46:41 +01:00
parent 5b3c21a4d4
commit 43f6ae9a2c
2 changed files with 12 additions and 5 deletions
+4 -4
View File
@@ -94,15 +94,15 @@ def daisy(img, step=4, radius=15, rings=3, histograms=8, orientations=8,
'''
# Validate image format.
if img.ndim > 2:
if img.ndim != 2:
raise ValueError('Only grey-level images are supported.')
if img.dtype.kind != 'f':
img = img_as_float(img)
img = img_as_float(img)
# Validate parameters.
if sigmas is not None and ring_radii is not None \
and len(sigmas) - 1 != len(ring_radii):
raise ValueError('len(sigmas)-1 != len(ring_radii)')
raise ValueError('`len(sigmas)-1 != len(ring_radii)`')
if ring_radii is not None:
rings = len(ring_radii)
radius = ring_radii[-1]
+8 -1
View File
@@ -45,8 +45,15 @@ def test_descs_shape():
assert(descs.shape[1] == ceil((img.shape[1] - radius * 2) / float(step)))
def test_daisy_sigmas_and_radii():
img = img_as_float(data.lena()[:64, :64].mean(axis=2))
sigmas = [1, 2, 3]
radii = [1, 2]
daisy(img, sigmas=sigmas, ring_radii=radii)
def test_daisy_incompatible_sigmas_and_radii():
img = img_as_float(data.lena()[:128, :128].mean(axis=2))
img = img_as_float(data.lena()[:64, :64].mean(axis=2))
sigmas = [1, 2]
radii = [1, 2]
assert_raises(ValueError, daisy, img, sigmas=sigmas, ring_radii=radii)