Metody diagnostyczne

Z Brain-wiki

Struktura plików DICOM

Prace nad ustandaryzowaniem wymiany danych graficznych pomiędzy urządzeniami medycznymi rozpoczęły się już w 1983 w ramach współpracy American College of Radiology (ACR) i National Electrical Manufactures Association (NEMA). Pierwsza wersja standardu pojawiła się dwa lata później i nosiła nazwę ACR/NEMA 300 V1.0. Wersja ta umożliwiała zapis danych w odpowiednim formacie oraz ujednolicony sposób transferu plików za pomocą sieci lub nośników zewnętrznych. W 1988 roku pojawiła się druga wersja standardu ACR/NEMA V2.0, która opierała się na ujednoliconej terminologii, strukturze informacji odpowiednim kodowaniu danych. Wraz z rozwijaniem standardów pojawiały się nowe zapotrzebowania. Ostatni oficjalna wersja to DICOM 3.0 (Digital Imaging and COmmunications in Medicine) z 1992. Standard ten jest w dalszym ciągu uaktualniany.


Dokumentacja

Standard DICOM jest zorganizowany w postaci wieloczęściowego dokumentu (Rys. %i 1) i uaktualniany corocznie w postaci Suplementów.

Poszczególne dokumenty są poświęcone strukturze danych, sposobom kodowania, archiwizacji, wymiany informacji oraz aspektom bezpieczeństwa danych. Na zajęciach skupimy się na następujących częściach dokumentacji:

  • PS 3.1: Introduction and Overview – wprowadzenie oraz informacje podstawowe na temat standardu
  • PS 3.2: Conformance – definicje podstawowych zasad oraz pojęć
  • PS 3.3: Information Object Definitions – definicje atrybutów czyli informatyczna reprezentacja fizycznych danych
  • PS 3.4: Service Class Specifications – obsługa informatycznych reprezentacji danych
  • PS 3.5: Data Structure and Encoding – struktura danych oraz sposób ich kodowania
  • PS 3.6: Data Dictionary – spis wszystkich możliwych atrybutów
    Dokumentacja standardu DICOM.

DICOM-Meta-Information-Header

Dane zawarte w każdym pliku DICOM podzielone są na dwie części:

  • część zawierającą informacje o pliku (Dicom-Meta-Information-Header)
  • dane jednego obiektu Service-Object Pair Instance (Dicom-Data-Set)

Model informacji określa format danych dla różnych typów informacji, takich jak: obrazy, przebiegi czasowe, obiekty graficzne, raporty, wydruki itp. Dane są grupowane w tematycznych zbiorach (ang. Entities) oraz podzbiorach (ang. Modules). Każdy moduł tworzony jest przez zbiór atrybutów.

  1. podstawowa jednostka danych: Data Element
  2. strumień informacji: Data Set

Data Element stanowi podstawową jednostkę danych, opisywany jest przy pomocy:

  • identyfikatora elementu danych (Tag) złożonego z dwóch liczb określających: grupę (Group) oraz element grupy (Element), zapisywanych w postaci liczb heksadecymalnych,
  • typu danych (Value Representation), określonego w postaci pary liter w kodzie ASCII i umożliwiającego poprawną interpretację danych,
  • rozmiaru elementu (Value Length) wyrażonego w bajtach,
  • informacji takich jak: nazwisko pacjenta, rozdzielczość obrazu

Strumień informacyjny (Data Set) jest uporządkowanym strumieniem elementów danych.


Struktura Data Element.


Zadanie 1. Skopiuj na Pulpit katalog DICOM i na podstawie dokumentów w nim zawartych znajdź wyjaśnienie następujących oznaczeń:

  • (0008,0020): 20120510
  • (0008,0030): 101714
  • (0008,0060): MG
  • (0008,0070): SIEMENS
  • (0008,0080): Ovarian Screening, St Barts
  • (0010,0010): xxx
  • (0010,0040): 0

Rozwiązanie:

  • (0008,0020): 20120510 - Study Date
  • (0008,0030): 101714 - Study Time
  • (0008,0060): MG - Modality
  • (0008,0070): SIEMENS - Manufacturer
  • (0008,0080): Ovarian Screening, St Barts - Institution Name
  • (0010,0010): xxx - Patient's Name
  • (0010,0040): 0 - Patient's Sex


Zadanie 2. 56-letnia Janina Kowalska zgłosiła się do Centrum Onkologii z podejrzeniem nowotworu mózgu. 15 lutego 2013 roku zostało wykonanie badanie za pomocą pozytonowej tomografii emisyjnej wykonane na tomografie firmy GE. W czasie badania pacjentka leżała na prawym boku. Za pomocą odpowiednich atrybutów zapisz te informacje w formie pliku DICOM.

Rozwiązanie:

  • (0010,0010): Kowalska Janina
  • (0010,0040): F
  • (0010,1010): 56
  • (0008,0080): Centrum Onkologii
  • (0008,0020): 20130215
  • (0008,0060): PT
  • (0008,0070): GE
  • (0018,5100): HFDR

Oprogramowanie

Oprogramowanie, które pozwala na odczyt i analizę plików DICOM, jest dostępne nie tylko komercyjnie.

Ekran powitalny programu ImageJ.

Mimo że producenci sprzętu medycznego dostarczają to oprogramowanie razem z urządzeniami, istnieje możliwość korzystania z darmowego oprogramowania, takiego jak ImageJ.

ImageJ jest napisany w środowisku Java. Pozwala on wyświetlać, edytować, analizować, drukować 16- i 32-bitowe obrazy. Może być użyty do analizy różnych formatów, m.in. TIFF, GIF, JPEG, BMP, DICOM. ImageJ jest programem, który wykonuje obliczenia: powierzchni, wartości pikseli, odległości, kątów oraz tworzy histogramy, profile, kalibracje przestrzenne. Jest uniwersalnym narzędziem i umożliwia dodanie samodzielnie napisanych wtyczek.

Jak używać programu ImageJ?

Program ImageJ jest użyteczny nie tylko ze względu na możliwość otworzenia i zobaczenia zdjęcia diagnostycznego. To program, który pozwala na edycję obrazów oraz ich analizę. Bardzo ważną cechą jest również dostosowanie do potrzeb użytkownika przez możliwość dodawania potrzebnych wtyczek czy makra.


Podstawowe informacje

Instalacja: Program można pobrać bezpośrednio ze strony: http://imagej.nih.gov/ij/
Konfiguracja pamięci: ImageJ jest aplikacją napisaną w Javie. Aby uruchomić program napisany
w Javie trzeba wcześniej zdefiniować ilość pamięci. Robi się to wybierając
z menu Edit[math]\gt [/math]Options[math]\gt [/math]Memory & Threads.
Uaktualnienia: Najnowszą wersją w chwili obecnej jest ImageJ 1.47m. Aby sprawdzić
aktualną wersję programu należy skorzystać z menu Help[math]\gt [/math]About ImageJ.
Żeby dokonać uaktualnienia trzeba wybrać z menu Help[math]\gt [/math]Update ImageJ.


ImageJ - katalogi

Katalog, w którym został zainstalowany ImageJ, zawiera dodatkowo następujące elementy:

  • plik ij.jar –czyli program ImageJ. Podczas uaktualnienia plik ten jest zastępowany na nowy.
  • plik ImageJ.cfg – ten plik zawiera konfigurację pamięci dla ImageJ.
  • katalog macros – ten katalog zawiera makra czyli małe programy napisane w specjalnym języku do tego stworzonym.
  • katalog plugins – ten katalog zanier wtyczki, które pozwalają na większą funkcjonalność programu. Wtyczki, które się w nim znajdują można znaleźć również w menu Plugins.


Zadanie 3. W katalogu macros znajdź plik Mandelbrot.txt i przeciągnij go do okna głównego programu ImageJ. Co się stanie w tej sytuacji?

