Practical Genericity: Writing Image Processing Algorithms Both Reusable and Efficient
From LRDE
- Authors
- Roland Levillain, Thierry Géraud, Laurent Najman, Edwin Carlinet
- Where
- Progress in Pattern Recognition, Image Analysis, Computer Vision, and Applications – Proceedings of the 19th Iberoamerican Congress on Pattern Recognition (CIARP)
- Place
- Puerto Vallarta, Mexico
- Type
- inproceedings
- Publisher
- Springer-Verlag
- Projects
- Olena
- Date
- 2014-09-10
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. Digital Topology software should reflect the generality of the underlying mathematics: mapping the latter to the former requires genericity. By designing generic solutions, one can effectively reuse digital topology data structures and algorithms. We propose an image processing framework focused on the Generic Programming paradigm in which an algorithm on the paper can be turned into a single codewritten once and usable with various input types. This approach enables users to design and implement new methods at a lower cost, try cross-domain experiments and help generalize results.
Documents
Bibtex (lrde.bib)
@InProceedings{ levillain.14.ciarp, author = {Roland Levillain and Thierry G\'eraud and Laurent Najman and Edwin Carlinet}, title = {Practical Genericity: {W}riting Image Processing Algorithms Both Reusable and Efficient}, booktitle = {Progress in Pattern Recognition, Image Analysis, Computer Vision, and Applications -- Proceedings of the 19th Iberoamerican Congress on Pattern Recognition (CIARP)}, address = {Puerto Vallarta, Mexico}, month = nov, year = {2014}, pages = {70--79}, editor = {Eduardo Bayro and Edwin Hancock}, publisher = {Springer-Verlag}, series = {Lecture Notes in Computer Science}, volume = {8827}, 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. Digital Topology software should reflect the generality of the underlying mathematics: mapping the latter to the former requires genericity. By designing generic solutions, one can effectively reuse digital topology data structures and algorithms. We propose an image processing framework focused on the Generic Programming paradigm in which an algorithm on the paper can be turned into a single code, written once and usable with various input types. This approach enables users to design and implement new methods at a lower cost, try cross-domain experiments and help generalize results.}, keywords = {Generic Programming, Image Processing, Performance, Olena}, doi = {10.1007/978-3-319-12568-8_9} }