From 82d20ca694c0ceb4b6ad3bbc0fb0856acbf629b9 Mon Sep 17 00:00:00 2001 From: Olivier Debeir Date: Thu, 18 Oct 2012 09:18:01 +0200 Subject: [PATCH] moved example to doc --- doc/examples/plot_16bitbilateral.py | 33 +++++++++++++++ .../examples/plot_benchmark_rank.py | 41 +++++++++++++++---- skimage/rank/local/demo_16bitbilateral.py | 31 -------------- 3 files changed, 65 insertions(+), 40 deletions(-) create mode 100644 doc/examples/plot_16bitbilateral.py rename skimage/rank/local/demo_benchmark.py => doc/examples/plot_benchmark_rank.py (85%) delete mode 100644 skimage/rank/local/demo_16bitbilateral.py diff --git a/doc/examples/plot_16bitbilateral.py b/doc/examples/plot_16bitbilateral.py new file mode 100644 index 00000000..f61f3c55 --- /dev/null +++ b/doc/examples/plot_16bitbilateral.py @@ -0,0 +1,33 @@ +""" +============================== +Simplified bilateral filtering +============================== + +to complete + +""" +import numpy as np +import matplotlib.pyplot as plt + +from skimage import data +from skimage.morphology import disk +import skimage.rank as rank + +a8 = (data.coins()).astype('uint8') + +a16 = (data.coins()).astype('uint16')*16 +selem = np.ones((20,20),dtype='uint8') +f1 = rank.percentile_mean(a8,selem = selem,p0=.1,p1=.9) +f2 = rank.bilateral_mean(a16,selem = selem,s0=500,s1=500) +selem = disk(50) +f3 = rank.equalize(a16,selem = selem) + +# display results +fig, axes = plt.subplots(nrows=3, figsize=(15,5)) +ax0, ax1, ax2 = axes + +ax0.imshow(np.hstack((a8,f1))) +ax1.imshow(np.hstack((a16,f2))) +ax2.imshow(np.hstack((a16,f3))) + +plt.show() diff --git a/skimage/rank/local/demo_benchmark.py b/doc/examples/plot_benchmark_rank.py similarity index 85% rename from skimage/rank/local/demo_benchmark.py rename to doc/examples/plot_benchmark_rank.py index d3c3d00a..dab2f8d4 100644 --- a/skimage/rank/local/demo_benchmark.py +++ b/doc/examples/plot_benchmark_rank.py @@ -1,3 +1,20 @@ +""" +============================== +Compare execution time for + - skimage.rank.median, + - skimage.filter import median_filter + - scipy.ndimage.filters import percentile_filter, + + and + + - skimage.cmorph.dilate + - skimage.rank.maximum + +============================== + +to complete + +""" import numpy as np import matplotlib.pyplot as plt import time @@ -17,7 +34,6 @@ def log_timing(func): res = func(*arg) t2 = time.time() ms = (t2-t1)*1000.0 - print '%s took %0.3f ms' % (func.func_name, ms) return (res,ms) return wrapper @@ -26,6 +42,14 @@ def log_timing(func): def cr_med(image,selem): return rank.median(image=image,selem = selem) +@log_timing +def cr_max(image,selem): + return rank.maximum(image=image,selem = selem) + +@log_timing +def cm_dil(image,selem): + return dilation(image=image,selem = selem) + @log_timing def ctmf_med(image,radius): return median_filter(image=image,radius=radius) @@ -46,13 +70,12 @@ def compare_dilate(): rec = [] e_range = range(1,20,1) for r in e_range: -# elem = np.ones((r,r),dtype='uint8') elem = disk(r+1) # elem = (np.random.random((r,r))>.5).astype('uint8') rc,ms_rc = cr_max(a,elem) rcm,ms_rcm = cm_dil(a,elem) rec.append((ms_rc,ms_rcm)) - # check if results are identical + # same structuring element, the results must match assert (rc==rcm).all() rec = np.asarray(rec) @@ -65,7 +88,6 @@ def compare_dilate(): plt.imshow(np.hstack((rc,rcm))) r = 9 -# elem = np.ones((r,r),dtype='uint8') elem = disk(r+1) rec = [] @@ -75,6 +97,7 @@ def compare_dilate(): (rc,ms_rc) = cr_max(a,elem) (rcm,ms_rcm) = cm_dil(a,elem) rec.append((ms_rc,ms_rcm)) + # same structuring element, the results must match assert (rc==rcm).all() rec = np.asarray(rec) @@ -86,7 +109,6 @@ def compare_dilate(): plt.figure() plt.imshow(np.hstack((rc,rcm))) - plt.show() def compare_median(): """ Comparison between @@ -145,7 +167,8 @@ def compare_median(): plt.ylabel('time (ms)') plt.xlabel('image size') - plt.show() -if __name__ == '__main__': -# compare_dilate() - compare_median() \ No newline at end of file + + +compare_dilate() +compare_median() +plt.show() diff --git a/skimage/rank/local/demo_16bitbilateral.py b/skimage/rank/local/demo_16bitbilateral.py deleted file mode 100644 index 85fd510c..00000000 --- a/skimage/rank/local/demo_16bitbilateral.py +++ /dev/null @@ -1,31 +0,0 @@ -import numpy as np -import matplotlib.pyplot as plt - -from skimage import data -from skimage.morphology import disk -import skimage.rank as rank - -if __name__ == '__main__': - a8 = (data.coins()).astype('uint8') - - a16 = (data.coins()).astype('uint16')*16 - selem = np.ones((20,20),dtype='uint8') - f1 = rank.percentile_mean(a8,selem = selem,p0=.1,p1=.9) - f2 = rank.bilateral_mean(a16,selem = selem,s0=500,s1=500) - - selem = disk(50) - f3 = rank.equalize(a16,selem = selem) - - plt.figure() - plt.imshow(np.hstack((a8,f1))) - plt.colorbar() - - plt.figure() - plt.imshow(np.hstack((a16,f2))) - plt.colorbar() - - plt.figure() - plt.imshow(np.hstack((a16,f3))) - plt.colorbar() - - plt.show()