a). Jeśli wykonamy to makro używając polecenia Macros[math]\gt [/math]Run Macro z menu, to co otrzymamy?

b). Zapisz makro Mandelbrot.txt pod nazwą Mandelbrot_.txt w katalogu ImageJ/plugins/Examples. Możesz użyć polecenia z editor makro File[math]\gt [/math]Save As…. Zamknij wszystkie otwarte okna w ImageJ. Żeby odświeżyć wtyczki należy wybrać z menu Help[math]\gt [/math]Refresh Menus. Wykonaj makro używając polecenia z menu Plugins[math]\gt [/math]Examples[math]\gt [/math]Mandelbrot.

c) Przytrzymując klawisz shift, wybierz Plugins[math]\gt [/math]Examples[math]\gt [/math]Mandelbrot. Co się stało?

Rozwiązanie


Mandelbrot.png
Makro-edytor.png

Otwieranie plików

Istnieją dwie możliwości otwierania plików graficznych. Można użyć polecenia z menu File[math]\gt [/math]Open… (ctrl+o) lub przeciągnąć plik bezpośrednio z katalogu do głównego okna programu (ang. ImageJ launcher window).

Zadanie 4. Używamy katalogu WMD_2017 na pulpicie.

a). Otwórz zdjęcie dapi.tif z tego katalogu. Spróbuj różnych możliwości otwierania plików w programie ImageJ. Wypróbuj kombinację klawiszy: ctrl+shift+o. Jaka jest funkcja tego polecenia? Otwórz jednocześnie kilka zdjęć.

b). Otwórz obrazy z katalogu \WMD_2017\LADJAN_MRI\t1_vibe_tra - 3 przez przeciągnięcie tego katalogu do okna głównego ImageJ. Następnie otwórz je za pomocą File[math]\gt [/math]Import[math]\gt [/math]Image Sequence….

c). Otwórz ten sam plik dwukrotnie. Co się dzieje z tytułem zdjęcia?

d). Otwórz zdjęcie cafe.lsm. Zdjęcie jest przykładem tzw. hyperstack. Składa się ono z dwóch warstw. Numer kanału jest wyświetlany na górze/dole zdjęcia. Wykorzystaj polecenie: Run Image[math]\gt [/math]Color[math]\gt [/math]Channels Tool… i zmień parametry wyświetlania.

e). Spróbuj otworzyć zdjęcie FC green-40X sec.ics.


Zadanie 5. Za pomocą programu ImageJ otwórz plik z katalogu DICOM: MonochromeSample.dcm. Odczytaj i zinterpretuj informacje zawarte w Dicom-Meta-Information-Header.

Rozwiązanie


Widok zdjęcia i pliku meta w ImageJ.

Ważne narzędzia

Podstawowe funkcje dostępne w programie ImageJ będą dyskutowane z użyciem odpowiednich przykładów bez wstępu teoretycznego.


Piksele, powiększanie, przewijanie

Zadanie 6. Sprawdź następujące funkcje z użyciem pliku duck.bmp:

  • niektóre informacje dotyczące zdjęcia znajdują się w górnej części okna: rozmiar zdjęcia w pikselach (np. 650 x 515), rodzaj (np. 8-bit) i rozmiar zdjęcia w pamięci komputera (np. 327K);
  • powiększanie/zmniejszanie jest możliwe na dwa sposoby: klikając w lupę znajdującą się w pasku głównym lub używając “+” i “-” z klawiatury;
  • jeśli obraz jest większy niż okno, to w górnym lewym rogu pojawia się wskaźnik pozycji;
  • po powiększeniu obrazu i pojawieniu się wskaźnika pozycji, przewijanie zdjęcia jest możliwe za pomocą narzędzia do przewijania (symbol łapki w pasku głównym); po wybraniu opcji należy kliknąć na obraz i bez odrywania myszy przesuwać po obrazie;
  • inną możliwością przewijania obrazu jest użycie klawisza spacji; korzyścią tego sposobu jest to, że jednocześnie możemy używać innych funkcji z paska głównego;
  • na pasku postępu (tuż pod paskiem głównym) znajduje się aktualna pozycja piksela, na który wskazujemy myszą oraz wartość tego piksela, np. w skali szarości (mogą być to trzy wartości w przypadku RGB).

Zadanie 7. Otwórz plik dapi.tif z katalogu podstawowe_info.

a). Jakie jest największe możliwe powiększenie zdjęcia, a jakie największe zmniejszenie?

b). Jaka jest wartość piksela w skali szarości dla współrzędnych [math]x=32[/math] i [math]y=456[/math]? Jaka jest ta wartość dla [math]x=429[/math] i [math]y=125[/math]?

c). Jaka jest szerokość i wysokość obrazu? Jaki to typ i ile miejsca zajmuje w pamięci komputera?

d). Przesuń mysz na obraz. W którym kierunku wartości współrzędnej [math]x[/math] rosną? Jak to jest w przypadku drugiej współrzędnej? Narysuj układ współrzędnych.

e). Możliwa jest zmiana orientacji osi [math]y[/math] używając polecenia Analyze[math]\gt [/math]Set Measurements, a następnie wybierając opcję Invert [math]Y[/math] coordinates. Przesuń mysz na obraz ponownie. Jak teraz wygląda układ współrzędnych?

Rozwiązanie:

a). max 3200%, min 3.1%

b). 1, 239

c). 650x515, 8-bit, 327K

d). w prawo, w dół

e). w prawo, w górę

Zaznaczanie obszaru

Do zaznaczania obszaru służy narzędzie oznaczone jako prostokąt w głównym pasku programu. Jeśli jest on aktywny, możemy klikając na punkt na zdjęciu i przesuwając myszą zaznaczyć interesujący nas obszar. Podczas tej czynności na pasku postępu pojawiają się informacje o szerokości, wysokości oraz współczynnik proporcjonalności obrazu. Żeby zakończyć zaznaczanie obszaru należy uwolnić mysz. Nawet po zwolnieniu myszy można edytować zaznaczony rejon.

Zadanie 8. Wszystkie czynności wykonuj na otworzonym już pliku dapi.tif.

a). Wybierz z paska głównego symbol prostokąta i zaznacz dowolne pole. Następnie zmień jego rozmiar. Znajdź w manualu, znajdującym się w katalogu [1], skróty klawiszowe związane z opcją zaznaczenia i napisz do czego one konkretnie służą. Wypróbuj je.

b). Sprawdź, jaka jest rola klawisza shift i alt, gdy chcemy zaznaczyć kolejny obszar. Przesuń stworzony przez siebie obszar (obszar powinien składać się z kilku elementów).

c). Zmień kolor zaznaczenia na magenda (Edit[math]\gt [/math]Options[math]\gt [/math]Colors).

d). Kliknij prawym przyciskiem myszy na symbol prostokąta na pasku głównym i wybierz opcję rounded rectangle. Jaki teraz kształt ma wybrany obszar? Żeby zmienić ustawienie koloru dla rounded rectangle, wystarczy dwa razy kliknąć przycisk na pasku głównym.

e). Po podwójnym kliknięciu na przycisk rounded rectangle zmień wartość promienia zakrzywienia. Zaznacz kilka obszarów z różnymi kantami.

f). Przećwicz używanie pozostałych narzędzi do zaznaczania łącznie z rysowaniem własnoręcznym. Zauważ, że podczas jego używania wystarczy uwolnić mysz w pobliżu początku zaznaczania, a obszar zamknie się automatycznie.

g). Po zaznaczeniu obszaru użyj polecenia Image[math]\gt [/math]Crop. Co się stało? Żeby wrócić do poprzedniej wersji zdjęcia, należy użyć polecenia File[math]\gt [/math]Revert (ctrl+r). Zaznacz obszar ponownie i użyj polecenia Image[math]\gt [/math]Duplicate (shift+d). Co się stało tym razem?

