{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,4,15]],"date-time":"2025-04-15T06:11:56Z","timestamp":1744697516838,"version":"3.30.2"},"reference-count":62,"publisher":"Wiley","issue":"6","license":[{"start":{"date-parts":[[2004,4,2]],"date-time":"2004-04-02T00:00:00Z","timestamp":1080864000000},"content-version":"vor","delay-in-days":0,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Concurrency and Computation"],"published-print":{"date-parts":[[2004,5]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Although many image processing applications are ideally suited for parallel implementation, most researchers in imaging do not benefit from high\u2010performance computing on a daily basis. Essentially, this is due to the fact that no parallelization tools exist that truly match the image processing researcher's frame of reference. As it is unrealistic to expect imaging researchers to become experts in parallel computing, tools must be provided to allow them to develop high\u2010performance applications in a highly familiar manner. In an attempt to provide such a tool, we have designed a software architecture that allows transparent (i.e. sequential) implementation of data parallel imaging applications for execution on homogeneous distributed memory MIMD\u2010style multicomputers. This paper presents an extensive overview of the design rationale behind the software architecture, and gives an assessment of the architecture's effectiveness in providing significant performance gains. In particular, we describe the implementation and automatic parallelization of three well\u2010known example applications that contain many fundamental imaging operations: (1) template matching; (2) multi\u2010baseline stereo vision; and (3) line detection. Based on experimental results we conclude that our software architecture constitutes a powerful and user\u2010friendly tool for obtaining high performance in many important image processing research areas. Copyright \u00a9 2004 John Wiley &amp; Sons, Ltd.<\/jats:p>","DOI":"10.1002\/cpe.765","type":"journal-article","created":{"date-parts":[[2004,4,2]],"date-time":"2004-04-02T16:01:23Z","timestamp":1080921683000},"page":"611-644","source":"Crossref","is-referenced-by-count":20,"title":["User transparency: a fully sequential programming model for efficient data parallel image processing"],"prefix":"10.1002","volume":"16","author":[{"given":"F. J.","family":"Seinstra","sequence":"first","affiliation":[]},{"given":"D.","family":"Koelma","sequence":"additional","affiliation":[]}],"member":"311","published-online":{"date-parts":[[2004,4,2]]},"reference":[{"key":"e_1_2_1_2_2","doi-asserted-by":"publisher","DOI":"10.1109\/2.121475"},{"key":"e_1_2_1_3_2","first-page":"1744","article-title":"A computer oriented towards spatial problems","volume":"46","author":"Unger SH","year":"1958","journal-title":"Proceedings of the Institute of Radio Engineers"},{"key":"e_1_2_1_4_2","doi-asserted-by":"crossref","unstructured":"van EijndhovenJTJet al.TriMedia CPU64 architecture.Proceedings of ICCD'99 Austin TX October1999;586\u2013592.","DOI":"10.1109\/ICCD.1999.808601"},{"key":"e_1_2_1_5_2","doi-asserted-by":"publisher","DOI":"10.1109\/5.503300"},{"key":"e_1_2_1_6_2","doi-asserted-by":"crossref","unstructured":"SaoudiA NivatM.Optimal parallel algorithms for multidimensional template matching and pattern matching.Proceedings of ICPIA'92 Ube Japan December1992;240\u2013246.","DOI":"10.1007\/3-540-56346-6_42"},{"key":"e_1_2_1_7_2","unstructured":"SeinstraFJ.User transparent parallel image processing.PhD Thesis Faculty of Science University of Amsterdam The Netherlands May2003."},{"key":"e_1_2_1_8_2","doi-asserted-by":"publisher","DOI":"10.1016\/0141-9331(95)01069-6"},{"key":"e_1_2_1_9_2","doi-asserted-by":"publisher","DOI":"10.1109\/83.366486"},{"key":"e_1_2_1_10_2","doi-asserted-by":"publisher","DOI":"10.1080\/00207219308907150"},{"key":"e_1_2_1_11_2","unstructured":"DraperBAet al.Implementing image applications on FPGAs.Proceedings of the 16th ICPR Quebec City Canada August2002;1381\u20131384."},{"key":"e_1_2_1_12_2","doi-asserted-by":"publisher","DOI":"10.1109\/79.826411"},{"key":"e_1_2_1_13_2","doi-asserted-by":"publisher","DOI":"10.1109\/40.848475"},{"key":"e_1_2_1_14_2","doi-asserted-by":"publisher","DOI":"10.1109\/40.755466"},{"key":"e_1_2_1_15_2","doi-asserted-by":"publisher","DOI":"10.1145\/242857.242865"},{"key":"e_1_2_1_16_2","doi-asserted-by":"publisher","DOI":"10.1016\/S1383-7621(98)00035-6"},{"key":"e_1_2_1_17_2","doi-asserted-by":"publisher","DOI":"10.1145\/506106.506115"},{"key":"e_1_2_1_18_2","unstructured":"SterlingTet al.BEOWULF: A parallel workstation for scientific computation.Proceedings of 24th ICPP Oconomowoc WI August1995;11\u201314."},{"key":"e_1_2_1_19_2","doi-asserted-by":"publisher","DOI":"10.1109\/2.121478"},{"key":"e_1_2_1_20_2","doi-asserted-by":"publisher","DOI":"10.1023\/A:1007997931146"},{"key":"e_1_2_1_21_2","doi-asserted-by":"publisher","DOI":"10.1016\/0167-8191(94)00068-L"},{"key":"e_1_2_1_22_2","doi-asserted-by":"publisher","DOI":"10.1016\/0167-8191(94)90021-3"},{"volume-title":"Scientific and Engineering Computation Series","year":"1994","author":"Geist A","key":"e_1_2_1_23_2"},{"key":"e_1_2_1_24_2","unstructured":"Message Passing Interface Forum.MPI: A message\u2010passing interface standard (version 1.1).Technical Report University of Tennessee Knoxville TN June1995."},{"key":"e_1_2_1_25_2","doi-asserted-by":"crossref","unstructured":"Chu\u2010CarrollM PollockL.Design and implementation of a general purpose parallel programming system.Proceedings of HPCN Europe'96 Brussels Belgium April1996;499\u2013507.","DOI":"10.1007\/3-540-61142-8_589"},{"volume-title":"Parallel Programming in OpenMP","year":"2000","author":"Chandra R","key":"e_1_2_1_26_2"},{"key":"e_1_2_1_27_2","unstructured":"OpenMP Architecture Review Board.OpenMP C and C++ Application Program Interface.Technical Report.http:\/\/www.openmp.org[October1998]."},{"key":"e_1_2_1_28_2","unstructured":"DentDet al.Implementation and performance of OpenMP in ECMWF's IFS code.Proceedings of Fifth European SGI\/Cray MPP Workshop Bologna Italy September1999."},{"key":"e_1_2_1_29_2","unstructured":"Gooz\u00e9eRJ JacobsPA.Distributed and shared memory parallelism with a smoothed particle hydrodynamics code.Proceedings of CTAC 2001 Brisbane Australia July2001."},{"key":"e_1_2_1_30_2","doi-asserted-by":"publisher","DOI":"10.1109\/88.219857"},{"key":"e_1_2_1_31_2","doi-asserted-by":"crossref","DOI":"10.7551\/mitpress\/5241.001.0001","volume-title":"Parallel Programming Using C++","author":"Wilson GV","year":"1996"},{"key":"e_1_2_1_32_2","unstructured":"ChandyKM KesselmanC.Compositional C++: Compositional parallel programming.Technical Report TR\u201092\u201013 California Institute of Technology 1992."},{"key":"e_1_2_1_33_2","doi-asserted-by":"publisher","DOI":"10.1109\/2.211896"},{"key":"e_1_2_1_34_2","doi-asserted-by":"publisher","DOI":"10.1109\/32.126768"},{"key":"e_1_2_1_35_2","doi-asserted-by":"publisher","DOI":"10.1109\/M-PDT.1994.329796"},{"volume-title":"Programming in Ada 95","year":"1995","author":"Barnes J","key":"e_1_2_1_36_2"},{"volume-title":"Programming in Occam 2","year":"1988","author":"Jones G","key":"e_1_2_1_37_2"},{"key":"e_1_2_1_38_2","doi-asserted-by":"publisher","DOI":"10.1109\/2.62090"},{"key":"e_1_2_1_39_2","doi-asserted-by":"publisher","DOI":"10.1109\/5.214548"},{"key":"e_1_2_1_40_2","doi-asserted-by":"crossref","unstructured":"AllenR JohnsonS.Compiling C for vectorization parallelization and inline expansion.Proceedings of PLDI 1988 Atlanta GA June1988;241\u2013249.","DOI":"10.1145\/960116.54014"},{"key":"e_1_2_1_41_2","doi-asserted-by":"publisher","DOI":"10.1109\/52.199740"},{"key":"e_1_2_1_42_2","doi-asserted-by":"publisher","DOI":"10.1016\/S0734-189X(89)80040-4"},{"key":"e_1_2_1_43_2","doi-asserted-by":"publisher","DOI":"10.1109\/2.121472"},{"issue":"3","key":"e_1_2_1_44_2","first-page":"176","article-title":"IAL: A parallel image processing programming language","volume":"137","author":"Crookes D","year":"1990","journal-title":"IEE Proceedings, Part I"},{"volume-title":"Handbook of Computer Vision Algorithms in Image Algebra","year":"1996","author":"Ritter GX","key":"e_1_2_1_45_2"},{"key":"e_1_2_1_46_2","doi-asserted-by":"publisher","DOI":"10.1016\/0262-8856(94)90017-5"},{"key":"e_1_2_1_47_2","unstructured":"SteeleJA.An abstract machine approach to environments for image interpretation on transputers.PhD Thesis Faculty of Science Queen's University of Belfast Northern Ireland May1994."},{"key":"e_1_2_1_48_2","doi-asserted-by":"crossref","unstructured":"TaniguchiRet al.Software platform for parallel image processing and computer vision.Proceedings of Parallel and Distributed Methods for Image Processing 1997;2\u201310.","DOI":"10.1117\/12.279614"},{"key":"e_1_2_1_49_2","doi-asserted-by":"crossref","unstructured":"KoelmaDet al.A software architecture for application driven high performance image processing.Proceedings of Parallel Distributed Methods for Image Processing 1997;340\u2013351.","DOI":"10.1117\/12.279632"},{"key":"e_1_2_1_50_2","doi-asserted-by":"publisher","DOI":"10.1002\/(SICI)1096-9128(199909)11:11<671::AID-CPE450>3.0.CO;2-6"},{"key":"e_1_2_1_51_2","doi-asserted-by":"crossref","unstructured":"MooreMSet al.A model\u2010integrated program synthesis environment for parallel\/real\u2010time image processing.Proceedings of Parallel Distributed Methods for Image Processing 1997;31\u201345.","DOI":"10.1117\/12.279633"},{"key":"e_1_2_1_52_2","doi-asserted-by":"publisher","DOI":"10.1016\/S0167-8191(02)00103-5"},{"key":"e_1_2_1_53_2","unstructured":"KoelmaDet al.Horus C++ reference 1.1.Technical Report Intelligent Sensory Information Systems Faculty of Science University of Amsterdam The Netherlands January2002."},{"volume-title":"The C++ Programming Language","year":"1997","author":"Stroustrup B","key":"e_1_2_1_54_2"},{"key":"e_1_2_1_55_2","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2002.1019863"},{"key":"e_1_2_1_56_2","unstructured":"BhoedjangRAF R\u00fchlT BalHE.LFC: A communication substrate for Myrinet.Proceedings of Fourth ASCI Conference Lommel Belgium June1998;31\u201337."},{"key":"e_1_2_1_57_2","unstructured":"KanadeT.Development of a video\u2010rate stereo machine.Proceedings of the 1994 DARPA Image Understanding Workshop November1994;549\u2013558."},{"key":"e_1_2_1_58_2","doi-asserted-by":"publisher","DOI":"10.1109\/34.206955"},{"key":"e_1_2_1_59_2","unstructured":"WebbJA.Implementation and performance of fast parallel multi\u2010baseline stereo vision.Proceedings of 1993 DARPA Image Understanding Workshop April1993;1005\u20131010."},{"key":"e_1_2_1_60_2","unstructured":"DindaPet al.The CMU task parallel program suite.Technical Report CMU\u2010CS\u201094\u2010131 School of Computer Science Carnegie Mellon University Pittsburgh PA 1994."},{"key":"e_1_2_1_61_2","doi-asserted-by":"publisher","DOI":"10.1002\/(SICI)1096-9128(199711)9:11<1193::AID-CPE334>3.0.CO;2-B"},{"key":"e_1_2_1_62_2","unstructured":"NicolescuC JonkerP.EASY\u2010PIPE\u2014an easy to use parallel image processing environment based on algorithmic skeletons.Proceedings of 15th IPDPS San Francisco CA 2001."},{"key":"e_1_2_1_63_2","doi-asserted-by":"publisher","DOI":"10.1023\/A:1011118718821"}],"container-title":["Concurrency and Computation: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fcpe.765","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/cpe.765","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,12,15]],"date-time":"2024-12-15T19:05:50Z","timestamp":1734289550000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/cpe.765"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2004,4,2]]},"references-count":62,"journal-issue":{"issue":"6","published-print":{"date-parts":[[2004,5]]}},"alternative-id":["10.1002\/cpe.765"],"URL":"https:\/\/doi.org\/10.1002\/cpe.765","archive":["Portico"],"relation":{},"ISSN":["1532-0626","1532-0634"],"issn-type":[{"type":"print","value":"1532-0626"},{"type":"electronic","value":"1532-0634"}],"subject":[],"published":{"date-parts":[[2004,4,2]]}}}