Presentation is loading. Please wait.

Presentation is loading. Please wait.

Generic Image Processing with Climb Laurent Senta – Didier Verna LRDE EPITA Research Lab April 30, 2012 lrde.epita.fr.

Similar presentations


Presentation on theme: "Generic Image Processing with Climb Laurent Senta – Didier Verna LRDE EPITA Research Lab April 30, 2012 lrde.epita.fr."— Presentation transcript:

1 Generic Image Processing with Climb Laurent Senta – Didier Verna LRDE EPITA Research Lab April 30, 2012 lrde.epita.fr

2 Outline Introduction Using Climb Developping Climb Going Further Conclusion 2

3 INTRODUCTION 3

4 Generic Image Processing 4 Images: Roland Levillain. Software Architecture for Generic Image Processing Tools I A HB D C E F G I A HB D C E F G segmentation

5 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 boolgrayscalergb S x V x A combinations

6 Climb Generic Image Processing library – Common Lisp Inspired by Olena: C++, 10 years old – Dynamic vs Static – Usability, maintainability, performance,… Still in beta 6 Compilerssbcl Dependenciesiterate, lisp-magick, cl-heap, lisp-unit, cl-gtk2

7 Architecture 7 The different layers of the library Generic types Morphers Image Algorithms Chaining Operator GUI

8 USING CLIMB 8

9 Algorithms 9 originalgrayscale median filter Otsu threshold dilationerosionjitter

10 (setf img (image-load images/lena128gray.jpg)) (setf ot-img (otsu img)) (setf dil-img (dilation ot-img (4-connectivity))) (save dil-img out/lena-dilated.png) Chaining Operator Chaining algorithms with the $ operator 10 (save (erosion (otsu (image-load images/lena128gray.jpg)) (4-connectivity)) out/lena-eroded.png) image-load images/lena128gray.jpg otsu dilation (4-connectivity) save out/lena-eroded.png ($ (image-load images/lena128gray.jpg) (otsu) (dilation (4-connectivity)) (save out/lena-eroded.png))

11 dilation diff erosion otsu to-grayimage-load Chaining Operator 11 More complex chaining

12 DEVELOPPING CLIMB 12

13 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 HB D C E F G Image access image(site) = value (setf (iref image site) value) Generalization: Lisp:

14 (value-inverse ) (iref image site) (setf (iref image site) ) Values and Sites 14 Values: Site: boolgrayscaleRGB x y I A HB D C E F G 2d-point label

15 Browsing Images 15 x y Site-set: (let ( ) (loop :for s := :while s )) (domain (image-domain image)) (site-set-next domain) … I A HB D C E F G

16 (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 HB D C E F G

17 Morphers 17 Transforming images with morphers Value morpherStructure morpher

18 GOING FURTHER 18

19 Properties 19 Adapting genericity algorithms values type structures type segmentation graph 2dmatrix 3dmatrix boolgrayscalergb support:regular

20 Value: GUI 20 Climb based interface I A HB D C E F G GTK-BOX Morpher Resize climb graph

21 Conclusion 21 Current status Image Processing Practitionner Algorithm implementor Built-in algorithms Composition tools Chaining operator Morphers GUI High-level domain model Generic values Generic structures Generic implementations Hot topics

22 QUESTIONS ? Thanks for your attention, 22

23 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


Download ppt "Generic Image Processing with Climb Laurent Senta – Didier Verna LRDE EPITA Research Lab April 30, 2012 lrde.epita.fr."

Similar presentations


Ads by Google