Project

General

Profile

Bienvenue sur le portail Morph-M » History » Version 2

Redmine Admin, 10/17/2008 04:08 PM

1 1 Redmine Admin
{{>toc}}
2
3
h1. Bienvenue sur le portail Morph-M
4
5
+Le Nom:+  Dans la mythologie grecque, Morphée est le dieu des rêves et des songes dont le nom signifie "celui qui reproduit les formes". Morphée s'avère aussi être le cœur de notre plate-forme de traitement morphologique. Le nom Morph-M rappelle cette parenté et peut se lire comme l'abréviation de Morphée musagète[1].
6
7
+La Famille:+  Morph-M a stimulé la naissance de nombreux projets allant de simples petits outils d'aide au développement jusqu'à des applications "clés-en-main" en passant par de très nombreuses librairies et modules. Les extensions de Morph-M qui ont leur propre site internet sont aussi listées sur ce portail. *_Voir les projets Addons et Software notamment._*
8
9 2 Redmine Admin
fn1. _L'épithète est traditionnellement attribué à Apollon, mais notre Morphée peut fort bien prétendre à être lui aussi le "conducteur des muses" tant il permet à ses utilisateurs d'innover pour aller au-delà même du domaine des rêves._
10 1 Redmine Admin
11
h1. Infos Pratiques
12
13
h3. +Communication+
14
15
Le principal moyen de communication entre les utilisateurs de Morph-M (outre les pauses-café) est la mailing-list. Il y en a deux:
16
* *morphee-users:* cette liste est dédiée aux discussions entre les utilisateurs (et les développeurs). S'adresser à Michel pour s'y inscrire. 
17
* *morphee-dev:* cette liste est dédiée aux discussions entre les développeurs. S'adresser à Michel pour s'y inscrire. 
18
* *morphee-cvs:* une liste plus spécialement dédiée aux développeurs. Elle reçoit entre autres des copies de chaque fichier committé dans le CVS. C'est donc une liste à *fort traffic.* Elle permet d'être informé en temps réel des modifications apportées à Morphée, aussi bien sur la branche stable que sur la branche Devel. 
19
20
Il n'y a pas pour l'instant pas d'archives de ces listes.(En préparation)
21
22
h3. +Contribuer+
23
24
Ce wiki peut manquer d'informations ou contenir quelques erreurs. *N'hesitez pas à éditer, ajouter de nouvelles pages afin d'étoffer cettte documentation !!*
25
26
La documentation de Morph-M est pour une grande partie gérée sous forme de code source sur le même dépôt de Morph-M. Seules les personnes aillant le droit de modifier ces sources peuvent donc directement modifier ces sources. Pour proposer des ajouts corrections à la documentation de Morph-M sans être un développeur du cœur de la librairie vous pouvez vous rendre sur le forum "Corrections de la doc". 
27
28
h1. Documentation Utilisateur
29
30
h3. +Documentation des fonctions+
31
32
Morph-M dispose d'une documentation se rapportant aux fonctions de Morph-M qui sont accessible en Python et C++ Interface:
33
34
* "Interface Python":http://rhodes.ensmp.fr/morphee_doc/all_python : Générée automatiquement à partir de l'aide en ligne de l'interface Python de Morph-M. Elle existe aussi en version "PDF":http://rhodes.ensmp.fr/morphee_doc/pdf/MorpheeDocPython. la version "HTML":http://rhodes.ensmp.fr/morphee_doc/all_python regroupe la documentation de plusieurs modules Morph-M.
35
* "Interface c++":http://rhodes.ensmp.fr/morphee_doc/core_cpp_interface : Documentation se rapportant aux fonctions de Morph-M mises à disposition dans des librairies C++ pré-compilées.Cette documentation de l'API Morph-M compilée par Doxygen décrit Morph-M de façon aussi exhaustive que possible. (Pour Python et C++/interface) 
36
37
h3. +Tutoriaux+
38
39
* [[Ma première installation de Morph-M]]: Petit tutorial pour installer et utiliser rapidement Morph-M
40
* [[Ma première utilisation de Morph-M]]: simple exemple d'utilsation de Morph-M
41
* [[Python et les tests unitaires]]: Ce tutorial a pour objectif de mettre en place simplement des tests unitaires pour vos algorithmes python
42
 
