{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,25]],"date-time":"2026-02-25T17:58:57Z","timestamp":1772042337968,"version":"3.50.1"},"publisher-location":"Cham","reference-count":35,"publisher":"Springer International Publishing","isbn-type":[{"value":"9783030239862","type":"print"},{"value":"9783030239879","type":"electronic"}],"license":[{"start":{"date-parts":[[2019,1,1]],"date-time":"2019-01-01T00:00:00Z","timestamp":1546300800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"},{"start":{"date-parts":[[2019,1,1]],"date-time":"2019-01-01T00:00:00Z","timestamp":1546300800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2019]]},"DOI":"10.1007\/978-3-030-23987-9_12","type":"book-chapter","created":{"date-parts":[[2019,6,28]],"date-time":"2019-06-28T12:02:51Z","timestamp":1561723371000},"page":"121-137","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":4,"title":["An Image Processing Library in Modern C++: Getting Simplicity and Efficiency with Generic Programming"],"prefix":"10.1007","author":[{"given":"Micha\u00ebl","family":"Roynard","sequence":"first","affiliation":[]},{"given":"Edwin","family":"Carlinet","sequence":"additional","affiliation":[]},{"given":"Thierry","family":"G\u00e9raud","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2019,6,29]]},"reference":[{"key":"12_CR1","unstructured":"Generic Graphic Library"},{"issue":"1\u20132","key":"12_CR2","doi-asserted-by":"publisher","first-page":"110","DOI":"10.1016\/j.future.2003.09.002","volume":"22","author":"G Berti","year":"2006","unstructured":"Berti, G.: GrAL-the grid algorithms library. Future Gener. Comput. Syst. 22(1\u20132), 110\u2013122 (2006)","journal-title":"Future Gener. Comput. Syst."},{"key":"12_CR3","unstructured":"Bourdev, L., Jin, H.: Boost generic image library. In: Adobe Stlab (2006). Available at https:\/\/stlab.adobe.com\/gil\/index.html"},{"key":"12_CR4","first-page":"122","volume":"120","author":"G Bradski","year":"2000","unstructured":"Bradski, G.: The OpenCV Library. Dr. Dobb\u2019s J. Softw. Tools 120, 122\u2013125 (2000)","journal-title":"Dr. Dobb\u2019s J. Softw. Tools"},{"key":"12_CR5","unstructured":"Carlinet, E., et al.: Pylena: a modern C++ image processing generic library. EPITA Research and Developement Laboratory (2018). Available at https:\/\/gitlab.lrde.epita.fr\/olena\/pylene"},{"key":"12_CR6","unstructured":"Carter, C., Niebler, E.: Standard library concepts June 2018. https:\/\/wg21.link\/p0898r3"},{"key":"12_CR7","unstructured":"Coeurjolly, D., Lachaud, J.O.: DGtal: Digital geometry tools and algorithms library. http:\/\/dgtal.org"},{"key":"12_CR8","unstructured":"Darbon, J., G\u00e9raud, T., Duret-Lutz, A.: Generic implementation of morphological image operators. In: Proceedings of the 6th International Symposium of Mathematical Morphology (ISMM), pp. 175\u2013184. Sydney, Australia (2002)"},{"key":"12_CR9","unstructured":"Eric N., Sean Parent, A.S.: Ranges for the standard library: Revision 1, October 2014. https:\/\/ericniebler.github.io\/std\/wg21\/D4128.html"},{"key":"12_CR10","unstructured":"Froment, J.: MegaWave. In: IPOL 2012 Meeting on Image Processing Libraries (2012)"},{"key":"12_CR11","volume-title":"Design Patterns: Elements of Reusable Object-Oriented Software","author":"E Gamma","year":"1995","unstructured":"Gamma, E.: Design Patterns: Elements of Reusable Object-Oriented Software. Pearson Education India, Chennai (1995)"},{"key":"12_CR12","unstructured":"Garrigues, M., Manzanera, A.: Video++, a modern image and video processing C++ framework. In: Conference on Design and Architectures for Signal and Image Processing (DASIP), pp. 1\u20136. IEEE (2014)"},{"key":"12_CR13","unstructured":"G\u00e9raud, T.: Outil logiciel pour le traitement d\u2019images: Biblioth\u00e8que, paradigmes, types et algorithmes. Habilitation thesis, Universit\u00e9 Paris-Est (2012). (in French)"},{"key":"12_CR14","unstructured":"G\u00e9raud, T., Carlinet, E.: A modern C++ library for generic and efficient image processing. Journ\u00e9e du Groupe de Travail de G\u00e9om\u00e9trie Discr\u00e8te et Morphologie Math\u00e9matique, Lyon, France, June 2018. https:\/\/www.lrde.epita.fr\/theo\/talks\/geraud.2018.gtgdmm_talk.pdf"},{"key":"12_CR15","unstructured":"G\u00e9raud, 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\u2013819. Barcelona, Spain (2000)"},{"key":"12_CR16","unstructured":"G\u00e9raud, T., Levillain, R., Lazzara, G.: The Milena image processing library. IPOL meeting, ENS Cachan, France, June 2012. https:\/\/www.lrde.epita.fr\/~theo\/talks\/geraud.2012.ipol_talk.pdf"},{"key":"12_CR17","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1007\/978-3-540-76786-2_1","volume-title":"Datatype-Generic Programming","author":"J Gibbons","year":"2007","unstructured":"Gibbons, J.: Datatype-generic programming. In: Backhouse, R., Gibbons, J., Hinze, R., Jeuring, J. (eds.) SSDGP 2006. LNCS, vol. 4719, pp. 1\u201371. Springer, Heidelberg (2007). https:\/\/doi.org\/10.1007\/978-3-540-76786-2_1"},{"key":"12_CR18","unstructured":"Guennebaud, G., Jacob, B., et al.: Eigen v3. http:\/\/eigen.tuxfamily.org (2010). Available at http:\/\/eigen.tuxfamily.org"},{"key":"12_CR19","unstructured":"Ibanez, L., Schroeder, W., Ng, L., Cates, J.: The ITK software guide (2005)"},{"key":"12_CR20","volume-title":"Generic Programming for Computer Vision: The VIGRA Computer Vision Library","author":"U K\u00f6the","year":"2003","unstructured":"K\u00f6the, U.: Generic Programming for Computer Vision: The VIGRA Computer Vision Library. University of Hamburg, Cognitive Systems Group, Hamburg (2003)"},{"key":"12_CR21","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"295","DOI":"10.1007\/978-3-642-03613-2_27","volume-title":"Mathematical Morphology and Its Application to Signal and Image Processing","author":"R Levillain","year":"2009","unstructured":"Levillain, R., G\u00e9raud, 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\u2013306. Springer, Heidelberg (2009). https:\/\/doi.org\/10.1007\/978-3-642-03613-2_27"},{"key":"12_CR22","doi-asserted-by":"crossref","unstructured":"Levillain, R., G\u00e9raud, 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\u20131944. Hong Kong September 2010 (2010)","DOI":"10.1109\/ICIP.2010.5649620"},{"key":"12_CR23","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"140","DOI":"10.1007\/978-3-642-32313-3_10","volume-title":"Applications of Discrete Geometry and Mathematical Morphology","author":"R Levillain","year":"2012","unstructured":"Levillain, R., G\u00e9raud, T., Najman, L.: Writing reusable digital topology algorithms in a generic image processing framework. In: K\u00f6the, U., Montanvert, A., Soille, P. (eds.) WADGMM 2010. LNCS, vol. 7346, pp. 140\u2013153. Springer, Heidelberg (2012). https:\/\/doi.org\/10.1007\/978-3-642-32313-3_10"},{"key":"12_CR24","doi-asserted-by":"publisher","first-page":"70","DOI":"10.1007\/978-3-319-12568-8_9","volume-title":"Advanced Information Systems Engineering","author":"Roland Levillain","year":"2014","unstructured":"Levillain, R., G\u00e9raud, T., Najman, L., Carlinet, E.: Practical genericity: writing image processing algorithms both reusable and efficient. In: Proceedings of the 19th Iberoamerican Congress on Pattern Recognition (CIARP). LNCS, vol. 8827, pp. 70\u201379. Puerto Vallarta, Mexico (2014)"},{"key":"12_CR25","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","DOI":"10.1007\/b12027","volume-title":"Generic Programming","year":"2003","unstructured":"Backhouse, R., Gibbons, J. (eds.): Generic Programming. LNCS, vol. 2793. Springer, Heidelberg (2003). https:\/\/doi.org\/10.1007\/b12027"},{"key":"12_CR26","unstructured":"Niebler, E., Carter, C.: Deep integration of the ranges TS, May 2018. https:\/\/wg21.link\/p1037r0"},{"key":"12_CR27","unstructured":"Niebler, E., Carter, C.: Merging the ranges TS, May 2018. https:\/\/wg21.link\/p0896r1"},{"key":"12_CR28","volume-title":"Beautiful Code","author":"TE Oliphant","year":"2007","unstructured":"Oliphant, T.E.: Multidimensional iterators in NumPy. In: Oram, A., Wilson, G. (eds.) Beautiful Code, vol. 19. O\u2019reilly, Sebastopol (2007)"},{"key":"12_CR29","doi-asserted-by":"crossref","unstructured":"Ragan-kelley, J., Barnes, C., Adams, A., Durand, F., Amarasinghe, S., et al.: Halide: a language and compiler for optimizing parallelism, locality, and recomputation in image processing pipelines. In: PLDI 2013, (2013)","DOI":"10.1145\/2491956.2462176"},{"key":"12_CR30","unstructured":"Seymour, B.: LWG papers to re-merge into C++0x after removing concepts July 2009. https:\/\/wg21.link\/n2929"},{"key":"12_CR31","volume-title":"Elements of Programming","author":"A Stepanov","year":"2009","unstructured":"Stepanov, A., McJones, P.: Elements of Programming. Addison-Wesley Professional, Boston (2009)"},{"key":"12_CR32","unstructured":"Stroustrup, B., Reis, G.D.: Concepts - Design choices for template argument checking, October 2003. https:\/\/wg21.link\/n1522"},{"key":"12_CR33","unstructured":"Sutton, A.: Working draft, C++ extensions for concepts, June 2017. https:\/\/wg21.link\/n4674"},{"key":"12_CR34","unstructured":"Tschumperl\u00e9, D.: The CImg library. IPOL 2012 Meeting on Image Processing Libraries (2012)"},{"key":"12_CR35","unstructured":"Voutilainen, V.: Merge the concepts TS working draft into the C++20 working draft, June 2017. https:\/\/wg21.link\/p0724r0"}],"container-title":["Lecture Notes in Computer Science","Reproducible Research in Pattern Recognition"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-030-23987-9_12","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,6,28]],"date-time":"2023-06-28T00:03:18Z","timestamp":1687910598000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-030-23987-9_12"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019]]},"ISBN":["9783030239862","9783030239879"],"references-count":35,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-23987-9_12","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2019]]},"assertion":[{"value":"29 June 2019","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"RRPR","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Workshop on Reproducible Research in Pattern Recognition","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Beijing","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"China","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2018","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"20 August 2018","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"20 August 2018","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"rrpr2018","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/rrpr2018.sciencesconf.org\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"This content has been made available to all.","name":"free","label":"Free to read"}]}}