Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Elle
est mise à la disposition du Département de physique pour tous ses étudiants. Toutefois la
propriété intellectuelle reste totalement celle de son auteur quelles que soient les évolutions
subies par la séance.
Avertissement. Pour cette séance de travaux pratiques, le choix d’un logiciel de traitement
d’image a été posé. Le but de la séance est la découverte de l’image numérique et de quelques
concepts y afférents. Le logiciel en tant que tel doit être perçu comme un outil et non comme
la finalité de la séance.
1.1. ImageJ
ImageJ est un logiciel du domaine public développé et maintenu par le National Institutes
of Health (NIH) des USA. Initialement écrit pour les ordinateurs Macintosh, il a été ensuite
converti en Java et est ainsi devenu multi-plateforme. ImageJ fonctionne sous les systèmes
d’exploitation Linux, Mac OSX et Windows, à la fois en mode 32 et 64 bits. Il est
régulièrement mis à jour, il ne nécessite que des ressources hardware limitées, il est
d’installation aisée et il est totalement gratuit.
Le choix d’ImageJ pour cette séance de travaux pratiques permet à chaque étudiant de
disposer librement du logiciel sur son ordinateur personnel. Le logiciel et de multiples
ressources sont disponibles à http://imagej.nih.gov/ij
Sur les ordinateurs PC mis à la disposition des étudiants lors des séances encadrées de
travaux pratiques est installée la version 1.46r sous le système d’exploitation Windows XP.
1.2. Images
Démarrez ImageJ à l’aide d’un double click sur l’icône ImageJ qui figure sur le
bureau.
Sous Windows, une seule fenêtre apparaît. Elle comporte les menus d’ImageJ et la barre
d’outils. Cette dernière peut être personnalisée en cliquant sur la case située à l’extrême
droite et en sélectionnant l’option voulue dans la liste qui est apparue.
Barre des menus et fenêtre ImageJ (version 1.45d) sous Mac OS X (10.7.5)
Vérifiez la version installée en allant dans Help > About ImageJ… (la version installée
peut aussi être obtenue en plaçant à l’aide de la souris le curseur sur une case vierge qui se
trouve à droite dans la barre des menus).
La version doit être ImageJ 1.46r.
Ne fermez pas cette fenêtre.
Note. Sous Mac OSX, la fenêtre About ImageJ s’obtient via File > A propos de ImageJ.
2.1. Pixels
Rappel :
« Une image numérique est constituée d’une mosaïque de cellules élémentaires appelées
pixels (contraction de l’expression anglaise picture cells). En général, les pixels sont de taille
identique et sont arrangés en lignes et colonnes sous forme d’une matrice. Chaque pixel est
repéré par le numéro de la ligne m et celui de la colonne n auxquelles il appartient. L’image
est alors une série d’éléments qui peuvent être dénotés im,n .
Le nombre de lignes et le nombre de colonnes constituent deux des trois paramètres
essentiels qui caractérisent une image numérique. Le troisième paramètre est le type de
compteur associé à chaque pixel: il peut être binaire (2 valeurs = 21, 1 bit informatique), de
256 valeurs (28, 8 bits), de 4 096 valeurs (212, 12 bits), de 65 536 valeurs (216, 16 bits), de 16
777 216 valeurs (224, 24 bits), voire encore plus. Ce compteur sert à stocker sous forme
numérique l’information propre à chaque pixel. »
(extrait de Imagerie médicale – bases physiques, A. Seret et M. Hoebeke, Presses
Universitaires de Liège, 2012)
Quand des valeurs peuvent être positives ou négatives, cette information doit également
figurer dans le compteur. Ceci est réalisé en utilisant un des bits du compteur qui est alors dit
compteur signé. Par opposition, le compteur est dit non signé lorsqu’aucun bit n’est utilisé
pour indiquer le signe.
L’image qui est apparue dans la fenêtre About ImageJ laisse clairement ressortir dans
les régions colorées sa composition en pixels.
Pourquoi les pixels sont-ils peu ou pas visibles dans la région sombre ?
Indication Signification
bridge
gif
8 bit
L’image a été ouverte par le logiciel sans intervention de l’opérateur. Le « .gif » qui suit
le nom du fichier permet au logiciel de savoir où trouver dans le fichier les informations
indispensables. Celles-ci sont au minimum, le nombre de lignes et de colonnes de pixels, le
type de compteur associé à chaque pixel et la position dans le fichier du premier bit du
premier pixel de l’image. Ces informations et d’autres sont contenues dans une partie du
fichier souvent appelée en-tête (header) et qui généralement précède dans le fichier l’image
proprement dite.
ImageJ ouvre les séries d’images sous forme de piles (stacks). Il est possible de visualiser
chacune des images séparément grâce à la fonction Image > Stacks > Stack to Images qui
crée autant de fenêtres qu’il y a d’images.
Il existe de multiples façons pour composer un fichier image. Les plus communes sont
actuellement (dans l’ordre alphabétique) : bitmap, gif, jpeg, jpeg 2000, png, tiff. Elles ont
chacune leurs avantages et leurs inconvénients. L’exposé et la discussion de ceux-ci sortent
du cadre de ces travaux pratiques.
L’imagerie médicale a développé une norme de fichier qui lui est propre et qui convient à
toutes les modalités d’imagerie médicale. Cette norme est le Digital Imaging and
Communications in Medicine, en abrégé DICOM. Le développement de cette norme a
grandement facilité l’échange des images entre les diverses modalités d’imagerie médicale,
leur distribution vers les prescripteurs et les patients, leur archivage centralisé. Elle est
aujourd’hui largement utilisée. ImageJ permet l’ouverture automatique d’un fichier DICOM
(fichier avec extension « dcm »).
File > Open > CT.dcm.
L’image qui apparaît provient du fichier DICOM CT.dcm. Il s’agit de l’image de
positionnement qui permet de définir la région à explorer en tomodensitométrie (CT-scan).
Fermez la fenêtre.
File > Open > Cardio.dcm.
Apparait l’image du fichier DICOM Cardio.dcm. Il s’agit d’un rendu tridimensionnel en
couleurs d’une exploration par tomodensitométrie d’un cœur humain.
Fabricant du CT
Modèle de CT
Date de l’examen
Nombre d’images
Un logiciel de visualisation ne peut ouvrir automatiquement que des fichiers dont le type
a été inclus dans sa conception. Dans ImageJ, cela se fait assez classiquement via File >
Open. Il est parfois nécessaire que l’opérateur précise au logiciel le type du fichier pour qu’il
puisse être ouvert automatiquement. Dans ImageJ, ceci se réalise via File > Import et la
sélection du type parmi la liste proposée.
Dans la norme Interfile, le header et l’image figurent soit dans un seul fichier, soit dans deux
fichiers séparés. Le header comporte le nom du fichier image (identique ou non à celui du
fichier header) ainsi que la position du premier bit du premier pixel de l’image dans le fichier
qui comporte l’image. Cette position est donnée par la valeur de !data offset in bytes.
Ouvrez avec l’éditeur de texte d’ImageJ le fichier Mains.HDR.
Retirez-en les informations suivantes.
Pixel signé ?
Nombre de lignes
Nombre de colonnes
Position du premier bit du premier pixel dans
le fichier image
Nombre d’images
Image Value
big-endian
little-endian
Une des valeurs vaut à peine quelques dizaines, alors que l’autre atteint plusieurs
milliers. Or l’avant-avant-dernière ligne du header, !maximum pixel count, donne une valeur
de pixel maximale de 42 !
Ne fermez pas les fenêtres des deux images.
ImageJ permet d’obtenir une série d’informations sur la ou les images de la fenêtre active
en pressant la touche <I>.
Lisez les informations fournies par ImageJ sur l’image main obtenue en big-endian et
sur celle obtenue en little-endian.
Quelle est la seule information qui diffère hormis la valeur du ID (ce ID est interne à
ImageJ) ?
Est-ce cohérent avec les informations contenues dans le fichier header Mains.HDR et à
votre relevé de valeurs des pixels au niveau d’une des hyperactivités de la main gauche ?
Rappel :
« L’histogramme d’une image est la fonction qui associe à chaque valeur possible de
l’image le nombre de pixels qui présentent cette valeur. Il constitue un outil simple et il est
fréquemment utilisé dans les manipulations d’image qui visent à l’amélioration des contrastes
ou à la reconnaissance d’objets présents dans une image. »
(extrait de Imagerie médicale – bases physiques, A. Seret et M. Hoebeke, Presses
Universitaires de Liège, 2012)
Count :
Le bouton List vous permet d’obtenir le tableau des valeurs de l’histogramme, le bouton Log
de superposer au graphique avec une échelle linéaire un second avec une échelle
logarithmique pour l’axe des ordonnées.
Ouvrez parmi les exemples l’image gel.
Affichez son histogramme.
Quelle est la différence essentielle avec l’histogramme de l’image Blobs ?
Fermez les fenêtres Histogram mais conservez à l’écran les deux fenêtres images
(blobs.gif et gel.gif).
Rappel :
« Lors de la visualisation de l’image sur un écran ou de son impression, l’information
numérique de chaque pixel est restituée sous forme d’une nuance de couleur selon un code
appelé l’échelle de couleur. Le choix de l’échelle de couleur relève de l’opérateur. Une
même image peut ainsi prendre un aspect visuel très différent suivant le choix effectué.
Prenons comme exemple une image dont les compteurs sont de 4 bits (24 = 16 valeurs).
Proposons nous de construire une échelle de couleur comprenant les quatre gris suivants: noir,
gris foncé, gris clair, blanc (le noir et le blanc sont considérés comme les deux gris extrêmes).
Une façon de procéder est de décider que les pixels dont les valeurs sont comprises entre 0 et
3 seront noirs, ceux dont les valeurs sont comprises entre 4 et 7 seront gris foncés, ceux dont
les valeurs sont comprises entre 8 et 11 seront gris clairs et ceux dont les valeurs sont
comprises entre 12 et 15 seront blancs. »
(extrait de Imagerie médicale – bases physiques, A. Seret et M. Hoebeke, Presses
Universitaires de Liège, 2012)
Inspectez les indications qui figurent dans les deux fenêtres image et faites le lien avec
la différence que vous venez de relever.
4.2. Fenêtrage
Rappel :
« Prenons comme exemple une image dont les compteurs sont de 4 bits (24 = 16 valeurs).
Si toutes les valeurs des pixels sont comprises entre 3 et 10, les différences entre les pixels
seront mieux visualisées avec l’échelle de couleur suivante: noir pour 3 et 4, gris foncé pour 5
et 6, gris clair pour 7 et 8, blanc pour 9 et 10. On procédera de même si on ne souhaite obtenir
un contraste visuel que pour les valeurs des pixels entre 3 et 10, même si certains pixels
présentent des valeurs inférieures à 3 ou supérieures à 10. L’image est alors visualisée dans
une fenêtre de valeurs. Ceci est régulièrement utilisé en radiologie.
Le fenêtrage peut être aisément indiqué en mentionnant les valeurs minimales min et
maximales MAX de l’image entre lesquelles les nuances de couleur sont réparties. »
(extrait de Imagerie médicale – bases physiques, A. Seret et M. Hoebeke, Presses
Universitaires de Liège, 2012)
Minimum (min)
Maximum (MAX)
Brightness
Contrast
Bouton
Auto
Reset
Set
Apply
Rappel :
« Une autre méthode est toutefois régulièrement utilisée, notamment en radiologie. Elle
consiste à donner la valeur médiane dénommée niveau (ou level en anglais) L et la largeur
(ou width en anglais) W de la plage des valeurs couvertes par les nuances de couleur.
L = (MAX + min) / 2
Level (L)
Window (W)
Fixez une valeur de Level et une valeur de Window et reportez ces valeurs dans le
tableau ci-dessous.
Ouvrez la fenêtre B&C.
Elle remplace automatiquement la fenêtre W&L.
Reportez les valeurs du minimum et du maximum dans le tableau ci-dessous.
Paramètre Valeur
Level
Window
Minimum
Maximum
Vérifiez les deux relations entre ces quatre paramètres rappelées ci-dessus.
L = (MAX + min) / 2 =
Etablissez les relations qui permettent à l’inverse de calculer MAX et min à partir de L
et W et vérifiez-les pour les données du tableau ci-dessus.
ImageJ comporte une série d’échelles de couleur prédéfinies. Elles sont accessibles via
Image > Look-Up Tables > Sélection de l’échelle souhaitée ou inversion de l’échelle
(Invert LUT).
La mesure d’une distance entre deux points d’une image se fait en général en traçant un
segment de droite entre les deux points ou en positionnant le curseur successivement sur un
point puis sur l’autre, et finalement en activant l’outil de mesure pertinent.
Dans ImageJ, un segment de droite peut être tracé en activant l’outil de traçage de ligne
disponible dans la fenêtre ImageJ (l’épaisseur du trait se règle via Edit > Options > Line
Width…).
Quant aux mesures, elles s’obtiennent via Analyze > Measure et elles s’affichent dans une
fenêtre Results.
Divers paramètres peuvent être fournis par la fonction de mesure. Ceux qui apparaitront dans
la fenêtre Results sont choisis via Analyze > Set Measurements…
Toutefois, certains paramètres sont automatiquement fournis. Pour un segment de droite, il
s’agit de son angle avec « l’horizontale » et de sa longueur.
L’unité de mesure n’est clairement pas le cm. Ceci provient du fait qu’ImageJ ne dispose pas
de la longueur de l’arête d’un pixel.
Fermez la fenêtre Results.
La longueur de l’arête d’un pixel (supposé carré) est communément appelée la taille du
pixel. La présence d’une règle graduée, ou plus généralement d’un objet de dimension
connue, permet de calculer la taille du pixel.
Remarquez qu’ImageJ n’est guère explicite sur les unités utilisées ! Pour retrouver l’unité de
Lengths, il faut retourner dans Analyze > Set Scale).
Mesurez la longueur de la nervure centrale de la feuille.
Longueur de la nervure centrale :
Ouvrez l’image Thyr qui se trouve en format Interfile dans le dossier Images. Vous
trouverez dans le header la taille du pixel.
Quelle est la taille du pixel ?
Un contour fermé dessiné sur une image est appelé zone d’intérêt, souvent abrévié en
ROI (Region Of Interest).
D G
Le volume (V) d’un lobe sera évalué à l’aide de la formule du volume d’un ellipsoïde de
révolution :
Lobe gauche
Lobe droit
Les logiciels proposent généralement d’obtenir pour les pixels intérieurs à une ROI, la
valeur moyenne, le nombre de pixels inclus et quelques paramètres statistiques de dispersion
(minimum, maximum, médiane, écart-type,…)
ImageJ offre cette fonctionnalité via l’outil de mesure déjà utilisé précédemment à condition
d’avoir paramétré adéquatement ce dernier afin que s’affiche dans la fenêtre Results les
paramètres souhaités.
Configurer l’outil Mesure afin d’obtenir les valeurs de paramètres suivants : surface,
moyenne, minimum, maximum, écart-type.
Ouvrez Dot_Blot.
Edit > Invert (cette opération est particulière à cet exemple, elle ne doit pas
nécessairement être réalisée avec toutes les images).
Contourez au plus juste le disque qui vous paraît le plus clair à l’aide de l’outil de
traçage d’ovale.
Déplacez dans la région uniforme qui entoure le disque la ROI sans en modifier les
dimensions.
Valeur moyenne dans la ROI placée dans la région uniforme :
V2 =
Calculez le contraste en utilisant la formule .
Calculez le contraste pour le disque que vous visualisez le moins bien en utilisant la
ROI tracée précédemment.
V1 =
V2 =
7.1. Principe
M/2
LMH
AG AD
La résolution d’une -caméra a été mesurée à l’aide d’un capillaire qui contient une
solution de l’émetteur Tc-99m sous forme de pertechnétate. Le capillaire a été
successivement placé à 10, 15, 20, 25 et 30 cm du collimateur parallèle (basse énergie, très
haute résolution) de la caméra.
Ouvrez l’image L1_R10-Z1-M256 du dossier Images.
Communiquez à ImageJ la taille du pixel.
A l’aide de l’outil adéquat, tracez un court (30 à 50 pixels de longueur) segment de
droite d’épaisseur 1, perpendiculaire au capillaire et passant approximativement par le centre
de celui-ci. La courte longueur du segment de droite n’est pas impérative mais elle rend plus
facile les mesures qui suivent.
Analyze > Plot profile.
Ordonnée (M) du maximum : M =
M1/2 = M/2 =
Repérez sur le flanc gauche du pic l’abscisse (AG) du pixel dont la valeur est la plus
proche de M1/2 : AG =
Repérez sur le flanc droit du pic de l’abscisse (AD) du pixel dont la valeur est la plus
proche de M1/2 : AD =
Calculez la LMH : LMH = AD - AG =
Répétez* les opérations précédentes afin de compléter le tableau ci-après.
L1_R10
L1_R15
L1_R20
L1_R25
L1_R30
*Toutes ces images possèdent un format identique, il n’est dès lors pas indispensable de
systématiquement consulter les fichiers en-têtes pour les ouvrir.
Tracez le graphique de la LMH en fonction de la distance au collimateur.
Pour une -caméra, la PSF et la LSF sont en très bonne approximation des courbes
gaussiennes. Certains logiciels d’image permettent de faire un ajustement de courbe sur des
points de mesure. C’est notamment le cas d’ImageJ à travers son outil Curve Fitting.
Rendez active la fenêtre image L1_R10-Z1-M256.IMG.
Si le segment de droite n’y est plus présent, tracez-en un nouveau.
Analyze > Plot Profile.
LIST.
Edit > Select All (sélection de toutes les valeurs x et y de la fenêtre Plot Values).
Edit > Copy (les valeurs sélectionnées sont placées dans le tampon mémoire).
Fermez la fenêtre Plot Values.
Analyze > Tools > Curve Fitting …
Fenêtre Curve Fitter.
Sélectionnez à l’aide de la souris toutes les valeurs présentes dans la partie éditable de
la fenêtre et effacez-les.
Vérifiez que la partie éditable de la fenêtre est bien vide.
Copiez dans la partie éditable de la fenêtre le contenu du tampon mémoire ( ! n’utilisez
pas Edit > Paste qui ouvre une nouvelle fenêtre !).
Sélectionnez dans le menu déroulant Gaussian.
Fit.
Le logiciel effectue un ajustement d’une fonction gaussienne sur les points de mesure, les
paramètres de l’ajustement et la fonction apparaissent dans deux nouvelles fenêtres. Le
paramètre d est l’écart-type de la fonction gaussienne. Il est lié à la LMH par la relation (voir
encadré ci-dessous).
√
Calculez la LMH à partir de la valeur de d obtenue.
LMH =
Les résultats numériques obtenus au point précédent ont une répercussion profonde sur
une image. Afin d’illustrer celle-ci, vous êtes maintenant invité à visualiser trois images d’un
même objet, un ensemble de trois capillaires faiblement espacés, placé successivement à 10,
15 et 20 cm de la caméra.
Ouvrez l’image L3_R10-Z2-M256 du dossier Images.
Ouvrez l’image L3_R15-Z2-M256 du dossier Images.
Ouvrez l’image L3_R20-Z2-M256 du dossier Images.
Comparez visuellement les trois images.
Que pouvez-vous en conclure quant à la distance qui sépare la région explorée d’un
être vivant d’une -caméra ?
Sont parfois réalisées des explorations par imagerie qui visent à déterminer l’évolution au
cours du temps d’une région cible d’un organisme. De telles explorations consistent à obtenir
de multiples images de la région prises à divers moments. Cette série d’images est analogue à
un film. Elles permettent de visualiser un phénomène dynamique et, dans certains cas, d’en
déterminer des paramètres cinétiques.
ImageJ permet de faire défiler les images une à une dans un sens ou dans l’autre en utilisant
Image > Stacks > Next Slice ou < > > pour passer à l’image suivante, ou Image > Stacks
> Previous Slice ou < < > pour revenir à l’image précédente.
Amandine s’est déplacée nettement pendant son examen (pour rappel chaque image
correspond à 1 s).
Quand ce déplacement commence-t-il ?
List.
Importez dans l’outil d’ajustement de courbe les valeurs correspondantes à la phase de
descente et effectuez un ajustement pour une courbe Exponential.
Que vaut b ?
b=
( ) ( ) ( )
⁄
9.1. FFT
Rappel :
La transformation de Fourier convertit une fonction f(x,y) en une nouvelle fonction
F(νx,νy), où les coordonnées d’espace x et y sont remplacées par de nouvelles coordonnées,
les fréquences (spatiales) νx et νy. De la même façon qu’à chaque couple (x,y) correspond une
valeur de f, à chaque couple (νx,νy) correspond une valeur de F. Lorsque f(x,y) décrit une
image, F(νx,νy) est la transformée de Fourier de l’image.
ν νy ν si θ
θ
ν ν ν
νx
Si vous déplacez à l’aide de la souris le curseur sur la fenêtre FFT of Clipboard, les
valeurs ν et θ sont indiquées dans la fenêtre ImageJ. ν est la valeur entre parenthèses et θ la
valeur de theta. Value est la valeur de F en un point (ν,θ).
En imagerie par résonance magnétique (IRM), les données acquises par l’instrument sont
la transformée de Fourier de l’image. Une transformée de Fourier inverse leur est appliquée
afin d’obtenir l’image.
En IRM, les séquences d’acquisition très rapides impliquent que seules les données
correspondant aux basses fréquences sont acquises. Les données correspondant aux autres
fréquences sont délibérément abandonnées afin d’obtenir des très courtes durées d’acquisition
des images. Quelle est l’implication sur l’image finale ?
Des filtres dits passe-bas sont souvent utilisés pour réduire le bruit. Ces filtres laissent
intactes les contributions des plus basses fréquences, réduisent celles des fréquences
intermédiaires et annulent celles des plus hautes fréquences.
Outre la réduction du bruit souhaité, quel est l’effet prévisible d’un tel filtre sur une
image ?
Les filtres qui permettent le rehaussement des bords des objets (edge enhancement filter)
procèdent par élimination des plus basses fréquences d’une image. Le résultat que vous venez
d’obtenir est analogue à celui produit par de tels filtres.
Fermez toutes les fenêtres ouvertes à l’exception de la fenêtre ImageJ.
« La tomographie est la technique qui permet d’obtenir l’image d’un volume sous forme
de coupes de plans parallèles, et idéalement jointifs. Cette technique est une des très belles
applications des mathématiques et de l’informatique à la médecine. »
(extrait de Imagerie médicale – bases physiques, A. Seret et M. Hoebeke, Presses
Universitaires de Liège, 2012)
PC : Edit > Options > Appearance > Activer Interpolate zoomed images > OK.
Mac : Edit > Properties > Activer Interpolate zoomed images > OK.
Remarque. Pour les vidéos, choisissez les fichiers avec l’extension .avi sous Windows et avec
l’extension .mov sous Mac OSX.
L’arc de rotation est divisé en un nombre de pas angulaires équidistants que la caméra
parcourt successivement en marquant à chaque pas une période d’arrêt de quelques secondes
pendant laquelle une image 2D, une projection, du volume étudié est enregistrée. En
négligeant la dépendance de la résolution envers la distance qui sépare la source des photons
et le collimateur, chaque projection est une projection droite (orthogonale) du volume étudié
sur le plan du détecteur de la caméra comme le suggère la figure suivante.
Le repérage dans le plan de projection peut s’effectuer aisément à l’aide d’un système de
deux axes cartésiens X et Y. Ils sont représentés à la figure suivante tels que ImageJ les
dispose.
à un sinogramme ?
La troisième vue procurée automatiquement par l’outil Orthogonal Views d’ImageJ n’est pas
10.3. Rétroprojection
« L’application d’un filtre adéquat aux projections permet d’obtenir une reconstruction
par rétroprojection des projections filtrées qui génère nettement moins l’artefact en étoile
« Le filtre le plus adéquat est un filtre dont la transformée de Fourier est une rampe linéaire de
pente unitaire. Il amplifie d’autant plus une fréquence que celle-ci est élevée. Cette propriété
apporte la résolution. Mais il amplifie aussi considérablement le bruit. Ceci est
particulièrement gênant lorsque le nombre de photons collectés par pixel est faible. C’est
pratiquement toujours le cas en tomographie d’émission, mais l’est également parfois en
tomodensitométrie. Pour pallier à cet inconvénient, le filtre rampe est modifié afin de limiter
la contribution des hautes fréquences (figures 7.16). La contribution amoindrie des hautes
fréquences entraîne inévitablement une perte de résolution. La façon dont le filtre rampe est
modifié résulte, par conséquent, d’un compromis entre deux souhaits antagonistes : une image
reconstruite présentant un niveau de bruit le plus faible possible et une perte de résolution
minimale. »
FIN