ImageJ - opis programu
ImageJ
1. WPROWADZENIE
ImageJ jest programem opracowanym przez Wayne Rasbanda z Narodowych
Instytutów Zdrowia (National Institutes of Health) i stanowi kontynuację programu
znanego jako NIH Image, który pracował na komputerach typu Macintosh. W
przeciwieństwie do swojego poprzednika ImageJ może pracować na komputerach
dowolnego typu.
Jest to program darmowy (public domain software), napisany w języku Java, jego
kolejne wersje, uzupełnienia, dokumentacja, jak również kody źródłowe dostępne są
pod adresem:
http://rsb.info.nih.gov/ij
Prezentowane omówienie dotyczy głównie wersji 1.43q.
Program pracuje z 8-, 16- lub 32-bitowymi obrazami szarymi (greyscale), jak również
z 24-bitowymi obrazami barwnymi. 1-bitowe obrazy binarne są przy otwieraniu
automatycznie przekształcane w obrazy 8-bitowe. Używamy zwykle plików w
formacie TIFF lub BMP, choć program może wykorzystywać także obrazy zapisane
w innych formatach.
Program wykonuje większość standardowych operacji związanych z przetwarzaniem
obrazów, jak również przeprowadza podstawowe pomiary i analizy. Dodatkowo
możliwości programu mogą być zwiększane przez coraz większą ilość wtyczek
(plugins), które również dostępne są na stronie internetowej ImageJ.
2. INSTALACJA
Program jest opracowany dla Windowsa, Linuksa i Mac OS X, przy ściąganiu można
wybrać wersje z Javą lub bez, 32- lub 64-bitową. Wersja 64-bitowa wymaga
oczywiści 64-bitowego Windowsa. Jej zaletą jest możliwość wykorzystania znacznie
większej pojemności RAM niż jest to możliwe przy wersji 32-bitowej.
ImageJ może wykorzystywać 75% rzeczywistej wielkości RAM, ale w wersji 32-
bitowej nie więcej niż 1,5 GB. Wersja 64-bitowa nie ma tego ograniczenia.
3. INTERFEJS
Okno programu ma standardowe dla Windowsa menu, toolbar i status bar.
Pasek stanu (status bar)
zawiera aktualne informacje o wykonywanych
czynnościach. Na rysunku powyżej podaje współrzędne położenia kursora na
ImageJ - opis programu
obrazie (x,y) oraz poziom szarości w każdym z kanałów RGB (value). Podobnie jak
we wszystkich programach do analizy obrazu za początek układu współrzędnych
x=0, y=0, przyjmuje się lewy górny róg obrazu.
Narzędziownik (toolbar)
Narzędzia do selekcji obszarów (ROI – region of interest).
Pozwalają na wyznaczenie o kształcie prostokąta, elipsy, wielokąta i o kształcie
nieregularnym.
Prostokąt.
Po jego narysowaniu współrzędne początku prostokąta, oraz jego
wysokość i szerokość wyświetlone są w pasku stanu. Użycie klawisza Shift przy
zaznaczaniu pozwala na uzyskanie kwadratu. Obszar selekcji może być przesuwany
przy pomocy kursora (należy umieścić kursor w obrębie prostokąta i nacisnąć lewy
klawisz). Małe kwadraciki na brzegach prostokąta pozwalają na zmianę jego
rozmiarów. Przy pomocy klawiszy
← ↑ → ↓
możemy przesuwać prostokąt z
dokładnością 1 piksela, a w kombinacji z klawiszem Alt zmieniać jego rozmiary.
Rozwijane menu (prawy klawisz myszy) pozwala na wybór prostokąta o
zaokrąglonych brzegach.
Kliknięcie na lewo od zaznaczonego obszaru likwiduje zaznaczenie.
Elipsa.
Użycie klawisza Shift pozwala na uzyskanie okręgu. Rozwijane menu (po
naciśnięciu prawego klawisza myszy) daje dodatkowe narzędzie do selekcji w
kształcie pędzla. Wielkość pędzla ustawiamy przy pomocy dwukliku.
Złożone obszary ROI
Trzymając wciśnięty Shift podczas wybierania ROI można dołączać nowy ROI do już
istniejącego.
Klawisz Alt pozwala na odselekcjonowanie fragmentu obszaru wewnątrza
zaznaczonego ROI
Linia
Narzędzie do rysowania linii.
Rozwijane menu pozwala na wybór między narzędziami do rysowania linii
prostej, segmentowanej, nieregularnej, lub na włączenie narzędzia do
rysowania strzałek. Linie wyrysowane tym narzędziem służą do celów
pomiarowych i nie wchodzą w skład obrazu. Aby narysowania linia stała się
częścią obraz trzeba skorzystać z polecenia Draw z menu Edit. To samo polecenie
może być wykorzystane do obrysowania każdego obszaru selekcji.
Kąty
Narzędzie do mierzenia kątów. Wynik pomiaru pojawia się w pasku stanu.
ImageJ - opis programu
Punktak (point tool)
Klikając na obiekty możemy jest zliczać. W oknie Results program wyświetli
współrzędne zaznaczonego punktu oraz jego poziom szarości (ewentualnie
średni poziom szarości z trzech kanałów w przypadku obrazów RGB). Wyniki
są wyświetlane automatycznie po zaznaczeniu opcji
Edit → Options → Point tool
→ Auto-measure
.
UWAGA – program zmienia kolor zaznaczonych punktów (przy wyborze wielkości
markera > 0), toteż ponowne zaznaczenie tego samego punktu dostarczy błędnej
informacji o jego poziomie szarości. Wielkość i kolor markera może być zmieniana
przy pomocy
Edit → Options → Point tool → Mark width
. Wielkość markera nie
ma wpływu na poziom szarości – jest on pobierany jedyne z centralnego punktu.
Narzędzie
Multi-point tool
z rozwijanego menu pozwala na zaznaczenie i
ponumerowanie wielu punktów. Polecenie
Measure (Ctrl-M)
powoduje wyświetlenie
wyników w oknie Results
Różdżka (wand)
Służy do zaznaczania obiektów zbinaryzowanych. Kliknięcie na lewo od
obiektu powoduje powstanie obrysu zewnętrznego
Na obrazach barwnych służy do zaznaczania obszarów o takim samym lub
podobnym poziomie szarości, jak punkt kliknięty. Zakres podobieństwa określa się
w menu wywoływanym przez dwuklik na ikonie - opcja
Tolerance
.
Narzędzia do pisania, przesuwania obrazu w oknie i powiększania
Do pomniejszania służy prawy klawisz, lub kombinacja Alt-click. Dwuklik na ikonie -
powrót do oryginalnych rozmiarów
Narzędzie wyboru koloru (color picker)
Pozwala na wybór koloru z obrazu. Wybrany kolor może być wykorzystany
przez wszystkie narzędzia do rysowania, do wypełniania ROI etc. Dwuklik na
ikonie otwiera paletę z kolorami.
Narzędzia do rysowania
Dwuklik na ikonach otwiera panele z opcjami dla narzędzi.
ImageJ - opis programu
4. MENU FILE
Menu File (plik) zawiera standardowe komendy związane z otwieraniem i
zamykaniem obrazu. Najbardziej przydatne opcje to:
New
Pozwala na utworzenie nowego obrazu (Ctrl + N), okna tekstowego (Ctrl + Shift +
N), wewnętrznego lub systemowego schowka (Ctrl + Shift + V). Submenu
New
Image
pozwala na okrelenie głębi bitowej, rozmiarów i tła nowego obrazu. Wpisując
w oknie Slices wartość większą niż 1 można utworzyć stos (stack) z wielu obrazów.
Open
Służy do otwierania obrazów. Aby otworzyć wiele obrazów jednocześnie trzeba w
Edit - Options - I/O Options
zaznaczyć
Use JFileChooser to Open/Save
.
Open Recent
Pozwala na łatwe otwieranie ostatnio otwieranych obrazów
Import
Szczególnie przydatna jest opcja
Image Sequence
. Otwiera wszystkie obrazy w
folderze jako jeden stos. Obrazy muszą być tego samego typu i mieć takie same
rozmiary.
Close
i
Close All
Służą do zamykania obrazów i innych otwartych okien programu (z wyjątkiem okna
Results)
Save i Save As
Służy do zapamiętywania obrazów. Jako default program zapamiętuje obrazy w
formacie TIF, przez Save As można wybrać innych format. Polecenie
Image
Sequence
pozwala na zapamiętanie obrazów ze stosu jako serii oddzielnych
obrazów.Opcja:
Selection
- pozwala na zapamiętanie parametrów ROI
Revert
Przywraca ostatnią zapamiętaną wersję przetwarzanego obrazu.
5. MENU EDIT
Undo
Cofanie ostaniej operacji. Nie działa przy stosach i przy wielu pluginach
Cut, Copy, Paste
Wycinanie, kopiowanie i wklejanie
Paste Control
Określa sposób wklejanie. Pozwala na takie same operacje artytmetyczne, co
Image
Calculator
, z tym że działa także na fragmentach obrazu
Clear
ImageJ - opis programu
Wypełnia wnętrze ROI kolorem tła.
Clear outside
Wypełnie obszar na zewnątrz ROI kolorem tła
Fill
Wypełnia ROI kolorem wybranym przez Color Picker
Draw
Obrysowuje ROI linią o barwie wybranej przez Color Picker, i grubości określoner
przez menu narzędzia do rysowania linii. W przypadku stosów funkcja może
wykonać rysunek na wszystkich obrazach stosu.
Invert
Wykonuje negatyw obrazu
Selection
Szereg opcji do modyfikowania i zarządzaniem wybranymi obszarami (ROI)
Szczególnie przydatna jest opcja
Convex Hull
- zmieniająca obszar selekcji na
wielokąt wypukły.
Polecenie
Specify
pozwala na stworzenie ROI przez podanie współrzędnych jego
początku i wymiarów. Polecenie:
Restore Selection
(Ctrl + Shift + E) pozwala na
przywrócenie ostatniego ROI, a także na skopiowanie ROI do innego obrazu.
Options
Pozwala na ustawienie rozmaitych parametrów programu i jego narzędzi.
Szczególnie przydatne: w
I/O
należy wybrać
Use JFileChooser...
co pozwala na
jednoczesne otwieranie wiele obrazów, a w
Memory
należy wpisać wartość
odpowiadającą 75% RAM.
6. MENU IMAGE
Type
Opcja służy do konwersji między różnymi typami obrazów. Z naszego punktu
widzenia interesujące są następujące formaty:
ImageJ - opis programu
• 8-bit grayscale. Obraz o 256 poziomach szarości (w skrócie obraz szary albo
monochromatyczny).
• RGB Color – Obraz z trzema kanałami, R,G i B, w każdym jest 8-bitowy obraz
szary z 256 poziomami szarości, a rożnica w poziomie szarości odpowiadających
sobie pikseli w każdym kanale jest odpowiedzialna za barwę. W tym formacie mamy
ponad 16 milionów kolorów. Jest to dla nas wyjściowy format, jako że większość
urządzeń zbierających obrazy z mikroskopów wytwarza właśnie tego typu obrazy.
• RGB stack – Kolorowy obraz RGB może być przekształcony w stos w którym
poszczególne kanały R,G i B będą wyświetlane jako oddzielne szare slajdy, w
kolejności: czerwony, zielony, niebieski. Są one wyświetlane w jednym oknie –
suwak na dole obrazu pozwala na przechodzenie między slajdami.
• HSB stack – stos w którym poszczególne slajdy odpowiadają barwie, wysyceniu i
jasności (hue, saturation, brightness).
Adjust
Submenu zawiera szereg fundamentalnych funkcji.
Brightness & Contrast
Służy do regulacji jasności i kontrastu. Okienko w górze
panelu wyświetla aktualny histogram obrazu oraz linię LUT.
Suwaki Minimum i Maksimum służą do wyboru zakresu
poziomów szarości oryginalnego obrazu, który to zakres
zostanie rozciągnięty do zakresu 0-255 na zmienionym
obrazie (patrz wykład 1). Auto - program sam ustawia
optymalne parametry, Reset - przywraca oryginalne
wartości, Set - to samo co suwaki, z tym że wartości
Minimum i Maksimum wpisuje się ręcznie. Apply -
wprowadza zmiany do obrazu.
Funkcje Brightness i Contrast są operacjami typu LUT -
określają sposób wyświetlania obrazu bez zmieniania jego
oryginalnych wartości. Dopiero polecenie Apply zmienia
rzeczywiście poziomy szarości pikseli w obrazie.
Window & Level
Służy do rozciągania i
przesuwania histogramu
Color Balance
Pozwala na regulację barw
obrazu. Mało przydatne w
praktyce
ImageJ - opis programu
Threshold
- podstawowa funkcja służąca
do binaryzacji obrazu. Przy pomocy
suwaków zaznaczamy, jaki zakres
poziomów szarości odpowieda obiektom,
a jaki tłu obrazu. Binaryzacja jest
podstawą procedurą pozwalającą na
wkazanie programowi obiektów, co jest
warunkiem ich ewentualnego policzenia i
pomierzenia. W czasie binaryzacji
program nakłada na piksele o wybranym
zakresie czerwowną maskę, która może
może służyć też jako ROI. Jeżeli każemy
programowi np. pomierzyć poziom
szarości obrazu to pomiar dotyczyć
będzie tylko pikseli pod maską. Zastosowanie polecenia Apply tworzy rzeczywisty
obraz binarny. W starszych wersjach programu obiekty, zaznaczone na czarno,
miały wartość 0 a tło wartość 255. W nowszych wersjach program przy binaryzacji
nakłada na obraz inwertowany LUT, co powoduje odwrotne przypisanie wartości
pikselom obiektów i tła. Ponieważ nie wszystkie makra i pluginy dobrze pracują przy
takich wartościach, niekiedy trzeba najpierw odwrócić te wartości. W tym celu
najpierw wykorzystujemy
Images - Lookup Tables - Invert LUT
i następnie
Edit -
Invert.
Dodatkowe, bardziej skomplikowane metody binaryzacji są dostępne po wgraniu do
folderu Plugins pluginu
auto_threshold.jar
. W tym także metody pozwalająca na
binaryzację obrazów barwnych i na tzw. lokalną binaryzację
Size
- pozwala na zwiększenie lub zmniejszenie
obrazu.
Canvas size
- pozwala na dodanie dodatkowych
pikseli do obrazu.
Color
- szereg opcji pozwalających np. na rozkład obrazu RGB na oddzielne kanały,
albo na tworzenie obrazów barwnych z kilku obrazów monochromatycznych
Stack
- zestaw narzędzi do manipulacji stosami obrazów (patrz wykład 1)
Crop
- przycinanie obrazu do prostokątnego ROI
Duplikate
- tworzenie kopii obrazu
ImageJ - opis programu
Rename
- zmiana nazwy obrazu
Lookup Tables
- duży zestaw LUT-ów (tablic korekcji, tablic przypisań) -
efektownych, ale poza Invert LUT mało użytecznych.
7. MENU PROCESS
Zestaw procedur do przetwarzania obrazów
Smooth
Filtr uśredniający o masce 3 x 3
Sharpen
Filtr wystrzający o masce 3 x 3
Find Edges
Filtr Sobela do wyszukiwania krawędzi
Enhance contrast
Wzmacnia kontrast w opraciu o procedure wyrównywania (equalisation)
Noise
Służy do dodawania (co jest raczej mało
użyteczne) lub usuwania szumu.
Despectle
to filtr
medianowy o masce 3 x 3.
Remove outliers
-
bardziej złożony filtr medianowy. Zastępuje
wartość centralnego piksela w masce o zadanym
promieniu (radius) przez wartość medianową, jeśli
jego wartość przekracza medianę o ustaloną
wielkość (threshold). Szczególnie przydatne w
przypadku, gdy urządzenie zbierające obraz
(kamera) ma defekty w matrycy CCD.
Shadows
- dodaje cienie do obrazu
Binary
- zestaw filtrów do obróbki obrazów binarnych
Math
- zestaw funkcji przeprowadzających operacje matematyczne na obrazach.
Szczególnie często jest stosowana funkcja Gamma
FFT (Fast Fourier Transform)
- zestaw funkcji przeprowadzających transformację
Fouriera na obrazie.
Filters
- zestaw liniowych i nieliniowych filtrów, w których można regulować wielkość
maski filtru i ew. inne parametry
ImageJ - opis programu
Image Calculator
- narzędzie pozwalające na dodawanie obrazów, mnożenie i wiele
innych operacji matematycznych i logicznych na obrazach
Subtract Background
- narzędzie do wygładzania tła
8. MENU ANALYZE
Measure (Ctrl + M)
polecenie wykonania pomiarów.
Analyze particles
zlicza i mierzy obiekty na obrazach binarnych
Summarize
Podsumowanie wyników pomiarów
Distribution
Wyświetla histogram wyników z analizy cząsteczek
Set Mesurements
Narzędzie pozwalające na wybór parametrów do pomiaru.
Set Scale
Pozwala na zamianę pikseli na określone jednostki miar.
Histogram
Wyświetla histogram poziomów szarości obrazu lub ROI. Gdy przesuwamy kursor w
oknie histogramu program wyświetla liczbę pikseli o danym poziomie szarości.
Możemy też skorzystać z polecenia List, aby otrzymać te dane w odpowiednim
oknie.
Plot Profile
Wyświetla wykres pokazujący rozkład poziomów szarości wzdłuż liniowego ROI.
Przy prostokątnym ROI wyświetla uśrednioną wartość dla kolumny.
Tools
Kilka dodatkowych narzędzi, w tym proste narzędzie do szacowania wymiaru
fraktalnego metodą pudełkową (
Fractal Box Count
)
9. MENU PLUGINS
Siła ImageJ opiera się na makrach i pluginach. Makra są plikami tekstowymi, łatwymi
do pisania i poprawiania. Wadą makr jest to, że trzeba je każdorazowo instalować -
instalacja nowego makra wyłącza poprzednio zainstalowane makro. Pluginy są
pisane w Javie i kompilowane do plików *.class. Pluginy wgrane do folderu plugins
stają się widoczne w menu PLUGINS (o ile zostały wgrane przed uruchomieniem
programu).
ImageJ - opis programu
Macros
Zestaw narzędzi od obsługi makr.
Install
- pozwala na zainstalowanie wybranego
makra.
Edit
- otwiera plik z makrem (co można zrobić też przez File - Open).
Record
- zapisuje do makra kolejno wykonywane czynności, co jest najprostszym
sposobem na tworzenie makr.
Przy starcie programu włączana jest grupa tzw. makra startowych.
Przykładem są narzędzia do rysowania w narzędziowniku. Ikonka na końcu
paska z ikonami pozwala na przełączanie między zestawami makr startowych
Shortcuts
Pozwala na tworzenie skrótów klawiszowych.
Utilities
Kilka różnych funkcji.
Control Panel
- tworzy menu w stylu hierarchicznego
drzewka,
Monitor Memory
- pokazuje aktualne wykorzystanie RAM
10. MENU WINDOW
Robi mniej więcej to samo, co menu Window we wszystkich innych programach
11. MENU HELP
Zawiea linki do dokumentów opisujących pracę ImageJ (w tym do ImageJ Wiki).
Polecenie
Update ImageJ
pozwala na ściągnięcie najnowszej wersji programu.
.