Medial Axis Transform Using Ridge Following

Medial Axis Transform Using Ridge Following

Missouri University of Science and Technology Scholars' Mine Computer Science Technical Reports Computer Science 01 Aug 1987 Medial Axis Transform using Ridge Following Richard Mark Volkmann Daniel C. St. Clair Missouri University of Science and Technology Follow this and additional works at: https://scholarsmine.mst.edu/comsci_techreports Part of the Computer Sciences Commons Recommended Citation Volkmann, Richard Mark and St. Clair, Daniel C., "Medial Axis Transform using Ridge Following" (1987). Computer Science Technical Reports. 80. https://scholarsmine.mst.edu/comsci_techreports/80 This Technical Report is brought to you for free and open access by Scholars' Mine. It has been accepted for inclusion in Computer Science Technical Reports by an authorized administrator of Scholars' Mine. This work is protected by U. S. Copyright Law. Unauthorized use including reproduction for redistribution requires the permission of the copyright holder. For more information, please contact [email protected]. MEDIAL AXIS TRANSFORM USING RIDGE FOLLOWING R. M. Volkmann* and D. C. St. Clair CSc 87-17 *This report is substantially the M.S. thesis of the first author, completed, August 1987 Page iii ABSTRACT The intent of this investigation has been to find a robust algorithm for generation of the medial axis transform (MAT). The MAT is an invertible, object centered, shape representation defined as the collection of the centers of disks contained in the shape but not in any other such disk. Its uses include feature extraction, shape smoothing, and data compression. MAT generating algorithms include brushfire, Voronoi diagrams, and ridge following. An improved implementation of the ridge following algorithm is given. Orders of the MAT generating algorithms are compared. The effects of the number of edges in the polygonal approximation, shape area, number of holes, and number/distribution of concave vertices are shown from test results. Finally, a set of useful extensions to the ridge following algorithm are discussed. Page iv ACKNOWLEDGEMENT I am indebted to Karl G. Kempf of INTEL Corporation for his guidance in this study. In addition, I would like to thank Daniel F. Mullen of Washington University, John A. Zammit of Digital Equipment Corporation, and Joseph L. Epplin, Kenneth F. Gerke, and Erwin W. Baumann of McDonnell Douglas Corporation for their useful insights into this work. Page v CONTENTS ABSTRACT................................................ iii ACKNOWLEDGEMENT ....................................... iv LIST OF ILLUSTRATIONS................................. vii LIST OF TABLES....................................... ix I. INTRODUCTION ................................... 1 A. Definition Of The Medial Axis Transform . 1 B. Work Motivation............................... 4 II. HISTORICAL........................................7 A. Applications Of The Medial Axis Transform . 7 1. Feature Extraction ........................... 7 2. Shape Smoothing.............................. 14 3. Data Compression.............................. 16 B. Methods Of Obtaining The Medial Ax i s ........... 18 1. Brushfire.................................... 19 2. Voronoi Diagrams ............................. 22 3. Ridge Following.............................. 27 C. Reconstruction Of Shape From M A T .............. 30 III. THEORETICAL APPROACH ........................... 33 A. Ridge Following Algorithm ................... 33 B. Finding A Point Inside A Polygon .............. 34 C. Determining Whether A Point Is Medial .... 36 D. Elimination Of Excess Medial Pixels ........ 43 IV. EXPERIMENTAL RESULTS ............................ 47 A. Varying Number Of E d g e s ...................... 47 B. Varying A r e a .................................. 55 C. Varying Number Of H o l e s ...................... 62 D. Varying Distribution Of Vertex Types ........ 64 V. CONCLUSION....................................... 70 A. Effect Of Shape Characteristics On Run Time . 70 B. Extensions To The Ridge Following Algorithm . 71 1. Medial Axis Of Shapes Containing Curves . 71 2. Medial Axis Of The Exterior Of Shapes .... 73 3. Three Dimensional Ridge Following .......... 74 REFERENCES............................................... 76 VITA ..................................................... 79 Page vi APPENDICES..............................................80 A. IMPLEMENTATION................................ 80 1. Definitions...................................80 a. Boundary_Map...................................80 b. Checked_Map...................................80 c. Contours.......................................81 d. Medial_Map.....................................81 e. Medial_Node...................................81 f. Vertex L i s t ...................................82 g. Vertex T y p e ...................................82 h. Segment Linked List (SLL) ...................... 82 i. Segment_Node...................................82 2. Input Required.................................84 3. The Algorithm.................................84 a. Detail Of Step 2 ............................... 86 b. Detail Of Step 3 ............................... 86 c. Detail Of Step 5 ............................... 87 d. Detail Of Step 9 ............................... 88 . Computing Vertex Types ...................... 88 . Computing Line Coefficients ................. 90 cr> cncr> . Determining Pixel Mediality ................ 90 a. Detail Of Step 2 92 b. Detail Of Step 4 ............................... 93 c. Detail Of Step 5 ............................... 94 7. Computing Distance Squared From A Pixel To An Edge........................................... 95 8. Determining Whether Two Edges Form A Concave A n g l e .........................................96 Page vii LIST OF ILLUSTRATIONS Figures Page 1. Non-unique closest points on the shape............ 2 2. Maximal disks of a shape.......................... 3 3. External medial axis transform.................... 5 4. Medial point types................................. 9 5. Medial axis transform of a deformed torus......... 10 6. Medial axis branch primitive types................ 12 7. Variations of the primitive types................. 13 8. Significance of shape features.................... 15 9. Ho and Dyer shape smoothing example............... 17 10. Spread of brushfire in a shape.................... 20 11. Voronoi diagram of a point set.................... 23 12. Voronoi diagram of the interior of a polygon...... 25 13. Medial axis transform of the polygon in Fig. 12.... 26 14. Inversion of a brushfire MAT...................... 29 15. Distance from a point to a line segment........... 38 16. Concave angle special case........................ 39 17. A shape that the DeSouza and Houghton ridge following algorithm cannot handle.................. 41 18. Lower bound on the distance from point C to line... 42 segment AB. 19. Plot of CPU time for initialization when the number of edges is varied................................ 50 20. Plot of CPU time to find the first medial point when the number of edges is varied................. 51 Page viii 21. Plot of CPU time to find the remaining medial points when the number of edges is varied......... 52 22. Plot of CPU time to thin when the number of edges is varied.......................................... 53 23. Plot of total CPU time when the number of edges is varied............................................. 54 24. Plot of CPU time for initialization when the shape area is varied..................................... 57 25. Plot of CPU time to find the first medial point when the shape area is varied..................... 58 26. Plot of CPU time to find the remaining medial points when the shape area is varied............. 59 27. Plot of CPU time to thin when the shape area is varied............................................. 60 28. Plot of total CPU time when the shape area is varied............................................. 61 29. Two of the shapes used to test the effect of varying the number of holes on the run time of the ridge following algorithm.......................... 63 30. Plot of total CPU time when the number of holes is varied............................................. 65 31. Three of the shapes used to test the effect of varying the distribution of vertex types on the run time of the ridge following algorithm............. 68 32. Plot of total CPU time when the number/distribution of concave vertices is varied 69 Page ix LIST OF TABLES Tables Page I. Detailed Information on Sections of the Ridge Following Algorithm................................. 72 Page 1 I INTRODUCTION I.A Definition Of The Medial Axis Transform The medial axis transform (MAT) is an invertible, object centered, shape representation. It is defined as the locus of points (called medial points) that do not have a unique closest point on the shape boundary. Each of these medial points is annotated with the shortest distance to the shape boundary. In Fig. 1, the triangles represent holes in the shape and the thick curves represent the MAT of the shape. Points B and C are the non-unique closest points on the shape boundary to the medial point A. The dashed circle represents the maximal disk of the medial point A. Alternately the MAT can be defined in 2-D as the collection of the centers of maximal disks. Maximal disks are disks that cannot be fully contained by any other disk inside the shape. In Fig. 2, the MAT of a rectangle is shown by dashed lines. Some of the maximal disks on the left side of the rectangle

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    108 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us