[mmversion] [Up] [mminstall] | Installation and Software Evolution |
Implemented in Python.
count | Double Number of repetitions of each function. Default:
|
mmbench measures the speed of many of SDC Morphology Toolbox functions in seconds. An illustrative example of the output of
mmbench is, for a MS-Windows 2000 Pentium 4, 2.4GHz, 533MHz system bus, machine:
SDC Morphology Toolbox V1.2 27Sep02 Benchmark Made on Wed Jul 16 15:33:17 2003 computer= win32 image filename= csample.jpg width= 640 , height= 480 Function time (sec.) 1. Union bin 0.00939999818802 2. Union gray-scale 0.00319999456406 3. Dilation bin, mmsecross 0.0110000014305 4. Dilation gray, mmsecross 0.00780000686646 5. Dilation gray, non-flat 3x3 SE 0.0125 6. Open bin, mmsecross 0.0125 7. Open gray-scale, mmsecross 0.0141000032425 8. Open gray, non-flat 3x3 SE 0.0235000014305 9. Distance mmsecross 0.021899998188 10. Distance Euclidean 0.0264999985695 11. Geodesic distance mmsecross 0.028100001812 12. Geodesic distance Euclidean 0.303100001812 13. Area open bin 0.0639999985695 14. Area open gray-scale 0.148500001431 15. Label mmsecross 0.071899998188 16. Regional maximum, mmsecross 0.043700003624 17. Open by rec, gray, mmsecross 0.0515000104904 18. ASF by rec, oc, mmsecross, 1 0.090600001812 19. Gradient, gray-scale, mmsecross 0.0171999931335 20. Thinning 0.0984999895096 21. Watershed 0.268799996376 Average 0.0632523809161
def mmbench(count=10): from sys import platform from time import time, asctime from Numeric import average, zeros filename = 'csample.jpg' f = mmreadgray(filename) fbin=mmthreshad(f,150) se = mmimg2se(mmbinary([[0,1,0],[1,1,1],[0,1,0]]),'NON-FLAT',int32([[0,1,0],[1,2,1],[0,1,0]])) m=mmthin(fbin) tasks=[ [' 1. Union bin ','mmunion(fbin,fbin)'], [' 2. Union gray-scale ','mmunion(f,f)'], [' 3. Dilation bin, mmsecross ','mmdil(fbin)'], [' 4. Dilation gray, mmsecross ','mmdil(f)'], [' 5. Dilation gray, non-flat 3x3 SE ','mmdil(f,se)'], [' 6. Open bin, mmsecross ','mmopen(fbin)'], [' 7. Open gray-scale, mmsecross ','mmopen(f)'], [' 8. Open gray, non-flat 3x3 SE ','mmopen(f,se)'], [' 9. Distance mmsecross ','mmdist(fbin)'], ['10. Distance Euclidean ','mmdist(fbin,mmsebox(),"euclidean")'], ['11. Geodesic distance mmsecross ','mmgdist(fbin,m)'], ['12. Geodesic distance Euclidean ','mmgdist(fbin,m,mmsebox(),"euclidean")'], ['13. Area open bin ','mmareaopen(fbin,100)'], ['14. Area open gray-scale ','mmareaopen(f,100)'], ['15. Label mmsecross ','mmlabel(fbin)'], ['16. Regional maximum, mmsecross ','mmregmax(f)'], ['17. Open by rec, gray, mmsecross ','mmopenrec(f)'], ['18. ASF by rec, oc, mmsecross, 1 ','mmasfrec(f)'], ['19. Gradient, gray-scale, mmsecross ','mmgradm(f)'], ['20. Thinning ','mmthin(fbin)'], ['21. Watershed ','mmcwatershed(f,fbin)']] result = zeros((21),'d') for t in range(len(tasks)): print tasks[t][0],tasks[t][1] t1=time() for k in range(count): a=eval(tasks[t][1]) t2=time() result[t]= (t2-t1)/(count+0.0) print mmversion() +' Benchmark' print 'Made on ',asctime(),' computer=',platform print 'image filename=',filename,' width=', f.shape[1],', height=',f.shape[0] print ' Function time (sec.)' for j in range(21): print tasks[j][0], result[j] print ' Average ', average(result) out=[]
[mmversion] [Up] [mminstall] | ![]() |
Copyright (c) 2003, Roberto A. Lotufo, UNICAMP-University of Campinas; Rubens C. Machado, CenPRA-Renato Archer Research Center. |