Généricité dynamique pour des algorithmes morphologiques

From LRDE

Abstract

La généricité est un paradigme puissant dont l'usage permet d'implémenter un unique algorithme et de l'exécuter sur différents types de données. De ce fait, il est très utilisé lors du développement d'une bibliothèque scientifique, notamment en traitement d'images où les algorithmes peuvent s'appliquer à différents types d'images. Le langage C++ est un langage de choix pour ce genre de bibliothèque. Il supporte ce paradigme et ses applications sont performantes compte tenu de sa nature compilée. Néanmoins, contrairement à des langages dynamiques tels que Python ou Julia, ses capacités en matière d'interactivité, utiles lors des étapes de prototypage d'algorithmes, sont limitées en raison de sa nature statique. Nous proposons donc dans cet article une revue des différentes techniques qui permettent d'utiliser à la fois le polymorphisme statique et dynamique, puis nous évaluons le coût du transfert d'information statique vers des informations connues à l'exécution. En particulier, nous montrons que certaines informations d'une image sont plus importantes que d'autres en matière de performance, et que le surcoût dépend aussi de l'algorithme utilisé.

Documents

Bibtex (lrde.bib)

@InProceedings{	  esteban.22.gretsi.2,
  author	= {Baptiste Esteban and Edwin Carlinet and Guillaume Tochon
		  and Didier Verna},
  title		= {G\'en\'ericit\'e dynamique pour des algorithmes
		  morphologiques},
  booktitle	= {28e Colloque sur le traitement du signal et des images},
  year		= 2022,
  address	= {Nancy, France},
  category	= {national},
  month		= sep,
  publisher	= {GRETSI - Groupe de Recherche en Traitement du Signal et
		  des Images},
  number	= {001-0119},
  pages		= {477--480},
  abstract	= {La g\'en\'ericit\'e est un paradigme puissant dont l'usage
		  permet d'impl\'ementer un unique algorithme et de
		  l'ex\'ecuter sur diff\'erents types de donn\'ees. De ce
		  fait, il est tr\`es utilis\'e lors du d\'eveloppement d'une
		  biblioth\`eque scientifique, notamment en traitement
		  d'images o\`u les algorithmes peuvent s'appliquer \`a
		  diff\'erents types d'images. Le langage C++ est un langage
		  de choix pour ce genre de biblioth\`eque. Il supporte ce
		  paradigme et ses applications sont performantes compte tenu
		  de sa nature compil\'ee. N\'eanmoins, contrairement \`a des
		  langages dynamiques tels que Python ou Julia, ses
		  capacit\'es en mati\`ere d'interactivit\'e, utiles lors des
		  \'etapes de prototypage d'algorithmes, sont limit\'ees en
		  raison de sa nature statique. Nous proposons donc dans cet
		  article une revue des diff\'erentes techniques qui
		  permettent d'utiliser \`a la fois le polymorphisme statique
		  et dynamique, puis nous \'evaluons le co\^ut du transfert
		  d'information statique vers des informations connues \`a
		  l'ex\'ecution. En particulier, nous montrons que certaines
		  informations d'une image sont plus importantes que d'autres
		  en mati\`ere de performance, et que le surco\^ut d\'epend aussi de l'algorithme utilis\'e.},
  nodoi		= {}
}