Rozwiązanie:

a). Shift - zaznaczenie ogranicza się do kwadratu

Alt - zmiana rozmiaru, ale zaznaczenie jest przez cały czas zaczepione w jednym miejscu

Ctrl - zaznaczenie zmienia rozmiar wokół środka

Ctrl Alt - zmiana rozmiaru przy zachowanych proporcjach

g). Image[math]\gt [/math]Crop wycina obraz do rozmiarów zaznaczenia. Image[math]\gt [/math]Duplicate tworzy nowy obraz tylko z zaznaczeniem.

Pomiar i tabele z wynikami

Polecenie Analyze[math]\gt [/math]Measure (ctr+m) pozwala na pomiar parametrów całego obrazu lub zaznaczonego obszaru. Korzystając z polecenia Analyze[math]\gt [/math]Set Measurements, mamy możliwość wybrania wielkości, które zostaną zmierzone. Wartości te są zapisywane i wyświetlane z tabeli z wynikami globalnymi.

Zadanie 9. W dalszym ciągu korzystamy z pliku dapi.tif.

a). Zaznacz własnoręcznie obszar jądra, a następnie zmierz jego powierzchnię i średnią wartość w skali szarości. Powtórz to samo dla kilku jąder. Jak zmienią się wyniki, jeśli powtórzymy procedury dla powiększonego zdjęcia?

b). Skorzystaj z polecenia File[math]\gt [/math]Duplicate, żeby zrobić kopię tabeli z wynikami. Zmierz nowe zaznaczenie. Do której tabeli został dopisany wynik?

c). Skorzystaj z polecenia File[math]\gt [/math]Rename i zmień nazwę oryginalnej tabeli z wynikami (Results [math]\rightarrow [/math] old). Zmierz nowe zaznaczenie i sprawdź do której tabeli został dopisany pomiar.

d). Skasuj wszystkie wyniki poleceniem Results[math]\gt [/math]Clear Results i zmierz co najmniej 3 jądra ponownie. Jaka jest wartość średnia, odchylenie standardowe, wartość minimalna, maksymalna oraz rozkład wartości zmierzonych powierzchni? Użyj poleceń Results[math]\gt [/math]Summarize i Results[math]\gt [/math]Distribution, żeby dostać odpowiedzi.

Rozwiązanie:

b). i c). Nowe pomiary są dodawane do tabeli o nazwie Results. Jeśli takiego okna nie ma, to otwierane jest nowe.


Linijka, profil i punkt

Trzy możliwe opcje funkcji linijka są dostępne w programie: linia ciągła, linia łamana i dowolna linia rysowana przez użytkownika. W przypadku tworzenia linii ciągłej i łamanej na pasku postępu pojawia się długość rysowanej linii oraz kąt mierzony względem osi [math]x[/math].

Zadanie 10.

a). Użyj linii ciągłej, żeby oszacować odległość pomiędzy środkami najbliżej położonych jąder.

b). Użyj linii ciągłej, żeby oszacować średnice jąder.

c). Użyj linii łamanej, żeby oszacować obwód jąder.

d). Własnoręcznie narysuj linię, żeby oszacować obwód jąder.

e). Użyj narzędzia Arrow, żeby oszacować kąty pomiędzy trzema najbliższymi jądrami.

Narzędzie linijka może być użyte to stworzenia profili. Profil zawiera intensywność wartości wzdłuż narysowanej linii. Procedura jest następująca: na początku rysujemy linię wzdłuż jądra, następnie kliknij klawisz k (skrót od Analyze[math]\gt [/math]Plot profile). Jeśli grubość linii jest większa niż 1, profil będzie uśredniony po szerokości. Żeby zmienić grubość linii, należy kliknąć dwukrotnie na symbol linii na pasku głównym programu.

Zadanie 11.

a). Użyj profilu, żeby oszacować średnicę jądra. Zauważ, że wykres jest obrazem samym w sobie, więc możesz do jego analizy możesz użyć narzędzi ImageJ. Czy jest jakaś korzyść z używania profili zamiast pomiaru średnicy na oryginalnym obrazie?

b). Stwórz profile wzdłuż jądra. Nie zmieniając żadnych dodatkowych parametrów, zmień grubość linii i stwórz kolejny wykres. Co się zmieniło?

c). Stwórz profile wzdłuż jądra, następnie wydłuż linię i stwórz kolejny profil. Jaka jest różnica pomiędzy profilami? Zmierz odległość pomiędzy dwoma punktami na wykresach. Czy wyniki, które otrzymałeś, są jednakowe? Wskazówka: popatrz na wielkość pikseli (Image[math]\gt [/math]Properties).

d). Stwórz profile wzdłuż jądra. Wybierz opcję List na dole okna profilu. Skopiuj wszystkie wartości (ctrl+a, żeby zaznaczyć wszystko i ctrl+c, żeby skopiować). Otwórz opcję Curve Fitter z menu Analyze[math]\gt [/math]Tools[math]\gt [/math]Curve Fitting. Skasuj wartości, które się tam znajdują i wklej wartości skopiowane (ctrl+v). Dopasuj rozkład Gaussa do punktów pomiarowych.

Rozwiązanie:

a). W zależności od ustawień wyświetlania obiektu może być on mniejszy lub większy. W profilu poziom tła jest często dobrze widoczny i pomiar średnicy powyżej niego jest możliwy.

b). Profil jest gładszy ponieważ jest uśredniony.

c). Profile mają różne rozmiary. Jakkolwiek mają również różne skale, więc pomiary korespondują z odległościami na oryginalnym obrazie. Czyli otrzymane wyniki powinny być takie same. Rozmiar piksela w obu profilach jest inny.

Do zliczania obiektów na zdjęciu służy polecenie zaznaczania punktu. Żeby dodać punkty, należy użyć klawisza shift lub narzędzie zaznaczania wielokrotnego punktów. Do kasowania punktów służy alt.

Zadanie 12.

a). Zaznacz trzy dowolne jądra, następnie dodaj punkt gdzieś w tle i kontynuuj z dodawaniem punktów w obszarze pozostałych jąder. Skasuj punkt z tła. Co się stało z numeracją zaznaczonych punktów?

b). Zachowaj zdjęcie z zaznaczonymi punktami w formacie tif (File[math]\gt [/math]Save As[math]\gt [/math]Tiff). Zamknij stare zdjęcie i otwórz to, które przed chwilą zachowałeś (File[math]\gt [/math]Open). Co się stało z zaznaczeniem? Czy możesz je modyfikować?

c). Sprawdź opcję pomiaru automatycznego, które uruchamia się poprzez dwukrotne kliknięcie na symbol punktu z paska głównego. Co ta opcja robi?

d). Czy można używać funkcji zaznaczania punktów z opcją Auto-Measure i Auto-Next Slice, żeby śledzić żółte cząstki w czasie z pliku moving-particles.tif z katalogu narzedzia_1?


Tło i obsługa ROI

Narzędzie o nazwie magic wand pozwala dokonać selekcji połączonych pikseli na zdjęciu. Istnieją dwie możliwości dokonania wyboru pikseli: piksele o tej samej intensywności (ewentualnie plus-minus tolerancja) lub piksele tła czyli wszystkie piksele o intensywnościach większych niż dana wartość minimalna lub o intensywnościach mniejszych niż dana wartość maksymalna. Minimalna i maksymalna wartość tła może być wybrana przez dopasowanie, które można otworzyć używając polecenia Image[math]\gt [/math]Adjust[math]\gt [/math]Threshold (shift+t). Należy zmienić mod z Red na Over/Under.

Każde kliknięcie z użyciem wand-tool tworzy selekcję. Żeby usunąć ją ze zdjęcia, należy użyć kombinacji klawiszy ctrl+shift+a.

