University of Arizona
Total Page:16
File Type:pdf, Size:1020Kb
The Efficiency of Portable Image Processing Software Item Type text; Dissertation-Reproduction (electronic) Authors Stevens, William Richard Publisher The University of Arizona. Rights Copyright © is held by the author. Digital access to this material is made possible by the University Libraries, University of Arizona. Further transmission, reproduction or presentation (such as public display or performance) of protected items is prohibited except with permission of the author. Download date 25/09/2021 08:01:48 Link to Item http://hdl.handle.net/10150/143051 INFORMATION TO USERS This reproduction was made from a copy of a document sent to us for microfilming. While the most advanced technology has been used to photograph and reproduce this document, the quality of the reproduction is heavily dependent upon the quality of the material submitted. The following explanation of techniques is provided to help clarify markings or notations which may appear on this reproduction. I. The sign or "target" for pages apparently lacking from the document photographed is "Missing Page(s)". If it was possible to obtain the missing page(s) or section, they are spliced into the film along with adjacent pages. This may have necessitated cutting through an image and duplicating adjacent pages to assure complete continuity. 2. When an image on the film is obliterated with a round black mark, it is an indication of either blurred copy because of movement during exposure, duplicate copy , or copyrighted materials that should not have been filmed. For blurred pages, a good image of the page can be found in the adjacent frame. If copyrighted materials were deleted, a target note will appear listing the pages in the adjacent frame. 3. When a map, drawing or chart, etc., is part of the material being photographed, a definite method of "sectioning" the material has been followed. It is customary to begin filming at the upper left hand corner of a large sheet and to continue from left to right in equal sections with small overlaps. If necessary, sectioning is continued again-beginning below the first row and continuing on until complete. 4. For illustrations that cannot be satisfactorily reproduced by xerographic means, photographic prints can be purchased at additional cost and inserted into your xerographic copy. These prints are available upon request from the Dissertations Customer Services Department. 5. Some pages in any dO~ltIl1ent may have indistinct print. In all cases the best available copy has been filmed. University MicrOfilms International 300 N. Zeeb Road Ann Arbor, MI48106 8304728 Stevens, William Richard THE EFFICIENCY OF PORTABLE IMAGE PROCESSING SOFfWARE The University ofArizona PHD. 1982 University Microfilms International 300 N. Zeeb Road, Ann Arbor, MI 48106 Copyright 1982 by Stevens, William Richard All Rights Reserved THE EFFICIENCY OF PORTABLE IMAGE PROCESSING SOFTI1ARE by William Richard Stevens A Dissertation Submitted to the Faculty of the DEPARTMENT OF SYSTEMS AND INDUSTRIAL ENGINEERING In Partial Fulfillment of the Requirements For the Degree of DOCTOR OF PHILOSOPHY WITH A MAJOR IN SYSTEMS ENGINEERING In the Graduate College THE UNIVERSITY OF ARIZONA 1 982 ~copyright 1982 William Richard Stevens THE UNIVERSITY OF ARIZONA GRADUATE COLLEGE As members of the Final Examination Committee, we certify that we have read the dissertation prepared by William Richard Stevens entitled The Efficiency of Portable Image Processing Software ----------------~~---------------------------------------------- and recommend that it be accepted as fulfilling the dissertation requirement for the Degree of Doctor of Philosophy /4///// ff/" e~W:~ Date Date Date !(z¢2- Date I ) Final approval and acceptance of this dissertation is contingent upon the candidate's submission of the final copy of the dissertation to the Graduate College. I hereby certify that I have read this dissertation prepared under my direction and recommend that it be accepted as fulfilling the dissertation requirem~ ~ / / / .-- /' ./~/~ V / , "," ~/.«- ~ //-2·Y- PZ /Oissertation D~fector Date STATEMENT BY AUTHOR This dissertation has been submitted in partial ful fillment of requirements for an advanced degree at 1~e University of Arizona and is deposited in the University Library to be made available to borrowers under rules of the Library. Brief quotations from this dissertation are allowed without special permission, provided that accurate ack nowledgement of source is made. Requests for permission for extended quotation from or reproduction of this manuscript in whole or part may be granted by the copyright holder. SIGNED: M~ BJ2CtAd ~~ PREFACE For a variety of reasons, the image processing com munity has ignored many of the advances that have been made in software engineering during the past decade. An absolute requirement for efficiency is often given as a reason for ignoring factors such as portability and ease of use when image processing software systems are developed. It is unusual to find an image processing laboratory that is mak ing extensive use of software developed elsewhere. The standard approach is to re-invent the wheel (or a substan tial portion of it) at each laboratory. When I chose a doctoral specialization of image pro cessing, it was not my intent to get involved in research on software systems. However, my first experiences in image processing laboratories showed how much effort was required to experiment with simple image operations using the stan dard software. Some research showed this to be a common problem in the image processing field as a whole, not just the laboratories I was involved with. In a field as depen dent on computers as the image processing field, the com puter must be a tool to help in performing the work, not a stumbling block. The largest influence on my research in this field, and on this dissertation, is the Unix operating system and iii iv its "Software Tools" philosophy. The simplicity, elegance and power of Unix should not be as foreign or radical as some find it to be. My sincere thanks must be giv~n to my adviser, Dr. Bobby R. Hunt, for his understanding, encouragement, help and support during the past four years. He, and the environment provided by his laboratory, have made my gradu ate studies enjoyable. I must also thank him for his belief that it is indeed possible to develop and write a Ph.D. dissertation while working full time. There have been other important influences in my graduate career. Dr. David R. Hanson provided much help over the past years, especially with the Unix operating sys tem and the Software Tools system. He always answered my electronic mail quickly, and his thorough review of this dissertation is greatly appreciated. I thank Dr. Robert Schowengerdt for his help in understanding the applications of image processing to the Remote Sensing field. Since it is customary for one to thank their typist for a document of this size, I must thank Richard Stevens for his accurate and timely generation of this dissertation. The Unix text processj.ng system has made the preparation of this manuscript enjoyable. Last, but most importantly, I thank my wife Sally for putting up with all that was required while I completed v my gradua~e studies. Her love, understanding and support made possible the completion of this work. This disserta tion is dedicated to my son, Bill, who was born while I was in the middle of my dissertation research. His perpetual smile and joy at the end of a long day made it all worthwhile. For the record, Unix is a trademark of Bell Labora tories, ldris is a trademark of Whitesmiths, Ltd., and PDP, RSX, lAS, RSTS, VAX, VMS and VNIBUS and MASSBUS are trade marks of Digital Equipment Corporation. TABLE OF CONTENTS Page LIST OF TABLES .••.••••.••••.•.•...•..•..•..•••••......• vJ.J.J. LIST OF ILLUSTRATIONS •.•••.••.•••...••••..•.•..•..•..•. ix ABSTRACT x CHAPTER 1. INTRODUC'l'ION 1 2. PREVIOUS RESEARCH IN THE FIELD ..•••.•.•••••.••••..• 6 3. THE DESIGN OF AN IMAGE PROCESSING SYSTEM •.•..•..... 14 3.1 Design Considerations •.••••••••...••••.•..•• 14 3.2 Image Input and Output .....•••....••.•••.•.. 16 3.3 Programmer Interface •..•••••...•••••.•....•. 19 3.4 Command Language ••••.•..••.•.•.•......•..•.. 20 3.5 Image Format................................ 24 4. THE P0~TABILITY OF AN IMAGE PROCESSING SYSTEM ..•••• 31 4.1 Fortran and Ratfor ••••.....•••••••••••..•... 32 4.2 Image Primitives............................ 33 4.3 Portability Using C ......................... 38 4.4 Input and Output............................ 45 4.5 Adis Implementations ••••...••...•....••.•... 46 5. THE EFFICIENCY OF AN IMAGE PROCESSING SYSTEM •..•..• 51 5.1 Efficiency Using Fortran ...•.••.•.•......... 51 5.2 Efficiency Using C ...........•.............. 52 5.3 Image Input and Output .•...•...•••....•..... 57 6. SOFTWARE PIPELINES IN IMAGE PROCESSING ...•.......•. 60 6.1 Software Pipelines ...•.•...•.•..••••••.••.•. 61 6.2 A Simple Example............................ 63 6.3 A Large Example............................. 67 6.4 An Al terna te Approach ...••.•.............•.. 71 6.5 Adis Implementation •.•.....•...•............ 71 vi vii 7. THE ANALYSIS OF AN IMAGE PROCESSING SYSTEM 75 8. PERFORMANCE MEASUREMENTS 85 8.1 VAX/VMS 87 8.2 VAX-II Unix 91 8.3 RSX-IIM 96 8.4 PDP-II Unix 98 9. SUMMARY 104 9.1 Problems Encountered ••••••••••••••••• 104 9.2 Recommendations ••••.• 106 9.3 Possible Adis Improvements 107 REFERENCES 109 LIST OF TABLES Table Page 4.1 Existing Adis implementations ....................