Procédure d’utilisation d’ObiWan-Microbi
ObiWan-Microbi est une collection d’outils destinée à la segmentation d’objets. Le logiciel utilise
- Le serveur OMERO pour le data management
- SegUI, pour la segmentation manuelle et l’annotation
- SegServe, pour l’exécution de réseaux de neurones
La documentation officielle se situe ici: https://github.com/hip-satomi/ObiWan-Microbi. Des éléments de ce document ont été repris de ce site, d’autres n’ont pas pu être testés en l’absence de données de test pertinentes (notamment pour le tracking) ou en raison de limites du matériel de test (suspecté pour les algorithmes de segmentation HybridTaskCascade et Yolo-v5)
Le logiciel est très récent à ce jour (maj de ce document: 02/02/2024): aucun retour n’est enregistré à des fins de correction d’erreurs ou de remontée de bugs, et la première publication de l’équipe porteuse du projet a été publiée le 01/02/2024 (https://www.softxjournal.com/article/S2352-7110(24)00009-8/fulltext)
Pour y accéder, cliquer sur “OMERO Dashboard”, sur la barre des tâches OMERO:
Le dashboard OMERO (SegUI) apparaît:
Les projets OMERO du groupe courant s’affichent dedans. Sélectionnez le projet où se trouve les images à segmenter pour accéder aux datasets contenus dans le projet:
Cliquez sur le dataset pour accéder aux images:
Cliquez sur l’image pour la visualiser:
Sur la partie supérieure de la fenêtre se trouve une barre d’outils, comprenant les fonctions suivantes:
- Sauvegarder (icône de disquette): Pour sauvegarder les annotations et ROIs tracées.
- “Import”: Permet d’importer les ROIs et informations de tracking (depuis un fichier, depuis une prédiction, ou depuis OMERO pour les ROIs).
- “Export”: Permet d’exporter les ROIs enregistrées sur OMERO dashboard vers OMERO.
- “Issues”: Ouvre un onglet vers l’onglet “Issues” du dépôt GitHub de ObiWan-Microbi (https://github.com/hip-satomi/ObiWan-Microbi/issues). Cette page permet de prendre connaissance des différents problèmes ouverts et de poster une réclamation. - “Track”: Cet onglet comprend les fonctions de tracking cellulaires.
- “Seg”: Cet onglet comprend les fonctions de segmentation, manuelle ou par deep-learning.
- “Brush”: Permet de segmenter manuellement les objets en traçant manuellement les contours à l’aide d’un pinceau.
- “Multi-select”: Permet de créer une zone de sélection rectangulaire sur l’image. En pratique, il est impossible de faire quoi que ce soit avec (segmentation ou copier-coller), donc cette fonction ne sert à priori à rien.
- “Undo” et “Redo”: Permet d’annuler/de restaurer la dernière action effectuée.
Faire une segmentation manuelle et exporter les ROIs sur OMERO
Cliquer sur “Brush” sur la barre d’outils. La fenêtre “Brush Tool” s’affiche à gauche de l’image:
La barre des tâches en bas de l’image comprend plusieurs fonctions: elle permet de faire défiler les images, permet de faire défiler la cinématique de l’image (dans le temps mais pas dans Z) et permet d’ajouter plusieurs labels. Un label correspondra alors à une région d’intérêt (ROI):
Le label “Cell” est ajouté par défaut. Pour ajouter un label, cliquer sur l’icône “+”
Pour modifier ou supprimer un label, faire un clic gauche maintenu sur l’icône du label. Le menu suivant s’affiche:
- “Delete” permet d’effacer le label
- “EditName” permet d’éditer le nom du label
- “Change Color” permet de changer la couleur de la région d’intérêt dessinée (ou amenée à être dessinée sur l’image)
- “Cancel” permet de fermer ce menu
Pour tracer une ROI, cliquer sur une région de l’image, et maintenez le clic pour continuer à tracer. Il est possible d’interrompre le tracé, mais il ne sera possible de le reprendre qu’à partir du trait déjà tracé. La ROI sera validée lorsqu’elle formera un périmètre fermé. Il est possible de “gommer” la ROI en cliquant/maintenant sur une zone extérieure à la ROI (le pointeur sera transparent) et en passant sur la ROI.
Les options de la fenêtre “Brush Tool” permettent d’apporter des modifications lors du tracé des ROIs:
- “Show Overlay” permet d’afficher/de désafficher les ROIs tracées
- “Overlap” permet d’autoriser le chevauchement des ROI. “No” empêche le chevauchement (un chevauchement effacera le tracé de l’autre ROI). “Merge” permet d’autoriser le chevauchement. Cette fonction est fonctionnelle mais buggée car la transition de “Merge” vers “No” ou “Prevent” est dysfonctionnelle.
- “Simp. Tolerance” permet de “simplifier” le tracé des ROIs. Permet d’obtenir des formes plus régulières.
- “Brush Radius (in px)” correspond à la taille de pixel du tracé de la ROI.
Cliquer sur “Export” de la barre des tâches supérieure pour exporter les ROIs vers OMERO. Les labels des ROIs seront visibles sur OMERO.viewer en tant que commentaires des ROIs.
Faire une segmentation par machine-learning et exporter les ROIs sur OMERO
Cliquer sur “Seg” sur la barre d’outils. La fenêtre “AI Segmentation” s’affiche à gauche de l’image:
Le reste de la fenêtre ne diffère guère de la description dépeinte dans la section précédente.
La fenêtre “AI Segmentation” comprend les options suivantes:
-
“AI Model”: Permet de sélectionner le modèle de réseau de neurones parmi 4 choix préinstallés:
- “Cellpose”
- “Omnipose”
- “HybridTaskCascade (HTC)” (non-fonctionnel dans ma configuration de test)
- “Yolov5m” (non-fonctionnel dans ma configuration de test)
-
“Request Proposals”: Ce bouton permet de lancer le modèle sélectionné.
-
“Total Detections”: Permet de connaître le nombre d’objets détectés.
-
“Show Existing Overlay”: Permet d’afficher/de désafficher les ROIs qui existaient déjà (qu’elles aient été importées depuis OMERO ou dessinées manuellement) avant la segmentation par “Request Proposals”
-
“Show New Overlay”: Permet d’afficher/de désafficher les ROIs issues de la segmentation lancée par “Request Proposals”
-
“Simplify Error”: Permet de régler le degré de simplification des vertexes utilisés pour dessiner les ROIs (permet de réduire le nombre de points d’inflexion)
-
“Predicted Labels”: Permet d’activer/désactiver les labels prédits par l’algorithme d’IA en lieu et place des labels d’annotation par défaut
Une fois l’algorithme lancé (avec “Request Proposal”) et les ROIs générées, cliquer sur “Save” pour les sauvegarder. Cliquer sur “Export” de la barre des tâches supérieure pour exporter les ROIs vers OMERO. Les labels des ROIs seront visibles sur OMERO.viewer en tant que commentaires des ROIs.
Choisir le modèle
- “Cellpose” est particulièrement efficace sur les objets très circulaires (https://www.nature.com/articles/s41592-020-01018-x). Il fonctionne mal sur les structures concaves (https://www.nature.com/articles/s41592-022-01639-4)
- D’une manière générale, “Omnipose” fonctionne sur tout, objets circulaires et allongés. Performance augmentée sur les bactéries par rapport à Cellpose (https://www.nature.com/articles/s41592-022-01639-4)
Notes diverses
- Il est possible d’enregistrer des modèles de machine-learning customisés en utilisant le lien: http://hote_du_serveur/ai-settings. La customisation de modèles dépasse tourfois le cadre de ce tuto.