Zadanie 13. Otwórz ponownie plik dapi.tif.

a). Użyj narzędzia wand-tool łącznie z opcją wyboru tła, żeby wybrać jądra. Zmierz jądra. Jaki jest najmniejszy i największy obwód jądra oraz najmniejsza i największa średnica?

b). Użyj wand-tool, żeby wybrać wszystkie jądra w jednej selekcji (shift). Jaki procent powierzchni zdjęcia jest pokryty przez jądra? Wskazówka – żeby wybrać całe zdjęcie, trzeba użyć ctrl+a.

Rozwiązanie:

a). obwód: min. 288.8 p, max. 608.0 p

średnica: min. 95.8 p, max. 188.4 p

b). powierzchnia: zdjęcia - 334750 p, jądra - 64885 p czyli procent będzie wynosił [math]64885 \cdot 100\% / 334750 = 19.4\%[/math]

ROI (Region Of Interest) manager pomaga w pracy z selekcjami. Dzięki niemu można zatrzymać nieograniczoną liczbę selekcji, wyświetlania, modyfikowania i pomiaru. Polecenia mogą dotyczyć albo wybranych ROI, albo wszystkich, jeśli nie było żadnego zaznaczenia.

Zadanie 14. a). Użyj wand-tool, żeby wybrać jądra, następnie naciśnij klawisz t (skrót dodawania ROI od Analyze[math]\gt [/math]Tools[math]\gt [/math]ROI Manager). Wybierz opcję Show All w managerze ROI. Wybierz pozostałe jądra i dodaj je do managera.

b). Kliknij na jedną z pozycji w managerze ROI (np. 5). Zauważ, że odpowiednie jądro na zdjęciu zostanie podświetlone. To działa również w drugą stronę. Modyfikuj selekcję (usuń część jąder używając klawisza alt). Uaktualnij zmiany.

c). Wybierz jedną lub kilka linii w managerze ROI (możesz użyć ctrl/shift) i naciśnij przycisk służący do pomiarów.

d). Do czego służy opcja Flatten? Wskazówka – Rzuć okiem na zdjęcia, które powstało w wyniku zastosowania tej opcji.

e). Ustaw niskie tło (niebieski kolor). Stwórz selekcję na podstawie wartości tła używając Edit[math]\gt [/math]Selection[math]\gt [/math]Create Selection. Użyj polecenia split. Co się dzieje?

f). Bez zmiany selekcji otwórz zdjęcie A4 Rhod 1.tif z katalogu narzedzia_1. Żeby zobaczyć wybrane jądra użyj opcji Show All z managera ROI. Dokonaj pomiaru. Jak wytłumaczysz to, co się stało?

Rozwiązanie:

d). Opcja tworzy obwiednię będącą granicą poszczególnych jąder i zapisuje zdjęcie jako RGB.

e). Create Selection tworzy pojedynczą selekcję złożoną ze wszystkich jąder. Opcja Split dzieli selekcje na poszczególne jądra i dodaje je do managera ROI.

f). Wybrana selekcja dla zdjęcia dapi.tif została użyta do nowo wczytanego zdjęcia.


Analizator cząstek

Dotychczas wszystkie selekcje były tworzone pojedynczo. Analizator cząstek pozwala automatycznie stworzyć selekcję dla każdego obiektu (cząstki), np. obszarowi pikseli powyżej minimalnej wartości tła i poniżej jego wartości maksymalnej.

Zadanie 15. a). Użyj narzędzia do wyrównywania tła (Image[math]\gt [/math]Adjust[math]\gt [/math]Threshold lub shift+t) oraz analizatora cząstek, żeby dodać jądro do managera ROI (usuń wszystkie opcje oprócz Add to Manager).

b). Usuń wszystko z managera ROI i użyj analizatora cząstek ponownie. Tym razem wybierz opcję Exclude on edges. W jakim celu można tę opcję stosować i kiedy może być używana?

c). Użyj ponownie analizatora cząstek. Tym razem spróbuj wykluczyć obiekty, które są zbyt małe, żeby być jądrami. Jest to możliwe dzięki ustawieniu minimalnego rozmiaru w oknie analizatora cząstek.

d). Użyj analizatora cząstek, żeby wybrać tylko te jądra, które są okrągłe. Jaka jest wartość, która usuwa dwa jądra najbardziej odbiegające od kolistego kształtu?

e). Otwórz plik inclusion.tif. Wyobraź sobie, że wewnętrzny i zewnętrzny prostokąt przedstawia cząstki. Użyj analizatora cząstek z włączona i wyłączoną opcją Include holes. Jaką widzisz różnicę?

f). Użyj analizatora cząstek do znalezienia liczby jasnych plamek na zdjęciu blobs.gif z katalogu narzedzia_1. Jaka jest średnia powierzchnia plamek?

Rozwiązanie:

b). Obiekty, które nie są całkowicie na zdjęciu, nie mają właściwego rozmiaru, co sprawi, że zafałszują pomiar wartości średniej i całkowitej opartej na rozmiarze (powierzchnia, średnica, obwód, itp.). Opcja Exclude on edges pozwala zignorować te obiekty.

d). 0.8

e). Jeśli włączona jest opcja Include holes, tylko jedna cząstka jest znaleziona i zawiera ona wewnętrzną cząstkę. Bez tej opcji wewnętrzna i zewnętrzna cząstka jest traktowana osobno.

f). 46 plamek o różnych rozmiarach i kształtach; średnia powierzchnia to 414.5 piksela


Strzałki, komentarze i warstwy

Bardzo przydatną funkcją jest dodawanie komentarzy bez niszczenia zdjęcia. W tym celu używa się warstw. Strzałki i nie tylko mogą być dodawane z użyciem klawisza b lub Image[math]\gt [/math]Overlay[math]\gt [/math]Add Selection.

Zadanie 16.

a). Użyj strzałki (prawym przyciskiem myszy na funkcji linia w głównym pasku ImageJ), żeby zaznaczyć na zdjęciu wszystkie jądra. Przed narysowaniem strzałek zmień ich kolor na magenta.

b). Użyj narzędzia do pisania, żeby dodać notatkę do każdej strzałki (jądro nr 1, jądro nr 2). Użyj kombinacji klawiszy ctrl+alt+b, żeby dodać tekst do warstwy.

c). Zmień strzałki. Wskazówka: Image[math]\gt [/math]Overlay[math]\gt [/math]To ROI Manager. Nie zapomnij uaktualnić managera po dokonanych zmianach.

d). Zmień napisany wcześniej tekst. Wskazówka: Nie możesz samodzielnie edytować tekstu. Wybierz test w managerze ROI, napisz coś nowego i naciśnij przycisk uaktualnienia zmian.

e). Dodaj trzeci komentarz. Wskazówka: konwertuj selekcje z powrotem do warstw, dodaj nowy komentarz do warstwy.

f). Użyj Image[math]\gt [/math]Overlay[math]\gt [/math]Flatten, żeby stworzyć zdjęcie ze wszystkimi komentarzami (np. do swojej prezentacji). W tak zapisanym zdjęciu komentarze nie są warstwami, są dodane przez zmianę wartości pikseli.


Kontrola jakości

