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

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

Plus en détail

TI – Traitement d`Images Introduction à ImageJ Olivier

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

Plus en détail

Programmation ImageJ

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

Plus en détail