Generic Image Processing 4 Images: Roland Levillain. Software Architecture for Generic Image Processing Tools I A H B D C E F G I A H B D C E F G segmentation
Genericity Purpose 5 Graphic: Laurent Najman. Point de vue d'un théoricien sur l'intérêt de la généricité pour le traitement d'images algorithms values type structures type segmentation graph 2dmatrix 3dmatrix bool grayscale rgb S x V x A combinations
• matrix[x, y] → pixelvalue • graph.getNode(label) → nodevalue • model[x, y, z] → voxelvalue • matrix[x, y] → pixelvalue • graph.getNode(label) → nodevalue • model[x, y, z] → voxelvalue Image Definition 13 I A H B D C E F G Image access image(site) = value (setf (iref image site) value) Generalization: Lisp:
(let ( ) (loop :for s := :while s )) … (site-set-next neighbors) (neighbors (site-set-window window site)) Browsing Images 16 x y Site-set-window: I A H B D C E F G
Sources • Th. Géraud and R. Levillain. Semantics-driven genericity: A sequel to the static C++ object-oriented programming paradigm (SCOOP 2). • R. Levillain, Th. Géraud, and L. Najman. Why and how to design a generic and efficient image processing framework: The case of the Milena library. • N. Otsu. A threshold selection method from gray-level histograms. • P. Soille. Morphological Image Analysis: Principles and Applications • Roland Levillain. Software Architecture for Generic Image Processing Tools • Laurent Najman. Point de vue d'un théoricien sur l'intérêt de la généricité pour le traitement d'images 23