Kontrola jakości aparatów diagnostycznych jest jednym z najważniejszych elementów w procesie zapewnienia poprawnego ich działania. W związku z europejskimi normami mającymi na celu zunifikowanie sposobu testowania cyfrowych aparatów mammograficznych pojawiła się potrzeba stworzenia oprogramowania, które mogłoby być używane przez fizyków medycznych do testowania mammografów. Celem opisanych poniżej aplikacji jest badanie:

  1. Image homogeneity (autor: Elżbieta Gajewska-Dendek): Program jest oparty na aplikacji ImageJ, która na zasadach wolnego oprogramowania umożliwia wczytywanie, przeglądanie i analizę plików DICOM. Został on stworzony jako plugin. Użytkownik ma do dyspozycji dwa testy badania jednorodności obrazu diagnostycznego: test jednorodności wariancji (T1) oraz test jednorodności średniej (T2).
  2. Threshold contrast visibility (autor: Elżbieta Gajewska-Dendek): Konieczne do wykonania programu jest określenie następujących parametrów: materiału anody, napięcie lampy, progowa grubość płytki złota, kolejne elementy filtrów lampy. Jako wynik użytkownik otrzymuje porównanie wartości CNR (Contrast to Noise Ratio) z progami akceptacji przyjętymi zgodnie z normami europejskimi. Jest to program okienkowy napisany w pythonie.
  3. AGD (Average Glandular Dose) (autor: Marta Nesteruk): Program napisany w pythonie liczy warstwę półchłonną oraz średnią dawkę gruczołową dla pacjentek poddanych badaniu.
  4. Modulation Transfer Function (MTF) and Noise Power Spectra (NPS) (autor: Marcin Pietrzak): Program w pythonie służy do obliczeń: DRF, NPS, MTF oraz DQE czyli funkcji opisujących stan mammografu. Na podstawie zdjęć wykonanych według zaproponowanej przez nas procedury program umożliwia stworzenie wykresów funkcji detektorowych oraz ocenę funkcjonalności używanej aparatury.


Jednorodność obrazu

Program oparty jest na aplikacji ImageJ, która na zasadach wolnego oprogramowania umożliwia wczytywanie, przeglądanie i analizę plików DICOM, został stworzony jako plugin.

Dokument opisuje wersję BETA programu, która nie jest przeznaczona do redystrybucji, została stworzona na wyłączny użytek pracowników Centrum Onkologii w Warszawie w celu weryfikacji i zebrania uwag.

Możliwe do uruchomienia testy to:

  • Test jednorodności wariancji (T1), który na kwadratowym regionie o długości boku określonym przez użytkownika liczy wariancję. Wariancja porównywana jest z wariancjami sąsiednich regionów. Jeśli różnice przekraczają zdefiniowany przez użytkownika próg, wynik testu jest negatywny. Uruchomienie testu jest możliwe poprzez wybór pluginu o nazwie HomogeneityPlugin. Dokładny opis testu znajduje się w dokumencie [1] (rozdział 2b.2.2.3.1).
  • Test jednorodności średniej (T2), który na kwadratowym regionie o długości boku określonym przez użytkownika liczy średnią. Średnia porównywana jest ze średnią globalną na całym wybranym do analizy obszarze pliku. Jeśli różnice przekraczają zdefiniowany przez użytkownika próg, wynik testu jest negatywny. Uruchomienie testu jest możliwe poprzez wybór pluginu o nazwie HomogeneityGlobal. Dodatkowo możliwe jest przeprowadzenie testu na wartościach SNR – Signal to Noise Ratio. Jeśli wariancja SNR przewyższa średnią z SNR pomnożoną przez maksymalną dopuszczalną wartość progu, która jest określona przez użytkownika, wynik testu jest negatywny. Dokładny opis testu znajduje się w dokumencie [2] (rozdział 2b.2.2.3.1).


Instalacja

Aby zainstalować program konieczna jest maszyna wirtualna Java, dzięki temu aplikacja jest niezależna od systemu operacyjnego. Instalacja odbywa się poprzez dwukrotne kliknięcie na plik install.jar lub poprzez wpisanie w konsoli (w katalogu, w którym znajduje się plik instalacyjny) komendy:

java -jar install.jar

Uruchomiony zostanie okienkowy asystent, który poprowadzi przez instalację (Rysunek %i 7).

Okno asystenta instalacji.

Obsługa narzędzia

Uruchomienie programu odbywa się poprzez wybór z menu aplikacji programu ImageJ Homogeneity, lub też uruchomienie pliku z lokalizacji, w której został zainstalowany program:

  • run.sh w przypadku platformy Linux
  • run.bat w przypadku platformy Windows

Okno programu przedstawione zostało na Rysunku %i 8.

Okno aplikacji.

Aby wskazać plik DICOM do analizy należy wybrać z manu głównego (Rysunek %i 8) opcję File, a następnie Open (lub też Open recent … jeśli analizowany ma być plik wybierany już wcześniej). Pojawi się okno dialogowe wyboru pliku z systemu plików.

Zaznaczenie obszaru roboczego

Każdy z uruchamianych testów będzie działać na całym obrazie DICOM. Aby uruchomić test dla wybranego podregionu na obrazie, należy zaznaczyć obszar i dopiero wtedy uruchomić test. Zaznaczenie obszaru odbywa się poprzez narzędzia dostępne w pasku narzędziowym. Zaznaczone zostały czerwonym okręgiem na Rysunku %i 9: prostokąt, elipsa, wielokąt, obszar dowolny.

Narzędzia zaznaczenia podobszaru do analizy pliku DICOM.

Możliwe jest łączenie nieprzecinających się ze sobą wielu wybranych regionów poprzez dodanie ich do ROI Managera. W tym celu należy:

  1. Zaznaczyć jeden z wybranych regionów.
  2. Wybrać Ctrl + t w celu otworzenia ROI Managera (Rysunek %i 10).
  3. Zaznaczyć kolejny obszar i dodać go do ROI Managera poprzez Ctrl + t (ten krok można powtarzać wielokrotnie).
  4. Połączyć wybrane regiony w ROI Managerze (Rysunek %i 11) poprzez:
    1. naciśnięcie przycisku Ctrl i przytrzymanie go
    2. wybór myszką wszystkich regionów
    3. naciśnięcie przycisku More, a następnie wybór opcji OR (Combine).
Dodawanie obszarów do ROI Managera.
Łączenie wybranych obszarów w ROI Manager.

Inną możliwością wybrania obszaru jest odwrócenie zaznaczonego regionu. Można tego dokonać poprzez:

  1. Wybór zbioru, który ma być wykluczony.
  2. Wybór funkcji z menu głównego Edit (Rysunek %i 8), a następnie Selection oraz Make inverse.

Wybór testu i parametrów programu

Aby uruchomić test jednorodności wariancji należy wybrać w menu głównym programu Plugins (Rysunek %i 8), następnie HomogeneityPlugin (w przypadku testu T1).

W celu uruchomienia testu jednorodności średnich oraz testu SNR należy wybrać w menu programu Plugins, następnie HomogeneityGlobal (w przypadku testu T2).

W przypadku testu T1 domyślne wartości zaczerpnięte zostały z dokumentu [1] (rozdział 2b.2.2.3.1). Możliwe jest podanie następujących parametrów wejściowych dla testu T1 (Rysunek %i 12):


Nazwa parametru Znaczenie
Window size [mm] Długość boku kwadratowego regionu w mm, dla którego liczona jest
wariancja.
Acceptance threshold [%] Próg procentowy dopuszczanych różnic między wariancjami. Jeśli
wariancja regionu jest większa od średniej wariancji regionów
sąsiadujących o wartość progu (określoną w procentach), wówczas
wynik testu jest negatywny.
Step size [pixel] Liczba pikseli, o którą przesuwany jest (w wymiarze [math]X[/math] oraz [math]Y[/math]) punkt
zaczepienia lewego górnego wierzchołka regionu, dla którego liczona jest
wariancja wartości pikseli.
Wybór parametrów dla testu jednorodności wariancji (T1).

W przypadku testu T2 domyślne wartości zaczerpnięte zostały z dokumentu [2] (rozdział 2b.2.2.3.1). Możliwe jest podanie następujących parametrów wejściowych dla testu T2 (Rysunek %i 13):


