generic image processing with climb n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Generic Image Processing with Climb PowerPoint Presentation
Download Presentation
Generic Image Processing with Climb

Loading in 2 Seconds...

play fullscreen
1 / 23
abel

Generic Image Processing with Climb - PowerPoint PPT Presentation

131 Views
Download Presentation
Generic Image Processing with Climb
An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Generic Image ProcessingwithClimb Laurent Senta – Didier Verna April 30, 2012 LRDE EPITA ResearchLab lrde.epita.fr

  2. Outline • Introduction • Using Climb • Developping Climb • Going Further • Conclusion

  3. Introduction

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

  5. GenericityPurpose 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 segmentation S x V x A combinations values type graph bool grayscale rgb 2dmatrix 3dmatrix structures type

  6. Climb • Generic Image Processinglibrary • Common Lisp • Inspired by Olena: C++, 10 yearsold • DynamicvsStatic • Usability, maintainability, performance,… • Still in beta

  7. Architecture The differentlayers of the library GUI Image Algorithms ChainingOperator Generic types Morphers

  8. UsingClimb

  9. Algorithms original grayscale Otsu threshold jitter medianfilter dilation erosion

  10. ChainingOperator Chainingalgorithmswith the $ operator (setfimg(image-load‘images/lena128gray.jpg’)) (setfot-img(otsuimg)) (setfdil-img(dilationot-img(4-connectivity))) (savedil-img‘out/lena-dilated.png’) (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’ chain ($ (image-load‘images/lena128gray.jpg’) (otsu) (dilation (4-connectivity)) (save‘out/lena-eroded.png’))

  11. ChainingOperator More complexchaining erosion image-load to-gray otsu diff dilation

  12. DevelopPingClimb

  13. Image Definition I H B G C A D F Image access E • 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 Generalization: image(site) = value Lisp: (setf (iref image site) value)

  14. Values and Sites Values: I H B bool grayscale RGB G C A Site: D F x E y label 2d-point (setf (iref image site) ) (iref image site) (value-inverse )

  15. Browsing Images Site-set: x I H B G C A D F E y (domain (image-domain image)) (let ( ) (loop:for s := :whiles )) (site-set-nextdomain) …

  16. Browsing Images Site-set-window: x I H B G C A D F E y … (site-set-nextneighbors) (neighbors (site-set-windowwindow site)) (let ( ) (loop:for s := :whiles ))

  17. Morphers Transforming images withmorphers Value morpher Structure morpher

  18. Goingfurther

  19. Properties Adaptinggenericity algorithms support:regular segmentation values type graph bool grayscale rgb 2dmatrix 3dmatrix structures type

  20. GUI Climbbased interface I H B G C A D F E Value: GTK-BOX MorpherResize climb graph

  21. Conclusion Currentstatus Algorithmimplementor Image ProcessingPractitionner • High-leveldomain model • Generic values • Generic structures • Genericimplementations • Built-in algorithms • Composition tools • Chainingoperator • Morphers • GUI Hot topics

  22. Thanks for your attention, Questions ?

  23. Sources • Th. Géraud and R. Levillain. Semantics-drivengenericity: A sequel to the static C++ object-orientedprogrammingparadigm (SCOOP 2). • R. Levillain, Th. Géraud, and L. Najman. Why and how to design a generic and efficient image processingframework: The case of the Milena library. • N. Otsu. A thresholdselectionmethodfrom gray-levelhistograms. • 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