Segmentation et Analyse d`image - TP 1
Transcription
Segmentation et Analyse d`image - TP 1
Université Bordeaux 1 Master ISM, Image 3D 2013/2014 Segmentation et Analyse d’image - TP 1 Introduction à ImageJ ImageJ est un logiciel libre écrit en JAVA permettant de traiter et analyser des images 2D ou 3D. Il offre de nombreuses fonctionnalités qu’on peut compléter par le biais de macros ou de plugins. Le site web d’ImageJ se trouve à l’adresse http://rsbweb.nih.gov/ij/. Pour l’exécuter, il suffit d’appeler le script run qui vous est fourni. Ce script contient essentiellement la ligne suivante où <PLUGINDIR> est le chemin d’accès aux éventuels plugins et <IMAGEDIR> le chemin de l’archive java de ImageJ : java -Dplugins.dir=<PLUGINDIR> -cp <IMAGEJDIR>/ij.jar ij.ImageJ Utiliser ImageJ pour le traitement et l’analyse d’images 2D De nombreuses images sont disponibles pour les tests via [File/Open Samples]. Vous trouverez toute la documentation nécessaire à partir de l’item Menu Commands de la partie Documentation des pages web d’ImageJ . 1. Testez le calcul d’histogramme [Analyze/Histogram], les seuillages [Image/Adjust/Threshold], la détection de contours [Process/Find edges], le réglage du contraste. 2. Ouvrez le sample Diatoms (disponible sur le web via [File/Import/URL] à l’adresse http://rsbweb.nih.gov/ij/images/Diatoms.jpg). Comment procéder pour obtenir les contours principaux des objets en noir sur fond blanc ? 3. Ouvrez le sample Embryos. On cherche à mesurer et compter les grosses cellules circulaires. Seuillez l’image après l’avoir convertie en niveaux de gris. Eliminez le bruit. Cliquez ensuite avec l’outil baguette sur une cellule bien circulaire de façon à la sélectionner. Mesurez la avec [Analyze/Measure] de façon à obtenir une information d’aire, de périmètre et de circularité. Sélectionnez d’autres cellules (notamment les agrégats moins circulaires). Cela vous donne d’autres informations (aire/circularité). En déduire les valeurs de [Analyze/Analyze particles] qui permettront de capturer à la fois les cellules circulaires et les agrégats un peu moins circulaires mais de taille proche. 4. Comptez le nombre de particules blanches dans TEM_Filter. Utiliser ImageJ pour la visualisation et le traitement d’images 3D Une image 3D est représentée dans ImageJ sous la forme d’une pile (stack) d’images 2D. 1. Ouvrez le sample MRI Stack. Parcourez la pile d’images avec la barre de défilement. Ouvrez ensuite le volume viewer [Plugins/3D/Volume Viewer]. Changez le z-aspect à 4. Visualisez ensuite le volume de données. Reconnaissez les yeux, la matière blanche et la matière grise. 2. Ouvrez l’image flybrain.zip (disponible via [File/Import/URL]). Visualisez le volume de données avec le plugin [Plugins/3D/ 3D Viewer]. Une documentation du plugin est disponible sur http://3dviewer.neurofly.de/. Testez en particulier les transformations (rotation, translation, zoom). 3. Le fichier sphere.tif contient un dégradé sphérique centré au milieu du volume de données. Ouvrez l’image avec 3D Viewer et visualisez une isosurface du dégradé. Modifiez le seuil définissant la surface. 4. Utilisez de même 3D Viewer pour visualiser la surface de la région segmentée stockée dans l’image bat-cochlea-volume.zip. Cherchez quels plugins existants d’ImageJ peuvent être utilisés pour obtenir des informations géométriques associées à une région 3D. 5. Les différents filtres de traitement d’image sont-ils applicables aux piles d’images ? Sont-ils calculés image par image ou réellement sur le volume 3D ? Ecrire un plugin pour ImageJ Vous pouvez consulter la documentation de l’API ImageJ sur : http://rsbweb.nih.gov/ij/developer/api/. 1. On vous fournit un premier exemple de plugin : Binarize_2D_Image.java. Ce plugin permet de binariser une image en niveau de gris relativement à un seuil choisi par l’utilisateur. Essayez le et comprenez en détail son code. Remarquez que le nom du plugin contient un souligné de façon à ce qu’il apparaisse dans la liste proposée par ImageJ . Vous trouverez un tutorial complet à l’adresse : http://imagingbook.files.wordpress.com/2013/06/tutorial171.pdf 2. Modifiez ce plugin de façon à ce que le seuil soit calculé automatiquement par la méthode de Otsu. Le seuil trouvé correspond-il à celui proposé par ImageJ ? 3. Même question en 3D (le plugin de départ est Binarize_3D_Image.java). Un objet ImagePlus contient des méta-données (titre,...) et une instance de la classe ImageProcessor (image 2D) ou une instance de la classe ImageStack (image 3D). Dans le cas d’une image 3D, la méthode getProcessor fournit un ImageProcessor qui donne accès aux pixels de la coupe courante. On modifie la coupe courante par le biais de la méthode setSlice de la classe ImagePlus. 2
Documents pareils
ImageJ
plugins. Le site web d’ImageJ se trouve à l’adresse http://rsbweb.nih.gov/ij/.
Pour l’exécuter, il suffit d’appeler le script run qui vous est fourni. Ce script contient essentiellement la ligne su...
TI – Traitement d`Images Introduction à ImageJ Olivier
Entrées d'un PlugInFilter
La méthode setup() retourne une combinaison des constantes (int) :
Types d'images : le plugin traite ...
DOES_8G : des images en niveaux de gris sur 8 bits (entiers positi...
Programmation ImageJ
le même nom à votre fichier source que celui de la classe publique de votre programme. Ici
notre code sera donc sauvegardé sous le nom de PremierScript (respecter là aussi la casse).
main
Le mot ...