From 874c5647bce859c0f1760ea2fb972cf781404b31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20Sch=C3=B6nberger?= Date: Sun, 17 Mar 2013 10:47:18 +0100 Subject: [PATCH 1/6] Replace scipy.ndimage routine with skimage.ndimage.rotate --- doc/examples/plot_regionprops.py | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/doc/examples/plot_regionprops.py b/doc/examples/plot_regionprops.py index 90b40a89..8a67f2ef 100644 --- a/doc/examples/plot_regionprops.py +++ b/doc/examples/plot_regionprops.py @@ -10,26 +10,19 @@ import math import matplotlib.pyplot as plt import numpy as np +from skimage.util import img_as_ubyte from skimage.draw import ellipse from skimage.morphology import label from skimage.measure import regionprops -from scipy.ndimage import geometric_transform +from skimage.transform import rotate -ANGLE = 0.2 - -def rotate(xy): - x, y = xy - out_x = math.cos(ANGLE) * x - math.sin(ANGLE) * y - out_y = math.sin(ANGLE) * x + math.cos(ANGLE) * y - return (out_x, out_y) - -image = np.zeros((600, 600), 'int') +image = np.zeros((600, 600)) rr, cc = ellipse(300, 350, 100, 220) image[rr,cc] = 1 -image = geometric_transform(image, rotate) +image = rotate(image, angle=15) > 0 label_img = label(image) props = regionprops(label_img, [ From 96f08e68d02cadd27436e39f4091541c44aba53e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20Sch=C3=B6nberger?= Date: Sun, 17 Mar 2013 10:48:59 +0100 Subject: [PATCH 2/6] Use nearest neighbour interpolation to avoid different labels --- doc/examples/plot_regionprops.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/examples/plot_regionprops.py b/doc/examples/plot_regionprops.py index 8a67f2ef..4a6cd966 100644 --- a/doc/examples/plot_regionprops.py +++ b/doc/examples/plot_regionprops.py @@ -22,7 +22,7 @@ image = np.zeros((600, 600)) rr, cc = ellipse(300, 350, 100, 220) image[rr,cc] = 1 -image = rotate(image, angle=15) > 0 +image = rotate(image, angle=15, order=0) label_img = label(image) props = regionprops(label_img, [ From 7f755e83db68cea7232b98eee318a41921aec5e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20Sch=C3=B6nberger?= Date: Sun, 17 Mar 2013 10:50:32 +0100 Subject: [PATCH 3/6] Remove unused import --- doc/examples/plot_regionprops.py | 1 - 1 file changed, 1 deletion(-) diff --git a/doc/examples/plot_regionprops.py b/doc/examples/plot_regionprops.py index 4a6cd966..5a8ea01c 100644 --- a/doc/examples/plot_regionprops.py +++ b/doc/examples/plot_regionprops.py @@ -10,7 +10,6 @@ import math import matplotlib.pyplot as plt import numpy as np -from skimage.util import img_as_ubyte from skimage.draw import ellipse from skimage.morphology import label from skimage.measure import regionprops From c475581aa2a42d22af6ecf59dfc779ae65c2fb76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20Sch=C3=B6nberger?= Date: Sun, 17 Mar 2013 10:54:05 +0100 Subject: [PATCH 4/6] Replace rotate function of local binary pattern example with builtin skimage function --- doc/examples/plot_local_binary_pattern.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/examples/plot_local_binary_pattern.py b/doc/examples/plot_local_binary_pattern.py index 85fd5b95..7071a894 100644 --- a/doc/examples/plot_local_binary_pattern.py +++ b/doc/examples/plot_local_binary_pattern.py @@ -12,7 +12,7 @@ each other using the Kullback-Leibler-Divergence. import numpy as np import matplotlib import matplotlib.pyplot as plt -import scipy.ndimage as nd +from skimage.transform import rotate import skimage.feature as ft from skimage import data @@ -59,11 +59,11 @@ refs = { # classify rotated textures print 'Rotated images matched against references using LBP:' print 'original: brick, rotated: 30deg, match result:', -print match(refs, nd.rotate(brick, angle=30, reshape=False)) +print match(refs, rotate(brick, angle=30, resize=False)) print 'original: brick, rotated: 70deg, match result:', -print match(refs, nd.rotate(brick, angle=70, reshape=False)) +print match(refs, rotate(brick, angle=70, resize=False)) print 'original: grass, rotated: 145deg, match result:', -print match(refs, nd.rotate(grass, angle=145, reshape=False)) +print match(refs, rotate(grass, angle=145, resize=False)) # plot histograms of LBP of textures fig, ((ax1, ax2, ax3), (ax4, ax5, ax6)) = plt.subplots(nrows=2, ncols=3, From 045f64a00d7863957a042ecb2ba4372324756b5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20Sch=C3=B6nberger?= Date: Sun, 17 Mar 2013 10:54:35 +0100 Subject: [PATCH 5/6] Explicitly import local_binary_pattern function --- doc/examples/plot_local_binary_pattern.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/examples/plot_local_binary_pattern.py b/doc/examples/plot_local_binary_pattern.py index 7071a894..5429df3a 100644 --- a/doc/examples/plot_local_binary_pattern.py +++ b/doc/examples/plot_local_binary_pattern.py @@ -13,7 +13,7 @@ import numpy as np import matplotlib import matplotlib.pyplot as plt from skimage.transform import rotate -import skimage.feature as ft +from skimage.feature import local_binary_pattern from skimage import data @@ -34,7 +34,7 @@ def kullback_leibler_divergence(p, q): def match(refs, img): best_score = 10 best_name = None - lbp = ft.local_binary_pattern(img, P, R, METHOD) + lbp = local_binary_pattern(img, P, R, METHOD) hist, _ = np.histogram(lbp, normed=True, bins=P + 2, range=(0, P + 2)) for name, ref in refs.items(): ref_hist, _ = np.histogram(ref, normed=True, bins=P + 2, @@ -51,9 +51,9 @@ grass = data.load('grass.png') wall = data.load('rough-wall.png') refs = { - 'brick': ft.local_binary_pattern(brick, P, R, METHOD), - 'grass': ft.local_binary_pattern(grass, P, R, METHOD), - 'wall': ft.local_binary_pattern(wall, P, R, METHOD) + 'brick': local_binary_pattern(brick, P, R, METHOD), + 'grass': local_binary_pattern(grass, P, R, METHOD), + 'wall': local_binary_pattern(wall, P, R, METHOD) } # classify rotated textures From f80cd8114b2a280e9af0df9fb12e5c8f68b1e470 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20Sch=C3=B6nberger?= Date: Sun, 17 Mar 2013 10:57:08 +0100 Subject: [PATCH 6/6] Replace ndimage.zoom function in radon transform example with builtin skimage function --- doc/examples/plot_radon_transform.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/examples/plot_radon_transform.py b/doc/examples/plot_radon_transform.py index efd8a776..adca8162 100644 --- a/doc/examples/plot_radon_transform.py +++ b/doc/examples/plot_radon_transform.py @@ -22,11 +22,11 @@ import matplotlib.pyplot as plt from skimage.io import imread from skimage import data_dir -from skimage.transform import radon, iradon -from scipy.ndimage import zoom +from skimage.transform import radon, iradon, rescale + image = imread(data_dir + "/phantom.png", as_grey=True) -image = zoom(image, 0.4) +image = rescale(image, scale=0.4) plt.figure(figsize=(8, 8.5))