Nazwa parametru Znaczenie
Window size [mm] Długość boku kwadratowego regionu w mm, dla którego liczona jest
średnia wartość piksela.
Acceptance Próg procentowy dopuszczanych różnic między średnimi. Jeśli
threshold [%] średnia regionu jest większa od średniej ze średnich wartości pikseli
regionów sąsiadujących o wartość progu (określoną w procentach),
wówczas wynik testu jest negatywny.
Step size [pixel] Liczba pikseli, o którą przesuwany jest (w wymiarze [math]X[/math] oraz [math]Y[/math]) punkt
zaczepienia lewego górnego wierzchołka regionu, dla którego liczona jest
średnia wartość pikseli.
Pixel value offset Stała wartość dodawana do wszystkich pikseli. Parametr sprzętowy
aparatu wykonującego zdjęcie.
SNR acceptance Próg procentowy dopuszczanych różnic między wariancją i średnią
threshold [%] wszystkich wartości SNR w rozpatrywanych regionach. Jeśli
odchylenie standardowe wartości SNR jest większe od średniej
wartości SNR o wartość progu (określoną w procentach), wówczas
wynik testu jest negatywny.
Wybór parametrów dla testu jednorodności średniej (T2) oraz testu SNR.

Interpretacja wyniku

Widok podsumowania testu został przedstawiony na Rysunku %i 14.

Podsumowanie wyniku testu.

W przypadku, gdy test wykazał obecność regionów, które nie spełniają wymagań narzuconych przez test, można obejrzeć ich zestawienie poprzez kliknięcie na przycisk Details (Rysunek %i 14). Każdy region przedstawiony jest na liście zawierającej współrzędne lewego górnego rogu kwadratu wyrażone w pikselach oraz w mm (Rysunek %i 15).

Szczegóły - lista odstających regionów.

W przypadku, gdy test wykazał obecność regionów, które nie spełniają wymagań narzuconych przez test można również podejrzeć ich lokalizację na pliku DICOM poprzez wybór przycisku Show faulty regions (Rysunek %i 16). Pojawia się nowe okno z kopią obrazu i zaznaczonymi obszarami w postaci ciemnych plam:

Podgląd obszarów niespełniających założeń testu.

Zapis raportu do pliku

Raport z wynikiem testu można zapisać do pliku pdf wybierając przycisk Save results na oknie z podsumowaniem wyników (Rysunek %i 14). Pojawi się okno wyboru lokalizacji i nazwy pliku. Raport w formacie pdf posiada kilka sekcji:

  1. Nazwa pliku DICOM, na podstawie którego była przeprowadzana analiza.
  2. Data przeprowadzenia testu.
  3. Podsumowanie testu – czy wartość wyniku jest w akceptowalnym zakresie (Rysunek %i 17), czy też znaleziono regiony niespełniające warunków (Rysunek %i 18).
  4. Sekcja Parameters z podsumowaniem listy parametrów, dla których test został uruchomiony.
  5. Lista regionów niespełniających przyjętych założeń (Rysunek %i 18). Każdy region określany jest przez współrzędne lewego górnego rogu kwadratu w pikselach oraz milimetrach.
  6. Obraz pliku DICOM z zaznaczonymi regionami odstającymi od normy.
Przykładowy raport pdf – wynik pozytywny.


Przykładowy raport pdf – wynik negatywny.

Kontrast progowy

Aby zainstalować program w systemie Windows, należy pobrać aplikację ze strony:

http://www.fuw.edu.pl/~egd/fiz_med/contrast/

następnie po rozpakowaniu uruchomić program main.exe.


Dane wejściowe

[math]\xi (a)[/math] - funkcja licząca kontrast dla zadanych parametrów lampy przy grubości złota [math]a[/math]
[math]d_t[/math] - progowa grubość złota dla obiektu o średnicy 0.1 mm
[math]Tc_{measured}[/math] - kontrast dla obiektu złota o średnicy 0.1 mm o progowej grubości
[math]Tc_{minimum}[/math] - progowy kontrast minimalny
[math]Tc_{achievable}[/math] - progowy kontrast osiągalny
[math]CNR_{minimum}[/math] - wartość CNR przeskalowana względem [math]Tc_{minimum}[/math]
[math]CNR_{achievable}[/math] - wartość CNR przeskalowana względem [math]Tc_{achievable}[/math]
[math]z(d)[/math] - współczynnik skalujący [math]CNR_{minimum}[/math] dla różnych grubości [math]d[/math] PMMA
[math]CNR(d)[/math] - wartość CNR policzona dla różnych grubości [math]d[/math] PMMA
Wartość bez przeliczania kontrastu z przeliczaniem kontrastu
[math]Tc_{measured}[/math] [math]\xi (d_t)[/math] [math]\xi (d_t)[/math]
[math]Tc_{minimum}[/math] [math]23.0\%[/math] [math]\xi (1.68\mu m)[/math]
[math]Tc_{achievable}[/math] [math]15.8\%[/math] [math]\xi (1.1\mu m)[/math]


Warunki testu

Konieczne jest, aby spełnione było:

[math] CNR(d) \gt CNR_{minimum} = CNR(5 cm) \cdot \frac{Tc_{measured}}{Tc_{minimum}} \cdot z(d) [/math]

Dobrze jest, aby spełnione było:

[math] CNR(d) \gt CNR_{achievable} = CNR(5 cm) \cdot \frac{Tc_{measured}}{Tc_{achievable}} [/math]


Dlatego sprawdzany jest stosunek wartości:

[math]\frac{CNR(d)}{ CNR_{minimum}} = \frac{CNR(d)}{CNR(5 cm)} \cdot \frac{Tc_{minimum} }{ Tc_{measured} } \cdot \frac{1}{z(d)} \cdot 100\% [/math]

oraz:

[math]\frac{CNR(d)}{ CNR_{achievable}} = \frac{CNR(d)}{CNR(5 cm)} \cdot \frac{Tc_{achievable} }{ Tc_{measured}} \cdot 100\% [/math]


Opis aplikacji

Etap 1 wprowadzenie parametrów wejściowych

Na Rysunku %i 21 pokazany został widok okna wprowadzenia parametrów wejściowych. Konieczne jest określenie następujących parametrów, aby przejść do części obliczenia poprawności CNR:

  • materiał anody (możliwy wybór: MOLIBDEN, RHOD, WOLFRAM)
  • napięcie lampy w kV, separatorem części dziesiętnej jest kropka
  • progowa grubość (w [mm]) płytki złota o średnicy 0.1 mm, która została obliczona przez oprogramowanie
  • flaga przeliczania kontrastu, która wskazuje w jaki sposób mają być wyliczone progowe wartości kontrastu:
    • kontrast minimalny. Jeśli flaga jest zaznaczona, kontrast minialny będzie przeliczony, w przeciwnym przypadku wartość przyjęta jako 23%. Będzie to kontrast obliczony dla zadanych parametrów lampy rentgenowskiej, z dodatkową strukturą złota o grubości 1.68[math]\mu m[/math]
    • kontrast osiągalny. Jeśli flaga jest zaznaczona, kontrast osiągalny będzie przeliczony, w przeciwnym przypadku wartość przyjęta jako 15.8%. Będzie to kontrast obliczony dla zadanych parametrów lampy rentgenowskiej, z dodatkową strukturą złota o grubości 1.1[math]\mu m[/math]


  • kolejne elementy filtrów lampy rentgenowskiej, z możliwością wyboru materiału filtra (dostępne materiały MOLIBDEN, RHOD, SILVER, PMMA, ALUMINIUM, GOLD) oraz grubości filtra [mm]

Po wpisaniu danych należy nacisnąć przycisk Dalej (Next).

Widok okna wprowadzania parametrów wejściowych

Wprowadzenie średnich wartości oraz odchyleń standardowych

W tym etapie otwarte jest okno z siatką, w którą można wprowadzić wartości statystyk prowadzące do obliczenia CNR – Rysunek %i 22.

