# ImageJ

ImageJ est un logiciel multiplate-forme, libre et open source de traitement et d'analyse d'images développé par les National Institutes of Health, en 1997. Il est écrit en Java et permet l'ajout de fonctionnalités via des plugins et macros.
ImageJ est exécuté comme un applet téléchargeable sur tout ordinateur disposant d'une machine virtuelle Java 5 ou ultérieure. Des distributions pour Microsoft Windows, Mac OS, Mac OS X, Linux, et Zaurus sont disponibles en téléchargement.
Le développeur du projet, Wayne Rasband, fait partie du Research Services Branch du National Institute of Mental Health.

## Caractéristiques

ImageJ est un logiciel libre : le code source est en accès libre et peut être modifié. C'est un logiciel multiplateforme, en raison de son fonctionnement sur une machine virtuelle Java.
ImageJ peut visualiser, éditer, traiter, et analyser les images ou des piles d'images (stack) en 8-bits, 16-bits, 32-bits et les images couleur. ImageJ est capable d'ouvrir et sauver des images dans de nombreux formats, notamment en TIFF, PNG, GIF, JPEG, BMP, DICOM, FITS, mais aussi des images en format brut (raw).
La plupart des opérations courantes de traitement d'images sont réalisables avec ImageJ : visualisation et ajustement de l'histogramme des niveaux de gris, débruitage, correction d'éclairage, détection de contours, transformation de Fourier directe et inverse, seuillage, opérations logiques et arithmétiques entre images, et d'une manière générale, tout type de transformation linéaire par définition personnalisée de masques.
Ses fonctions sont extensibles ; plus d'une centaine de plug-ins sont disponibles, qui abordent des domaines jusque là réservés aux logiciels commerciaux comme Aphelion : manipulation et visualisation d'images tridimensionnelles, contours actifs (« snakes »)... Des traitements issus de la morphologie mathématique sont ainsi disponibles : érosion/dilatation, filtrages médians et morphologiques tridimensionnels, filtres diffusifs, ligne de partage des eaux, squelettisation...
Par ailleurs, il est possible de combiner les fonctions natives ou ajoutées en créant des macros – la maîtrise de Java n'est pas alors nécessaire.
En analyse d'image, ImageJ permet de dénombrer des particules, d'évaluer leurs ratios d'aspect, de mesurer diverses grandeurs (distances, surfaces), d'extraire des coordonnées de contours...
ImageJ se présente sous la forme d'une fenêtre principale flottante qui ouvre des fenêtres de données, elles aussi flottantes. La fenêtre principale contient les menus et les boutons des outils disponibles (sélection rectangulaire, ovale, main libre, etc.).
Sur les autres projets Wikimedia :
* Programmation objet en JavaScript avec ImageJ, sur Wikibooks

## Applications

ImageJ a été initialement développé pour des applications biomédicales. Il permet par exemple de faire des analyses de gels d'électrophorèse, ou de la détection et analyse de tumeurs. Son usage s'est depuis étendu à d'autres domaines, comme la science des matériaux (par exemple : détermination de tailles de grains, déterminations de taux de porosités sur des matériaux composites, traitement d'images obtenues par microtomographie X).

## ImageJ2

Une version 2 nommée ImageJ2 est en cours de développement. Elle peut déjà être utilisée en installant Fiji. ImageJ2 peut être appelée depuis Python via la bibliothèque pyimagej.