Fiche logiciel validé
  • Création ou MAJ importante : 19/09/08
  • Correction mineure : 23/09/08
Auteur :
  • Nicolas Lebas - LPPA (Collège de France)
Relecteur(s) :
Responsable thématique :
Mots-clés

ImageJ : analyse d'images multiplateformes

Description
Fonctionnalités générales : 

ImageJ est un logiciel libre d’analyse et de traitement d’images, inspiré à l’origine du logiciel NIH Image pour Macintosh.
Un certain nombre de traitements d’images basiques sont disponibles par défaut : seuillage, convolutions, morphologie mathématique, comptage d’objets…

Autres fonctionnalités: 

ImageJ est un logiciel évolutif pour lequel il est possible d’ajouter des fonctionnalités sous la forme de plugins Java ou de macros (instructions propres à ImageJ). De nombreux plugins sont disponibles sur différents sites.
Il existe également une version spécialialisée pour la microscopie, contenant par défaut des fonctionnalités utiles dans ce domaine: site web.
Un module de visualisation 3D est présent sur le logiciel (objets reconstruits à partir d’images provenant de coupes sériées), mais il est malheureusement très limité.

Interopérabilité: 

Le logiciel lit et exporte les images dans les formats les plus courants (TIFF, BMP, JPG, GIF, PNG…).

Contexte d'utilisation: 

C’est un logiciel léger qui est utilisé dans différents domaines (biologie, physique, …) et fonctionne sur tous les systèmes d’exploitation. Les développeurs Java apprécieront son API documentée dans le cadre de développement de plugins. A titre d’exemple, le laboratoire de génétique cellulaire (INRA) utilise le plugin ImageJ Smart Fish3D pour mesurer les distances 3D entre certains gènes et leurs chromosomes. Notez qu’il est aussi possible d’embarquer ImageJ en entier (fichier jar) dans une application Java de façon à l’utiliser comme une librairie (cf AGscan).

Limitations, difficultés, fonctionnalités importantes non couvertes: 

Les limitations sont surtout dues au langage de programmation dans lequel ImageJ a été écrit : Java.
Il est donc un peu lent (surtout pour de gros traitements) et parfois gourmand en mémoire. De plus, certains systèmes limitent la taille maximum de mémoire allouée pour la machine virtuelle Java.
La possibilité d’écrire soi-même ses propres plugins est un plus mais demande une connaissance du langage Java.

Environnement du logiciel
Plates-formes : 

Toutes les plate-formes sur lesquelles Java est utilisable.

Environnement de développement
Eléments de pérennité: 

Large communauté d’utilisateurs et de contributeurs à travers le monde.

Environnement utilisateur
Liste de diffusion ou de discussion, support et forums: 

Les différentes listes de diffusion sont disponibles ici