43
44
h1. Documentation Développeur
45
46
h3. +Accéder au code+
47
48
*Récupérer les sources:* Le code source de Morphée est géré par [[SVN]] sur Malte. Des instructions détaillées sont disponibles su la page [[SVN]] dans la section Tutoriaux.
49
*Parcourir le code en ligne:* On peut accéder en lecture au code actuellement sous SVN via
50
51
* L'onglet Dépôt de ce portail (rq: très lent au premier chargement)
52
* un navigateur web par cette URL: "SVN Browser":http://localhost/svnroot 
53
54
*Suivre l'évolution du projet:* Un certains nombre de statistiques sont calculées et synthétisées automatiquement tous les soirs et disponibles aux adresses suivantes: "Statistiques pour le cœur":http://localhost
55
56
h3. +Compilation, Test et Maintenance+
57
58
* "Acces aux logs Linux":http://localhost : Les résultats de la compilation et des tests unitaires de Morph-M sur rhodes, actualisation toutes les nuits à 3h. (branche head).
59
* "Acces aux compilation windows":http://rhodes.ensmp.fr/MorphM_WinCompil : Les résultats de la compilation et des tests unitaires de Morph-M sur anaphie, actualisation toutes les nuits à 1h. (branche head).
60
* [[Maintenance]]: Quelques schémas généraux à propos des outils mis en place pour le processus qualité de Morph-M.  
61
62
h3. +Outils Associés+
63
64
Pour être efficace, Morphée nécessite des outils puissants. Les outils notés en *gras* sont nécessaires pour compiler/utiliser Morphée, ceux en _italique_ sont seulement recommandés.
65
66
* *Compilateur C++:*
67
 