Widok okna wprowadzania wartości statystyk dla CNR

Okno podzielone jest na 3 części:

  1. Przyciski kontrolne: Dalej, Porównaj z wartościami progowymi, Zapisz raport do pliku. Dopóki nie zostaną podane wszystkie dane, aktywny jest wyłącznie przycisk Dalej.
  2. Okno podsumowania, na którym wyświetlane są bieżące wyniki:
    1. Progowy kontrast zmierzony – wartość kontrastu dla zadanych wacześniej parametrów lampy oraz podanej grubości złota
    2. Kontrast monimalny
    3. Kontrast osiągalny
    4. Informacja o fladze przeliczania kontrastu
    5. Wartość CNR odpowiadająca minimalnemu kontrastowi
    6. Wartość CNR odpowiadająca osiągalnemu kontrastowi


  3. Arkusz z danymi wykorzystywanymi w obliczeniach. Możliwe jest podanie danych do arkusza (wpisanie, lub wklejenie ze schowka arkusza) dotyczących różnych grubości PMMA: 2, 3, 4, 4.5, 5, 6 oraz 7cm. W kolumnach możliwe jest podanie danych wejściowych:
    1. napięcie [kV]
    2. obciążenie prądowo-czasowe [mAs]
    3. średnia wartość piksela na obszarze płytki aluminiowej
    4. średnia wartość piksela poza obszarem płytki aluminiowej
    5. odchylenie standardowe wartości piksela na obszarze płytki aluminiowej
    6. odchylenie standardowe wartości piksela poza obszarem płytki aluminiowej

    Oraz kolumny z wartościami obliczonymi przez aplikację:

    1. CNR
    2. Porównanie dla głębokości [math]d[/math] wartości [math]CNR(d)[/math] z minimalną wartością, czyli: [math]CNR(d)/CNR_{minimum}[/math], przedstawione w procentach
    3. Porównanie dla głębokości [math]d[/math] wartości [math]CNR(d)[/math] z osiągalną wartością, czyli: [math]CNR(d)/CNR_{achievable}[/math], przedstawione w procentach
Widok okna z obliczonymi wartościami CNR.

Etap 3. Wykonanie testu - porównanie wartości CNR z progami akceptacji

Po naciśnięciu przycisku Porównaj z wartościami progowymi wartość CNR dla każdej z grubości PMMA zostanie porównana z wartościami progowymi: [math]CNR_{minimum}[/math] oraz [math]CNR_{achievable}[/math]. W kolumnach Jeśli CNR będzie większe niż wartość progowa, czyli wartość ilorazu będzie [math]\ge 100\%[/math] komórka zostanie podświetlona na zielono. W przeciwnym przypadku, komórka zostanie podświetlona na czerwono - przykład na rysunku %i 24.

Wynik porównania wartości CNR z wartościami [math]CNR_{minimum}[/math], oraz [math]CNR_{achievable}[/math].

Zapis raportu do pliku

Po naciśnięciu przycisku Zapisz raport do pliku możliwe jest wybranie, lub stworzenie nowego pliku pdf na dysku komputera, który będzie zawierać raport z przeprowadzonego testu.

AGD

Liczenie warstwy półchłonnej (HVL):

  1. Należy wybrać instytucję itp. Zbiór instytucji znajduje się w zewnętrznym pliku Instytucje.npz (format pliku pythonowego do przechowywania macierzy). Po wybraniu z listy instytucji np. Inst1, na liście mammografów pojawią się tylko te zdefiniowane dla Inst1 (tak samo z kolejnymi parametrami). Dla danej instytucji, mammografu i detektora można zdefiniować tylko jedną parę odległości ognisko - detektor i ognisko - stolik.
    1. Jeśli instytucji/mammografu/detektora nie ma jeszcze na liście należy wybrać Dodaj [math]\rightarrow [/math] Zdefiniuj układ pomiarowy.
    2. Jeśli chcemy usunąć daną instytucję/mammograf należy wybrać Usuń [math]\rightarrow [/math] Usuń układ pomiarowy. Przy usuwaniu układu pomiarowego zostaną oczywiście usunięte wszystkie policzone dla niego wartości HVL.


  2. Po wybraniu instytucji itp. należy wpisać napięcie, mAs i wyniki pomiarów dawki. Obecnie wystarczy uzupełnić pierwszą kolumnę oraz dowolną, dla której dawka będzie wynosiła poniżej połowy dawki z pierwszej kolumny. Jeśli w danej kolumnie pozostaną puste komórki program poprosi o ich uzupełnienie.
  3. Po wykonaniu obliczeń można zapisać raport (raport zapisuje wartości obliczone od uruchomienia programu do zapisania raportu), wybrać plik [math]\rightarrow [/math] nowy żeby policzyć kolejne HVL lub kontynuować do liczenia AGD.

Liczenie średniej dawki gruczołowej (AGD):

  1. Można je uruchomić kontynuując po obliczeniu HVL lub z paska wybrać Licz [math]\rightarrow [/math] AGD
    1. Jeśli kontynuuje się obliczenia należy uzupełnić jedynie pola mAs i grubość płyt z PMMA.
    2. Wyniki obliczeń HVL można również wczytać z zewnętrznego pliku Zbior HVL.npz. Są one przyporządkowane do konkretnego zestawu instytucja/mammograf/detektor. Aby wczytać dane należy wybrać Zapisane HVL [math]\rightarrow [/math] Wybierz anodę/filtr.
    3. Można również kontynuować obliczenia AGD z poprzednio wykorzystanymi ustawieniami dla HVL, wystarczy kliknąć w przycisk na dole kontynuuj obliczenia dla tego samego układu.


  2. W przypadku AGD w raporcie zapisywanie są wartości do zmienienia instytucji lub do zapisania raportu. Jeśli zmienimy instytucję a nie zapiszemy wcześniej raportu to program zapyta czy chcemy zapisać poprzedni raport.
Obliczone wartości AGD zawarte w raporcie.

Funkcje detektorowe

Rozwinięcia skrótów liczonych przez program funkcji przedstawiają się nastepująco: DRF - Detector Response Function, NPS - Noise Power Spectra, MTF - Modulation Transfer Function, DQE - Detective Quantum Efficiency.


Obliczanie funkcji DRF

Krok 1:

Wprowadzić w kolejne pola odpowiednie wartości dotyczące warunków wykonywania pomiarów. Wybrać sposób wykonywania pomiarów oraz ich liczbę.

Krok 1a:

Jeśli wybrano pomiar w dwóch punktach, to dla każdej wartości ekspozycji należy podać wartości Air KERMA zmierzone w dwóch punktach odległych od siebie o wartość podaną w polu „odległość pomiędzy punktami pomiaru”.

Krok 1b:

Jeśli wybrano pomiar w jednym punkcie, to dla każdej wartości ekspozycji należy podać wartość Air KERMA zmierzoną w punkcie odległym od ogniska o wartość podaną w polu „odległość punktu pomiaru od ogniska”.

Niewypełniony formularz w zakładce DRF.

Krok 2:

Dla każdego pomiaru należy wczytaż obraz w formacie DICOM (spotykane rozszerzenia to *.dcm,*.IMA), który został wykonany przy tych samych ustawieniach aparatu, co odpowiedni pomiar Air KERMA. Obraz powinien być wykonany bez używania jakichkolwiek fantomów, czy obecności innych obiektów w polu obrazowania i w jego pobliżu.

Zapisywanie/wczytywanie danych:

Wypełniony formularz można zapisać do pliku przy użyciu przycisku „Zapisz wprowadzone dane” widocznego u góry interfejsu. Zapisane dane można później wczytać przyciskiem „Wczytaj zapisane dane”.

Przykładowy sposób wypełnienia formularza w zakładce DRF (obszar do obliczeń, o którym mowa w kroku 3, został już wybrany).

