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

Version 1/79 - Next » - Current version
Redmine Admin, 09/29/2008 05:13 PM


Bienvenue sur le portail Morph-M

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ète1.

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.

[1] 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.

Infos Pratiques

Communication

Le principal moyen de communication entre les utilisateurs de Morph-M (outre les pauses-café) est la mailing-list. Il y en a deux:
  • morphee-users: cette liste est dédiée aux discussions entre les utilisateurs (et les développeurs). S'adresser à Michel pour s'y inscrire.
  • morphee-dev: cette liste est dédiée aux discussions entre les développeurs. S'adresser à Michel pour s'y inscrire.
  • 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.

Il n'y a pas pour l'instant pas d'archives de ces listes.(En préparation)

Contribuer

Ce wiki peut manquer d'informations ou contenir quelques erreurs. N'hesitez pas à éditer, ajouter de nouvelles pages afin d'étoffer cettte documentation !!

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".

Documentation Utilisateur

Documentation des fonctions

Morph-M dispose d'une documentation se rapportant aux fonctions de Morph-M qui sont accessible en Python et C++ Interface:

  • Interface 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. la version HTML regroupe la documentation de plusieurs modules Morph-M.
  • Interface c++ : 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)

Tutoriaux

Documentation Développeur

Accéder au code

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.
Parcourir le code en ligne: On peut accéder en lecture au code actuellement sous SVN via

  • L'onglet Dépôt de ce portail (rq: très lent au premier chargement)
  • un navigateur web par cette URL: SVN Browser

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

Compilation, Test et Maintenance

  • Acces aux logs Linux : Les résultats de la compilation et des tests unitaires de Morph-M sur rhodes, actualisation toutes les nuits à 3h. (branche head).
  • Acces aux compilation windows : Les résultats de la compilation et des tests unitaires de Morph-M sur anaphie, actualisation toutes les nuits à 1h. (branche head).
  • Maintenance: Quelques schémas généraux à propos des outils mis en place pour le processus qualité de Morph-M.

Outils Associés

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.

  • Compilateur C++:
    • Linux: gcc version 3.4 ou supérieure (gcc.gnu.org).
    • 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.
    • Remarques: Le compilateur Intel à partir de la version 8 fonctionne.
  • 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. Version 1.33 ou mieux.
  • 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
  • ZLib: librairie de compression. Utilisée indirectement par LibPNG. La version Windows est compilée avec ZLib 1.23
  • 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.
  • Python: le premier langage de script pouvant être utilisé avec Morphée. Non nécessaire, mais éminemment pratique. www.python.org (Version 2.2 ou mieux). La version Windows est compilée avec Python 2.4

Documentation des fonctions

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):

  • Guide du développeur : 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 PDF
  • Cœur Générique : 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).

Tutoriaux

Ressources Pedagogiques

Ressources Bibliographique

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 !

  • Références essentielles : Quelques références et tutoriaux pour être rapidement opérationel.
  • Lectures instructives : Pour comprendre Morph-M au mieux et "bien" programmer , des références pour la programmation avancée et l'architecture logicielle.

Séminaires et Présentations

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.

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.

L'architecture MORPH-M: Principes de conception de la plateforme.

  • Algorithmes multidimensionnels et multispectraux en Morphologie Mathématique: Approche par méta-programmation.
    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.
  • Morph-M et généricité en traitement d'image
    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.

Séminaires Technique et Outils Morph-M - Juillet 2008

  • CMAKE
  • FastMorphM
  • Tests Unitaires
  • SWIG

TP, TD et Atelier

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.

Formations Clients

FAQ

Themes de la Foire Aux Questions: Général - Python - C++ - Linux - Windows

Comment l'utiliser:
  • Les sujets sont organisés en catégorie qui permettent de les retrouver facilement.
  • 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:
    1. Commencez par la catégorie Général
    2. Ensuite si vous travaillez avec Python la catégorie Python ou sinon celle du C++ qui traite entre autre des problèmes de compilations
    3. Enfin votre problème peut être spécifique à une plate-forme et dans ce cas choississez celle qui correspond entre: Linux et Windows

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.

Si ce n'est pas le cas, rajoutez un bug ! Ça ne manquera pas d'attirer l'attention d'un développeur le sujet.

Download

  • Morph-M Installer: L'installeur de Morph-M pour une utilisateur simple et rapide sous Windows. Téléchargeable ici (Mise à jour chaque nuit)
  • Code Source: l'accès direct au sources via SVN est décrit sur la page SVN
  • 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...
  • Binaires Précompilés:
    - Windows: toutes les versions ainsi que la doc développeur sont compilées chaque nuit.Pour y accéder : ici
    - Linux: pour installer directement Morphée sur un système Debian "unstable", paquets .deb
  • Utilitaires: Quelques scripts mis à votre disposition pour vous facilitez la vie.