Exemple d'image OCM 2D traitée et son histogramme des orientations 2D/3D. (a) Image originale, (b) l'amplitude du
gradient, (c) image filtrée par la méthode médian avec la taille 5, (d) l’histogramme des orientations, (e) l’histogramme polaire, (f) histogramme des orientations 3D.
Extrait du rapport de stage de Jingxing Tu
Dans le cadre de ce projet de stage, je vais vous démontrer comment on développe un pipeline pour filtrer, calculer et visualiser les orientations des fibres de matière blanche en modes bidimensionnelle (2D) et tridimensionnelle (3D). Les données à analyser sont obtenues par un système d’histologie en série utilisant un microscope à cohérence optique (OCM) chargé d’un objectif 40x. Le contenu de l’image est constitué de fibres de matière blanche dans le cerveau de la souris. L’objectif principal du projet est d’extraire et de visualiser l’orientation des fibres de matière blanche dans ces données OCM.
Pour les images 2D, deux étapes importantes se succèdent. Premièrement, on fait un prétraitement de débruitage avec la méthode filtre médian, puis on calcule et normalise le gradient, enfin on affiche sous forme d’image de projection d’intensité moyenne (AIP) avec couleur. Deuxièmement, on affiche l’amplitude du gradient, l’histogramme des orientations principales, et on identifie la valeur maximale de l’histogramme des orientations pour l’analyse et l’étude de l’orientation des fibres.
Pour l’image 3D, afin de visualiser la distribution de l’orientation des fibres dans le volume source, on génère d’abord plusieurs orientations uniformes de référence, puis on parcourt toutes les orientations des fibres pour trouver le nombre de voxels qui sont alignés sur l’orientation uniforme la plus proche. Et puis on utilise une série d’harmoniques sphériques pour visualiser ce nombre de voxels en 3D.
En termes de code, pour les images 2D, on a développé une série de Jupyter Notebook pour comparer et afficher les résultats obtenus avec les différents types de filtrage. Pour l’image 3D, on a développé deux scripts Python, l’un est utilisé pour générer automatiquement plusieurs orientations de référence et pour compter le nombre de fibres correspondant à chaque orientation de référence et générer des fichiers de données. L’autre script Python sert à visualiser ces histogrammes des orientations 3D obtenus par le script précédent.