Krok 3:

Wybór pola do obliczeń funkcji DRF. W tym celu należy wyświetlić dowolny obraz przy użyciu przycisku „Wyświetl obraz”. Pojawi się wtedy okno widoczne po lewej stronie - Rysunek %i 28.

Widok okna wyboru pola do obliczeń (przed wyborem). Podświetlony przycisk służy do powiększania wybranego fragmentu obrazu.

Krok 4:

Używając przycisków pod wyświetlonym obrazem, należy powiększyć wybrany obszar obrazu, który spełnia odpowiednie kryteria. Obszar ten nie powinien zawierać żadnych niejednorodności, powinien być możliwie jak największy i znajdować się możliwie blisko prawej krawędzi obrazu.

Krok 5:

Zaakceptować wybór dużym przyciskiem na dole ekranu o treści „Kliknij, aby z obrazu widocznego po lewej wybrać obszar do obliczeń”. Z wybranego obszaru program automatycznie wyekstrahuje odpowiedniej wielkości obszar do obliczeń i wyświetli go z prawej strony. Na obrazie z lewej pojawi się zielona ramka zakreślająca używany obszar (Rysunek %i 29).

Widok okna wyboru pola do obliczeń (po wyborze). Z prawej strony oraz w zielonej ramce widoczny jest obszar używany do obliczeń.

Krok 6 nieobowiązkowy:

Sugerowane jest zweryfikowanie, czy wybrany obszar wygląda właściwie na wszystkich wczytanych plikach. W tym celu można kolejno wyświetlać obrazy lub użyć przycisku „Wyświetl obszary dla wszystkich plików”, który wyświetli jedno okno zawierające wszystkie używane obszary.

Krok 7:

Kliknąć w przycisk „oblicz” w głównym oknie programu. Jeśli wszystkie poprzednie kroki zostały wykonane prawidłowo program dopasuje i wyświetli wykresy funkcji, a z prawej strony wykresów pojawią się wartości odpowiednich współczynników dopasowania.

Obliczanie funkcji NPS

Krok 1:

Wykonać obliczenia funkcji DRF.

Krok 2:

Wczytać kolejne pliki obrazów uzyskane w jednakowych warunkach. Dodatkowe wiersze tworzy się klikając na przycisk z ikoną strzałki w dół. Strzałka w górę kasuje wiersze. Należy zwrócić uwagę, aby nie pozostawiać nieużywanych wierszy.

Krok 3:

Wybrać obszar do obliczeń. Dokonuje się to w sposób identyczny jak przy obliczaniu funkcji DRF (kroki 3-6).

Krok 4: Kliknąć w przycisk „oblicz” w głównym oknie programu. Jeśli wszystkie poprzednie kroki zostały wykonane prawidłowo program obliczy funkcję NPS i wyświetli jej wykresy.


Obliczanie funkcji MTF

Krok 1:

Wykonać obliczenia funkcji DRF.

Krok 2:

Wczytać pliki obrazów wykonanych z użyciem odpowiedniego fantomu. Kolejne zdjęcia powinny zawierać wszystkie możliwe kierunki krawędzi. Dla dwóch pozycji fantomu o dwóch krawędziach zdjęcia powinny one wyglądać jak na Rysunku %i 30.

Widok zakładki MTF po wczytaniu odpowiednich obrazów. Należy zwrócić uwagę na położenie fantomów (kolejność nie jest istotna).

Krok 3:

Wybrać obszary do obliczeń, dla każdego obrazu z osobna. Wykonuje się to w sposób analogiczny jak przy obliczaniu funkcji DRF (kroki 3-6) z tą różnicą, że wybrany obszar powinien zawierać tylko i wyłącznie krawędzie fantomu. Wszelkie inne elementy widoczne w wybranym obszarze mogą uniemożliwić wykonanie obliczeń, doprowadzą do błędnych lub nonsensownych wyników.

Krok 3a:

Powiększyć wybrany obszar obrazu zawierający krawędzie. Powinno być to wykonane jak na Rysunku %i 31.

Krok 3b:

Zaakceptować wybór obszaru przyciskiem „Wybierz widoczny obszar”. Po kliknięciu tego przycisku powinien pojawić się widok jak na Rysunku %i 32.

Widok zakładki MTF po powiększeniu odpowiednich obszarów. Należy zwrócić uwagę, że widoczne są jedynie krawędzie.
Widok zakładki MTF po wyborze odpowiednich obszarów. Widoczne są zielone ramki wokół wybranych obszarów.

Krok 4:

Kliknąć w przycisk „oblicz”. Jeśli wszystkie poprzednie kroki zostały wykonane prawidłowo program obliczy funkcje ESF, LSF i MTF i wyświetli ich wykresy.

Krok 5:

Pod wykresami funkcji MTF można odnaleźć pola zawierające informacje o częstości w połowie wysokości (dla wartości 0,5) oraz wartość całki (pole pod wykresem) od częstości zero do wybranej przez użytkownika.

Obliczanie funkcji DQE

Krok 1:

Wykonać obliczenia funkcji DRF.

Krok 2:

Wykonać obliczenia funkcji NPS.

Krok 3:

Wykonać obliczenia funkcji MTF.

Krok 4:

Upewnić się, że obrazy używane do obliczeń funkcji NPS i MTF zostały wykonane w tych samych warunkach. W szczególności dla takiej samej wartości ekspozycji oraz obecności, bądź nieobecności kratki przeciwrozproszeniowej.

Krok 5:

Wybrać system pomiarowy, czyli typ mammografu. Jeśli na liście nie ma odpowiedniego przypadku można go wprowadzić klikając na przycisk „Edytuj listę systemów”. Po edycji należy kliknąć na przycisk „Odśwież listę systemów”.

Krok 6:

Kliknąć w przycisk „oblicz”.


Wykresy

Pod każdym wykresem znajduje się pasek narzędzi (Rysunek %i 33), które pozwalają na wykonanie szeregu operacji na wykresie oraz pasek stanu, który wskazuje aktualną pozycję kursora na wykresie ([math]x,y[/math]), a w przypadku obrazów również wartość piksela, nad którym się znajduje ([math]z[/math]).

Pasek narzędzi wykresu oraz pasek stanu wykresu.

Na pasku występują następujące narzędzia począwszy od lewej:

Home – powrót widoku wykresu do stanu początkowego;

Back - powrót widoku wykresu do wcześniejszego stanu;

Forward – przejście do późniejszego stanu (możliwe po powrocie);

Pan – przesuwanie wykresu;

Zoom – powiększanie wybranego fragmentu wykresu;

Save – zapis widocznej postaci wykresu do pliku graficznego;

Pokaż w nowym oknie – wyświetla wykres w osobnym oknie.

Po prawej stronie wykresu, na którym wyświetlono obraz mogą się znajdować jeden lub dwa suwaki (Rysunek 31). Suwak pojedynczy odpowiada bezpośrednio za górną granicę skali kolorów na wyświetlanym obrazie. Wy- stępuje on na dwuwymiarowej, kolorowej mapie NPS. Jego wpływ na skalę nie jest liniowy, lecz eks- ponencjalny, dzięki czemu może on objąć bardzo duży zakres wartości. Suwak podwójny odpowiada za środek i szerokość skali szarości na wyświetlanym obrazie. Występuje on na wykresach prezentujących zdjęcia. Ich wpływ na skalę jest liniowy.

Pojedynczy i podwójny suwak widoczny przy wykresach.


  1. 1,0 1,1 Supplement to the European Guidelines fourth edition
  2. 2,0 2,1 European guidelines for quality assurance in breast cancer screening and diagnosis. Fourth Edition.


Skrypt jest udostępniony na licencji Creative Commons Uznanie autorstwa-Na tych samych zasadach 3.0 Polska. Autor: Beata Brzozowska