68
  * _Linux:_ gcc version 3.4 ou supérieure ("gcc.gnu.org":http://gcc.gnu.org).
69
  * _Microsoft Windows:_ Il est nécessaire d'utiliser un compilateur plus récent que Microsoft Visual C++ 6.La compilation et l'utilisation de Morphée se passe bien avec l'environnement .NET 2003, l'environnement .NET 2005 reste en béta pour le moment.
70
  * Remarques: Le compilateur Intel à partir de la version 8 fonctionne.
71
* *Boost:* une bibliothèque d'extension de C++ utilisant massivement les templates. Elle permet de programmer de façon encore plus générique que la STL. Disponible sur "boost.org":http://www.boost.org. Version 1.33 ou mieux.
72
* *libPNG:* ce n'est pas un module réellement nécessaire, bien que pour l'instant il ne soit pas possible de compiler Morphée sans (la séparation sera possible dans le futur). La version Windows est compilée avec LibPNG 1.28
73
74
* *ZLib:* librairie de compression. Utilisée indirectement par LibPNG. La version Windows est compilée avec ZLib 1.23
75
* *libJPEG:* À l'instar de libPNG, ce module n'est pas absolument nécessaire (la séparation est possible via une macro), la compilation de Morphée sous windows est toutefois liée à cette librairie.
76
* *Python:* le premier langage de script pouvant être utilisé avec Morphée. Non nécessaire, mais éminemment pratique. "www.python.org":http://www.python.org (Version 2.2 ou mieux). La version Windows est compilée avec Python 2.4
77
78
h3. +Documentation des fonctions+
79
80
Morph-M dispose d'une documentation se rapportant aux fonctions de Morph-M qui sont accessible en C++ template et objet (plus complexe mais plus générique et plus puissant):
81
82
* "Guide du développeur":http://rhodes.ensmp.fr/morphee_doc/developersguide : Un "Developer's Guide" (ecrit en DocBook/XML) qui donne les grandes lignes de l'organisation de Morph-M, ainsi que quelques explications plus détaillées sur les mécanismes internes. Le travail en cours est accessible ici: "HTML":http://rhodes.ensmp.fr/morphee_doc/developersguide "PDF":http://rhodes.ensmp.fr/morphee_doc/developersguide.pdf
83
* "Cœur Générique":http://rhodes.ensmp.fr/morphee_doc/core_cpp : Tout ce qui compose les fonctionalités essentielles de Morphée. Cette documentation, c'est comme la documentation de l'API "utilisateur" mais avec des vrais bouts de templates dedans. (Très complet, pour C++/template).
84
85
h3. +Tutoriaux+
86
87
* [[Ma première compilation de Morph-M]]: Un guide pas à pas pour réaliser sa première compilation de projet Morph-M
88
* [[CMake]],[[Réalisation d'un nouveau projet (addons) Morph-M]]: Votre algorithme python est trop lent et vous souhaitez passer au C++... 
89
* [[Boost et les tests Unitaires]]: Pour une non régression de votre code, utilisez les tests unitaires
90
* [[SWIG]]: Interfacer votre code C++ facilement afin de lui donner une valeur ajoutée c'est possible !
91
* [[SVN]]: Un petit tutorial pour apprendre à utiliser SVN 
92
93
h1. Ressources Pedagogiques
94
95
h3. +Ressources Bibliographique+
96
97
*_Al-Khwarizmi avait Euclide et avant lui Euclide avait Aristote, vous aussi faites appel aux géants qui vous ont précédé. Notre Alexandrie est ici !_*
98
99
* [[Références essentielles]] : Quelques références et tutoriaux pour être rapidement opérationel. 
100
* [[Lectures instructives]] : Pour comprendre Morph-M au mieux et "bien" programmer , des références pour la programmation avancée et l'architecture logicielle. 
101
102
h3. +Séminaires et Présentations+
103
104
*Les bases:* _Les quelques notions de bases qu'il faut connaitre pour débuter facilement dans le traitement d'image avec des scripts Python et Morph-M._
105
106
* "Cours de Morphologie Mathématique de Jean Serra":http://cmm.ensmp.fr/~serra/cours/index.htm : Une présentation des divers outils utilisés en Morpho Math. 
107
108
*Le développement avec Morph-M:* _Présentation des outils et des quelques techniques élémentaires qui permettent de développer de nouveaux projets à partir de Morph-M._
109
110
* [[Philosophie de Morph-M]] : Présentation de la structure du projet, ses objectifs et les outils associés. 
111
* [[Gestion du code source]] : Présentation des outils de gestion et de partage des sources de Morph-M. 
112
113
*L'architecture MORPH-M:* _Principes de conception de la plateforme._
114
115
       * "Algorithmes multidimensionnels et multispectraux en Morphologie Mathématique: Approche par méta-programmation.":http://rhodes.ensmp.fr/morphee/academie/larchitecture-morph-m/Morpho-ProgGenerique_Enficiaud.zip
116
              _Présentation donnée par Raffi Enficiaud lors de sa soutenance de thèse. Rapprochement entre description mathématique des traitements d'image et implémentation générique des opérateurs corespondant. Application pour l'extension de la Morphologie Mathématique aux images de dimension arbitraire et aux données multispectrales._ 
117
       * "Morph-M et généricité en traitement d'image":http://rhodes.ensmp.fr/morphee/academie/larchitecture-morph-m/Morph-M-genericite-en-traitement-images_Enficiaud-Lerallut.zip
118
              _Dans cet exposé, Raffi Enficiaud et Romain Lerallut présentent les concepts proposés par Morph-M, et leurs utilisations dans la mise en oeuvre de nouveaux algorithmes. Ils en illustrent les potentialités par quelques algorithmes déjà implémentés. Enfin ils discutent des inconvénients de l'approche générique._
119
120
*Séminaires Technique et Outils Morph-M* - _Juillet 2008_
121
122
      * CMAKE
123
      * FastMorphM
124
      * Tests Unitaires
125
      * SWIG
126
127
h3. +TP, TD et Atelier+
128
129
*Les ateliers sont l'occasion de former de nouveaux utilisateurs de Morph-M mais aussi d'échanger de nouvelles méthodes et techniques d'implémentation d'algorithmes de traitement d'image entre développeurs.*
130
131
* [[Atelier 2004]]
132
* [[Atelier 2005]]
133
* [[Atelier 2007]]
134
135
h3. +Formations Clients+
136
137
h1. FAQ
138
139
Themes de la Foire Aux Questions: [[Général]] - [[Python]] - [[C++]] - [[Linux]] - [[Windows]]
140
141
*+Comment l'utiliser:+*
142
* Les sujets sont organisés en catégorie qui permettent de les retrouver facilement.
143
* Comme il n'est pas toujours évident de tomber du premier coup sur la bonne question il convient d'en tester plusieurs en choississant des catégories de plus en plus précises:
144
# Commencez par la catégorie [[Général]]
145
# Ensuite si vous travaillez avec Python la catégorie [[Python]] ou sinon celle du [[C++]] qui traite entre autre des problèmes de compilations
146
# Enfin votre problème peut être spécifique à une plate-forme et dans ce cas choississez celle qui correspond entre: [[Linux]] et [[Windows]]
147
148
Et si la foire aux questions ne répond pas à vos attentes vous pouvez ensuite tenter votre chance avec la liste des bugs et le forum. Vous y trouverez peut-être une mention de votre problème ainsi que des commentaires qui vous aideront à le résoudre.
149
150
Si ce n'est pas le cas, rajoutez un bug ! Ça ne manquera pas d'attirer l'attention d'un développeur le sujet.
151
152
h1. Download
153
154
* *Morph-M Installer:* L'installeur de Morph-M pour une utilisateur simple et rapide sous Windows. Téléchargeable "ici":http://rhodes.ensmp.fr/MorphM_WinCompil/Morph-M%20Installer.exe (Mise à jour chaque nuit)
155
* *Code Source:* l'accès direct au sources via SVN est décrit sur la page [[SVN]] 
156
* *Graphismes*: Il y a pour Morph-M au moins autant de logos proposés que de développeurs. Le dossier [[Graphismes]] en présente un panaché qui se complètera sans doute avec le temps...
157
* *Binaires Précompilés*:
158
         - _Windows_: toutes les versions ainsi que la doc développeur sont compilées chaque nuit.Pour y accéder : "ici":http://rhodes.ensmp.fr/MorphM_WinCompil 
159
         - _Linux_: pour installer directement Morphée sur un système Debian "unstable", [[paquets .deb]]
160
* *Utilitaires:* Quelques [[scripts]] mis à votre disposition pour vous facilitez la vie.
161
162
!swigorganisation.png!