# ImageJ

ImageJ è un programma informatico di elaborazione digitale delle immagini, rilasciato nel pubblico dominio, basato su Sun-Java; sviluppato dal National Institutes of Health degli Stati Uniti. ImageJ è stato progettato con una open architecture che prevede la possibilità di avere estensioni tramite piccoli sottoprogrammi "plugin Java" e molte macro registrabili.
Sono disponibili dei plugin "ad hoc" per l'acquisizione, l'analisi ed il processamento delle immagini, che possono essere "stacks", cioè fettine impilate di una sezione cubica (formati da voxel di dati a 8, 16 o 32 bit, caratterizzati da avere coordinate topografiche tridimensionali) memorizzate come un unico file, che possono essere in seguito evidenziate (ROI), trasformate, rigirate o deformate in base a diversi criteri.

## Caratteristiche
### Editor di plugin

ImageJ possiede un editor di plugin incorporato ed un compilatore Java. Molti plugin scritti dagli utenti gli rendono possibile risolvere molti problemi di processamento delle immagini e di analisi, dalla visualizzazione di cellule viventi tridimensionali, all'image processing in radiologia, il confronto tra i dati di molteplici sistemi di imaging fino a sistemi automatizzati per l'ematologia.
L'architettura a plugin di imageJ e l'ambiente di sviluppo in esso incorporato lo hanno reso una piattaforma molto popolare per l'insegnamento del processamento delle immagini.
ImageJ può essere fatto girate come un applet online, come un'applicazione scaricabile dalla rete, oppure su qualsiasi computer (Mac, Linux, Windows) che abbia installato la macchina virtuale Java 1.4 o versioni posteriori. Versioni scaricabili dalla rete sono disponibili per Microsoft Windows, Mac OS, macOS, Linux, e per il computer palmare Sharp Zaurus. Il codice sorgente per ImageJ è liberamente scaricabile.
Lo sviluppatore del progetto, Wayne Rasband, è un membro dell'istituto "Research Services Branch" del National Institute of Mental Health (USA).

### Formati di immagine supportati

ImageJ può visualizzare, editare, analizzare, processare, salvare, e stampare immagini a livelli di grigio (8 bit, 16 bit e 32 bit) ed a colori (8 bit e 24 bit). Può leggere molti formati di immagine inclusi TIFF, PNG, GIF, JPEG, BMP, DICOM, FITS, così come anche alcuni formati "raw". ImageJ supporta gli stack di immagini, serie di immagini sovrapposte (sia spazialmente come "sezioni" di un corpo tridimensionale, sia temporalmente come una sequenza di immagini bi o tri-dimensionali, comunque denominate "slices") che condividono una singola finestra, ed è abilitato al multithreading, in modo che alcune operazioni che richiedono molto tempo di calcolo possano essere eseguite in parallelo su hardware multi-CPU.

### Funzioni di calcolo e trasformazioni

ImageJ può calcolare l'area e le statistiche dei valore dei pixel in selezioni definite dall'utente e di oggetti segmentati in base a soglie di intensità. Può anche misurare distanze e angoli. Può creare istogrammi di densità e tracciare delle linee profilo (tra punti definiti). Supporta le funzioni di elaborazione standard delle immagini, come operazioni di tipo logico e aritmetico tra immagini, regolazione di luminosità e contrasto, convoluzione, analisi di Fourier, incremento della nitidezza, lo smoothing, riconoscimento dei contorni e filtraggio mediano, morfologia matematica. Esegue anche trasformazioni geometriche come lo scaling, rotazione e riflessione. Il programma può aprire qualsiasi numero di immagini simultaneamente, limitato soltanto dalla memoria RAM disponibile nel computer.

### Manuali in italiano

* Manuale-relazione su alcuni comandi e plugin di ImageJ (scritto da studenti dell'Università di Catania)
* Manuale-tutorial del CNR (powerpoint)
* Università di Bari: come costruire e distribuire un plugin-applet java per Image J
* Università di Udine: esercizi online di introduzione a ImageJ, su mitel.dimi.uniud.it.

## Storia

Prima dell'uscita di ImageJ nel 1997, era disponibile NIH Image, un sistema di analisi di immagini simile rilasciato come freeware, che era stato sviluppato per il Macintosh per l'omonimo sistema operativo. Successivi sviluppi di questo codice continuano sotto il nome di Image SXM, una variante messa a punto per la ricerca su immagini prodotte dal microscopio elettronico a scansione. Venne sviluppata anche una versione per Windows, portato su questa piattaforma dalla Scion Corporation. Entrambe le versioni sono ancora disponibili.