Abstract
An important topic for the image processing and pattern recognition community is the construction of open source and efficient libraries. An increasing number of software frameworks are said to be generic: they allow users to write reusable algorithms compatible with many input image types. However, this design choice is often made at the expense of performance. We present an approach to preserve efficiency in a generic image processing framework, by leveraging data types features. Variants of generic algorithms taking advantage of image types properties can be defined, offering an adjustable trade-off between genericity and efficiency. Our experiments show that these generic optimizations can match dedicated code in terms of execution times, and even sometimes perform better than routines optimized by hand.
Chapter PDF
Similar content being viewed by others
Keywords
References
Adobe: Generic Image Library (GIL), http://opensource.adobe.com/gil
Buckheit, J., Donoho, D.: WaveLab and reproducible research. Tech. Rep. 474, Stanford University, Stanford CA 94305, USA (1995)
Centre for Mathematical Morphology: Morph-M: Image processing software specialized in mathematical morphology, http://cmm.ensmp.fr/Morph-M/
Crozet, S., Géraud, T.: A first parallel algorithm to compute the morphological tree of shapes of nD images. In: Proceedings of the 21st IEEE International Conference on Image Processing, ICIP (2014)
Darbon, J., Géraud, T., Duret-Lutz, A.: Generic implementation of morphological image operators. In: Proceedings of the International Symposium on Mathematical Morphology (ISMM), pp. 175–184. Sciro Publishing (2002)
Dobie, M., Lewis, P.: Data structures for image processing in C. Pattern Recognition Letters 12(8), 457–466 (1991)
Fabri, A., Giezeman, G.J., Kettner, L., Schirra, S., Schönherr, S.: On the design of CGAL a computational geometry algorithms library. Software - Practice and Experience 30(11), 1167–1202 (2000)
Fomel, S., Claerbout, J.: Guest editors’ introduction: Reproducible research. Computing in Science and Engineering 11(1), 5–7 (2009)
Géraud, T., Carlinet, E., Crozet, S., Najman, L.: A quasi-linear algorithm to compute the tree of shapes of nD images. In: Hendriks, C.L.L., Borgefors, G., Strand, R. (eds.) ISMM 2013. LNCS, vol. 7883, pp. 98–110. Springer, Heidelberg (2013)
Géraud, T., Fabre, Y., Duret-Lutz, A., Papadopoulos-Orfanos, D., Mangin, J.F.: Obtaining genericity for image processing and pattern recognition algorithms. In: Proceedings of the 15th International Conference on Pattern Recognition (ICPR), vol. 4, pp. 816–819 (2000)
Géraud, T., Talbot, H., Van Droogenbroeck, M.: Algorithms for Mathematical Morphology. In: Mathematical Morphology—From Theory to Applications, ch. 12, pp. 323–353. ISTE & Wiley (2010)
Géraud, T., Fabre, Y., Duret-Lutz, A.: Applying generic programming to image processing. In: Proceedings of the IASTED International Conference on Applied Informatics (AI)—Symposium on Advances in Computer Applications, Innsbruck, Austria, pp. 577–581 (2001)
Ibáñez, L., Schroeder, W., Ng, L., Cates, J.: The ITK Software Guide. Kitware, Inc. (2005)
ISO/IEC: ISO/IEC 14882:2003 (e). Programming languages — C++ (2003)
Limare, N., Morel, J.-M.: The IPOL initiative: Publishing and testing algorithms on line for reproducible research in image processing. Procedia Computer Science 4, 716–725 (2011)
Jazayeri, M., Loos, R., Musser, D., Stepanov, A.: Report of the Dagstuhl seminar (98061) on generic programming (April 1998), http://www.dagstuhl.de/98171
Kohl, C., Mundy, J.: The development of the Image Understanding Environment. In: Proceedings of the International Conference on Computer Vision and Pattern Recognition, pp. 443–447 (1994)
Köthe, U.: Reusable software in computer vision. In: Jähne, B., Haussecker, H., Geißler, P. (eds.) Handbook of Computer Vision and Applications, vol. 3. Academic Press (1999)
Köthe, U.: STL-style generic programming with images. C++ Report 12(1), 24–30 (2000)
Levillain, R., Géraud, T., Najman, L.: Milena: Write generic morphological algorithms once, run on many kinds of images. In: Wilkinson, M.H.F., Roerdink, J.B.T.M. (eds.) ISMM 2009. LNCS, vol. 5720, pp. 295–306. Springer, Heidelberg (2009)
Levillain, R., Géraud, T., Najman, L.: Why and how to design a generic and efficient image processing framework: The case of the Milena library. In: Proceedings of the IEEE International Conference on Image Processing (ICIP), pp. 1941–1944 (2010)
Levillain, R., Géraud, T., Najman, L.: Writing reusable digital topology algorithms in a generic image processing framework. In: Köthe, U., Montanvert, A., Soille, P. (eds.) WADGMM 2010. LNCS, vol. 7346, pp. 140–153. Springer, Heidelberg (2012)
LRDE: The Olena image processing platform, http://olena.lrde.epita.fr
Ritter, G., Wilson, J., Davidson, J.: Image Algebra: an overview. Computer Vision, Graphics, and Image Processing 49(3), 297–331 (1990)
Siek, J., Lee, L.Q., Lumsdaine, A.: The Boost Graph Library. Addison Wesley Professional (2001)
Xu, Y., Géraud, T., Najman, L.: Context-based energy estimator: Application to object segmentation on the tree of shapes. In: Proceedings of the 19th IEEE International Conference on Image Processing (ICIP), Orlando, Florida, USA, pp. 1577–1580 (October 2012)
Xu, Y., Géraud, T., Najman, L.: Salient level lines selection using the Mumford-Shah functional. In: Proceedings of the 20th IEEE International Conference on Image Processing, ICIP (2013)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this paper
Cite this paper
Levillain, R., Géraud, T., Najman, L., Carlinet, E. (2014). Practical Genericity: Writing Image Processing Algorithms Both Reusable and Efficient. In: Bayro-Corrochano, E., Hancock, E. (eds) Progress in Pattern Recognition, Image Analysis, Computer Vision, and Applications. CIARP 2014. Lecture Notes in Computer Science, vol 8827. Springer, Cham. https://doi.org/10.1007/978-3-319-12568-8_9
Download citation
DOI: https://doi.org/10.1007/978-3-319-12568-8_9
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-12567-1
Online ISBN: 978-3-319-12568-8
eBook Packages: Computer ScienceComputer Science (R0)