CENTER FOR MACHINE PERCEPTION
Počítačová podpora diagnostiky štítné žlázy CZECH TECHNICAL UNIVERSITY
Štěpán Holinka
[email protected]
CTU–CMP–2006–15
DIPLOMOVÁ PRÁCE
Leden 2006
Lze získat na ftp://cmp.felk.cvut.cz/pub/cmp/users/sara/masters/Holinka-TR-2006-15.pdf Školitel: Dr. Tech. Radim Šára Tato práce vznikla v rámci projektu 1ET101050403 s podporou Grantové agentury Akademie věd České republiky. Research Reports of CMP, Czech Technical University in Prague, No. 15, 2006 Published by Centrum strojového vnímání, Katedra kybernetiky Fakulta elektrotechnická ČVUT Technická 2, 166 27 Praha 6 fax: (02) 2435 7385, tel: (02) 2435 7637, www: http://cmp.felk.cvut.cz
Prohlášení Prohlašuji, že jsem na řešení diplomové práce pracoval samostatně za pomoci vedoucího práce, a že jsem nepoužil jinou literaturu, projeky, SW atd., než jsou uvedeny v přiloženém seznamu. Zároveň prohlašuji, že nemám závažný důvod proti užití tohoto školního díla ve smyslu § 60 Zákona č.121/2000 Sb. , o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů (autorský zákon).
V Praze dne 27. ledna 2006
Štepán Holinka
České vysoké učení technické v Praze Fakulta elektrotechnická Katedra kybernetiky
DIPLOMOVÁ PRÁCE Počítačová podpora diagnostiky štítné žlázy
Praha, 2006
Štěpán Holinka
Poděkování Děkuji svému vedoucímu, Dr. Tech. Radimu Šárovi, jehož dobrá vůle, podpora a věnovaný čas, plný cenných rad a připomínek, mě povzbuzovaly po celou dobu činnosti na diplomové práci. Dále MUDr. Danielu Smutkovi z 1.lékařské fakulty UK v Praze za čas strávený při specifikaci požadavků a testování systému vyvíjeného v rámci této diplomové práce a Ing. Martinu Švecovi za pomoc při rychlém seznámení se s projektem. Velký dík také patří mým rodičům za nezanedbatelnou podporu během doby mého studia. Tato práce vznikla za podpory Grantové agentury České akademie věd, projekt číslo 1ET101050403.
i
ii
Anotace Ultrasonografie je jednoduchou a rychlou neinvazivní zobrazovací metodou pro širokou oblast medicíny. Vedle laboratorních a cytologických vyšetření se používá pro konečné stanovení diagnózy Hashimotovy lymfocytární tyreoiditidy, onemocnění štítné žlázy. Naším cílem bylo vytvořit systém pro automatické zpracování sonografických obrazů, do současnosti konané výhradně lékařem specialistou, na základě ověřené možnosti automatické klasifikace obrazů, založené na Muzzoliniho texturních příznacích. Klasifikace probíhá do tříd reprezentujících zdravou tkáň a Hashimotovu tyreoiditidu. Dále jsme se zabývali otázkou, zda textura sonografického snímku obsahuje informaci o rozlišení negativního či pozitivního výskytu protilátek štítné žlázy (TPOAb a TgAb), v současné praxi vyšetřovaného výhradně laboratorními metodami. Náš závěr je, že na základě námi použitých příznaků nemůžeme existenci informace o výskytu protilátek jednoznačně potvrdit ani zamítnout.
Abstract Ultrasonography is a relatively cheap and quick non-invasive diagnostic medical imaging technique. It is used in addition to antibody test and thyroid biopsy to diagnose thyroid disease called Hashimoto’s Thyroiditis. So far, analysis of sonographic images is done manualy by a physician from B-mode sonograms. Our previous attempt to quantify the image analysis was bond on textural recognition using Muzzolini’s features. This thesis is concerned with the implementation of a system aiding manual diagnostic process done by the physician, based on the constructed classifier. Further, we deal with the question “Can the presence or absence of thyroid antibodies (TPOAb and TgAb) be predicted from sonographic images?” The conclusion of this thesis is that spatial texture features used here for the analysis of sonographic images do not have the capability to distinguish between the presence or absence of TPOAb and TgAb antibodies unambiguously.
iii
iv
Obsah 1 Úvod
1
2 Rozpoznávání přítomnosti protilátek 2.1 Úvod . . . . . . . . . . . . . . . . . . 2.2 Klasifikační úloha . . . . . . . . . . . 2.2.1 Obecný popis klasifikátoru . . 2.2.2 Postup klasifikace . . . . . . . 2.3 Parametr α . . . . . . . . . . . . . . 2.3.1 Volba parametru α . . . . . . 2.3.2 Výpočet parametru α . . . . . 2.3.3 Další diskuse . . . . . . . . . 2.4 Testování navrženého klasifikátoru . . 2.4.1 Rozdělení dostupných dat . . 2.4.2 Testování klasifikátoru . . . . 2.4.3 Výsledky testování . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
3 Systém pro podporu diagnostiky 3.1 Uživatelské požadavky na systém . . . . . 3.2 Technická specifikace . . . . . . . . . . . . 3.3 Používání a instalace systému . . . . . . . 3.3.1 Support . . . . . . . . . . . . . . . 3.3.2 Gpolyline . . . . . . . . . . . . . . 3.3.3 Destool . . . . . . . . . . . . . . . 3.3.4 Batchprocess . . . . . . . . . . . . 3.3.5 Instalace systému na osobní počítač 3.4 Implementace systému . . . . . . . . . . . 3.4.1 Support . . . . . . . . . . . . . . . 3.4.2 Gpolyline . . . . . . . . . . . . . . 3.4.3 Destool . . . . . . . . . . . . . . . 3.4.4 Batchprocess . . . . . . . . . . . . 3.4.5 Classify . . . . . . . . . . . . . . . v
. . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . .
4 4 5 5 7 8 8 9 10 12 12 13 13
. . . . . . . . . . . . . .
16 16 19 21 21 25 26 28 29 30 31 32 33 34 34
3.5
Hodnocení návrhu a implementace systému . . . . . . . . . . . 35
4 Shrnutí a závěr
36
A Tabulky výsledků klasifikátoru
42
B Výpis hlaviček hlavních funkcí systému
49
C Obsah přiloženého CD
53
vi
Seznam obrázků 1.1
Zobrazení umístění (vlevo) a tvaru (vpravo) štítné žlázy. . . .
2.1
Histogramy pro příznak F2, příčně snímané obrazy. . . . . . . 11
3.1
Ultrasonografické obrazy štítné žlázy, nasnímané sonografickými přístroji. . . . . . . . . . . . . . . . . . . . . . . . . . . Blokové schéma vyjadřující strukturu systému. . . . . . . . . Grafické uživatelské prostředí nástroje Support. . . . . . . . Integrovaný nástroj pro úpravu kontrastu a jasu obrazu, zobrazeného v hlavním okně Support. . . . . . . . . . . . . . . . Grafické uživatelské prostředí nástroje Gpolyline. . . . . . . Grafické uživatelské prostředí nástroje Destool. . . . . . . . . Grafické uživatelské prostředí nástroje Batchprocess. . . . . .
3.2 3.3 3.4 3.5 3.6 3.7
vii
3
. 17 . 19 . 22 . . . .
24 25 27 29
viii
Seznam tabulek 2.1 Rozložení ztrátové funkce L(d∗ | d) . . . . . . . . . . . . . . 2.2 Získané hodnoty entropií z dat a hodnoty parametrů α a β vypočtené podle (2.11) a (2.12) . . . . . . . . . . . . . . . . 2.3 Rozdělení dat na trénovací a testovací množinu . . . . . . . 2.4 Vybrané výsledky klasifikace pro příznak F2, použití skupiny všech snímků. . . . . . . . . . . . . . . . . . . . . . . . . . .
.
6
. 10 . 13 . 14
3.1
Přehled závislostí mezi jednotlivými nástroji systému. . . . . . 30
A.1 A.2 A.3 A.4 A.5 A.6
Příznak Příznak Příznak Příznak Příznak Příznak
F7 F6 F2 F7 F6 F2
(leave-one-out) . (leave-one-out) . (leave-one-out) . (testovací data) (testovací data) (testovací data)
. . . . . .
ix
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
43 44 45 46 47 48
x
1
Kapitola 1 Úvod Štítná žláza je malý orgán motýlovitého tvaru, uložený na přední straně krku pod hrtanem a před průdušnicí. Sestává z pravého a levého laloku, spojených žláznatým můstkem (viz obrázek 1.1 na konci této části). Jejím úkolem je shromažďovat z krve jód k výrobě dvou hormonů, tyroxinu a trijodtyroxinu, které později řídí veškeré pochody látkové výměny v těle. Hashimotova lymfocytární tyreoiditida je jedním z řady onemocnění štítné žlázy, projevující se difuzními změnami parenchymu. Jedná se o chronickou tyreoiditidu autoimunitního původu, postihující převážně ženské pohlaví. Je pojmenována podle jejího objevitele, japonského lékaře Hakaru Hashimota, který ji poprvé popsal v roce 1912. Podkladem chronické tyreoiditidy je lymfocytární infiltrace tyreoidální tkáně s přítomností plazmatických buněk, zodpovědných za tvorbu protilátek namířených proti tkáni štítné žlázy. Tu pak postupně destruuje, přičemž v pozdějším období může onemocnění skončit trvalou hypotyreózou. Diagnóza Hashimotovy tyreoiditidy se v dnešní době opírá o typický nález při vyšetření ultrasonografickým přístrojem, kde se zjišťuje difuzní snížení echogenity, a o pozitivní laboratorní nález protilátek proti tyreoidální peroxidáze (TPOAb) a tyreoglobulinu (TgAb). Definitivní diagnóza se získává z cytologického vyšetření po aspirační biopsii štítné žlázy. Toto vyšetření informuje o stadiu onemocnění a odliší je od jiných chorob štítné žlázy. Tato práce je součástí probíhajícího projektu „Počítačová podpora diagnostiky štítné žlázyÿ, který navazuje na výsledky předchozího projektu „Analýza textury sonografických obrazů endokrinopatií a metabolických onemocnění, zejména difuzních procesů parenchymu štítné žlázyÿ. Oba projekty jsou založené na spolupráci Centra strojového vnímání na Českém vysokém učení technickém v Praze a 1.lékařské fakulty Univerzity Karlovy v Praze. Projekty řeší problematiku diagnostiky štítné žlázy metodami automatického rozpo-
2
Kapitola 1. Úvod
znávání za pomoci výpočetní techniky, na základě využití sonografických obrazů (snímků) štítné žlázy, snímaných v B-módu (dvourozměrné zobrazení). Onemocnění Hashimotova tyreoiditida, na které se projekty specializovaly, se projevuje v sonografických obrazech změnou textury v oblasti štítné žlázy vlivem ztráty echogenity parenchymu žlázy. Difuzní snížení echogenity je způsobeno zmíněnou chronickou lymfocytární infiltrací. V minulosti se tak činnost na projektech zabývala otázkou, zda lze rozpoznat onemocnění automaticky klasifikací textury v místě štítné žlázy. Nakonec byl navržen klasifikátor na základě Muzzoliniho texturních příznaků. Hlavní výsledky této činnosti, týkající se výběru příznaků a konstrukce klasifikátoru, je možné nalézt v [1], [2], a výsledky zkoumání citlivosti příznaků na proces snímání obrazů jsou uvedeny v [3]. Přímé informace o texturních příznacích, navržených Muzzolinim, jsou zveřejněny v článku [4]. Tématem této práce je popis implementace systému, vyvíjeném v současné době v rámci projektu. Systém je založený na dříve vytvořeném klasifikátoru. Navíc se během činnosti na vývoji systému objevilo nové téma v projektu, které se začalo následně zpracovávat, a jehož první výsledky jsou také uvedeny v této práci, a dále v [5] a [6]. Jde o rozpoznávání pozitivního či negativního výskytu protilátek proti tyreoidální peroxidáze a tyreoglobulinu z textury sonografických snímků. Hlavní motivací pro vývoj celého systému, zaměřeného na diagnózu onemocnění Hashimotovy tyreoiditidy automatickým zpracováním sonografických obrazů, je zjednodušení diagnostiky u tohoto onemocnění. Právě zobrazovací metoda ultrasonografie, zde zastupuje dostupnou a jednoduchou neinvazivní metodu, oproti invazivní aspirační biopsii, způsobující vyšetřovanému subjektu psychickou i fyzickou zátěž. Sonografické obrazy jsou však zpracovávány vyšetřujícím lékařem (specialistou), který obrazy hodnotí vizuálně z kvalitativního hlediska na základě svých znalostí a osobních zkušeností. Proto jsou hledány metody, které by číselně pomocí počítače dokázaly z obrazů získat základní popis bez lidského zraku, a navíc i možné informace, nespatřitelné pouhým okem. Příkladem je snaha rozpoznání výskytu protilátek ze sonografického obrazu, bez nutnosti příslušného laboratorního vyšetření, protože zjišťování jejich výskytu je jedním z důležitých ukazatelů při stanovení diagnózy onemocnění. V současné praxi se výskyt protilátek proti tyreoidální peroxidáze (TPOAb) a tyreoglobulinu (TgAb), stanovuje výhradně pomocí laboratorních vyšetření. Snahy tyto informace získat pomocí sonografického vyšetření zatím nebyly celosvětově zveřejněny. Pouze Loy a spol. [7] zpětně vyhodnocovali, zda jsou na základě analýzy sonografických obrazů zaznamenatelné objektivní
3
rozdíly v echogenitě štítné žlázy u pacientů s různým funkčním stadiem Hashimotovy tyreoiditidy a různou aktivitou autoimunitních procesů. Závěrem uvedli, že jejich studie poukazuje na nevýrazný vzájemný vztah mezi echogenitou žlázy a množstvím TPOAg. Schulz a spol. [8] zase poukázali na vztah mezi zvýšeným krevním zásobením žlázy, vyšetřovaným pomocí barevné duplexní (dopplerovské) ultrasonografie, a aktivitou autoimunitních procesů, odraženou v množství TPOAb a TgAb, u Gravesovy nemoci a Hashimotovy tyreoiditidy.
Obrázek 1.1: Zobrazení umístění (vlevo) a tvaru (vpravo) štítné žlázy.
. V první části této práce (viz kapitola 2) jsou uvedeny současné výsledky hledání informace o výskytu protilátek v sonografickém obrazu a návrh příslušného klasifikátoru. Tato část je nad rámec původního zadání, avšak pro její teoretickou důležitost byla zařazena jako první. Dále je popsána implementace systému pro diagnózu Hashimotovy tyreoiditidy (viz kapitola 3). V kapitole 4 jsou shrnuty výsledky této práce. Příloha A obsahuje tabulky získané při testování klasifikátoru z kapitoly 2. V příloze B je výpis hlaviček hlavních funkcí implementovaného systému (kapitola 3). V příloze C jsou informace, týkající se obsahu přiloženého CD.
4
Kapitola 2 Rozpoznávání přítomnosti protilátek ze sonografického obrazu štítné žlázy 2.1
Úvod
Pro projekt „Počítačová podpora diagnostiky štítné žlázyÿ, řešící problém klasifikace stavu štítné žlázy ze sonografických obrazů snímaných v B-módu, byl vytvořen klasifikátor zaměřený na klasifikaci do dvou tříd, do „zdravéÿ (dále jen H) a „nemocnéÿ, která zastupuje Hashimotovu lymfocytární tyreoiditidu (dále jen LT) [1]. Tento klasifikátor, popsaný v [1] a [2], pracuje ve dvou krocích. Pro daný subjekt (vyšetřovanou osobu) je nasnímána sada sonografických obrazů štítné žlázy v B-módu. V každém obrazu dojde k pokrytí oblasti štítné žlázy maximálním počtem nepřekrývajících se vzorků (tvaru čtverce) dané velikosti (určené počtem pixelů). V prvním kroku klasifikace je na jednotlivé vzorky, u nichž jsou spočítány hodnoty texturních příznaků, aplikován Bayesův klasifikátor. Ve druhém kroku je na výstupy Bayesova klasifikátoru použito majoritní pravidlo určující konečnou třídu (H nebo LT), do které je subjekt zařazen. Používané texturní příznaky byly navrženy Muzzolinim [4] a jsou označovány F7, F6 a F2 v [1], [3]. Každému příznaku přísluší daná velikost vzorků tak, že F7 pracuje se vzorky o velikosti 21 × 21 pixelů, F6 31 × 31 pixelů a F2 41 × 41 pixelů [1]. Od počátku projektu se uvažovalo o pozdějším zvýšení počtu klasifikovaných tříd (diagnóz). V současné době jsme se tak začali v rámci projektu zabývat rozlišitelností pozitivního či negativního výskytu protilátek při autoimunitním onemocnění Hashimotova lymfocytární tyreoiditida ze sonogra-
2.2. Klasifikační úloha
5
fických obrazů [6], protože zvýšená koncentrace protilátek (anti-tyroid peroxidáza nebo anti-tyreoglobulin) je jednou z potvrzovacích metod diagnózy tohoto onemocnění. Bližší informace, týkající se protilátek u Hashimotovy tyreoiditidy, lze nalézt v knize prof. Marka [9], ze které je vybrána následující citace: Diagnózu potvrdí vyšetření sérových koncentrací protilátek proti tyreoidální peroxidáze – TPOAb (pozitivní asi u 90 % případů) a tyreoglobulinu – TgAb (pozitivní asi u 60–70 % případů) [10]. Senzitivita a specificita závisí na použité vyšetřovací metodě. Nepřítomnost protilátek diagnózu nevylučuje - vyskytují se i formy chronické lymfocytární tyreoiditidy primárně bez průkazu protilátek. Kromě toho může v ojedinělých případech dlouhotrvající tyreoiditidy s pokročilou atrofií dojít i k vymizení jejich pozitivity. V době záchytu onemocnění svědčí vysoké titry protilátek pro aktivní proces, obvykle s odezvou v cytologickém obraze. V dalším průběhu onemocnění a při léčbě však titry protilátek nekorelují s aktivitou onemocnění a jejich opakované vyšetřování je zbytečné. O funkci štítné žlázy podá nejlepší informaci vyšetření TSH a FT4. Vzhledem k možnosti chronické lymfocytární tyreoiditidy bez pozitivity protilátek TPOAb a TgAb a naopak skutečnosti, že se jejich pozitivita může vyskytovat až u 3,2–10,3 % „zdravýchÿ osob ([11],[12],[13]) je vhodné doplnit USG vyšetření štítné žlázy. USG štítné žlázy by měla být provedena i z důvodu častého výskytu uzlů v terénu chronické lymfocytární tyreoiditidy (ve kterých se může častěji vyvinout papilární karcinom štítné žlázy). Vyšetření perfuze dopplerovskou USG podává v některých případech informaci o aktivitě onemocnění (viz kapitola). Snahou predikovat výskyt protilátek ze sonografických obrazů tedy dochází ke zvýšení počtu tříd rozlišovaných klasifikátorem. Proto je třeba přehodnotit a upravit stávající klasifikátor, což je tématem této kapitoly. Texturní příznaky (F7,F6,F2), vybrané a používané v historii projektu, zůstávají stejné [1], [3].
2.2 2.2.1
Klasifikační úloha Obecný popis klasifikátoru
Nový klasifikátor má rozlišovat mezi třemi třídami. Zůstává původní třída H. Ostatní třídy jsme získali rozdělením třídy LT na podtřídy podle toho,
6
Kapitola 2. Rozpoznávání přítomnosti protilátek
zda je výskyt protilátek pozitivní či negativní. Označení nových tříd je LTn (výskyt protilátek negativní) a LTp (výskyt protilátek pozitivní). Pracujeme tedy s množinou tříd D = {H, LTn, LTp}. Při návrhu klasifikátoru využijeme bayesovské strategie rozhodování, přesněji minimalizace středního bayesovského rizika [14]. Nechť d ∈ D je skutečná příslušnost subjektu do jedné z daných tříd, a nechť d∗ je rozhodnutí klasifikátoru pro jednu třídu na základě apriorních informací a naměřených dat x. Uvažujeme ztrátovou funkci L(d∗ | d) s parametrem 0 ≤ α ≤ 1, která je shrnuta v níže uvedené tabulce 2.1. Parametr α zde vyjadřuje ztrátu, vzniklou při chybné klasifikaci mezi třídami LTn a LTp. V našem případě předpokládáme, že bude tato ztráta snížená oproti ztrátám v ostatních případech (H a LTn, H a LTp), ve kterých má standardní hodnotu 1. Tabulka 2.1: Rozložení ztrátové funkce L(d∗ | d)
d d∗ L(d∗ | d)
H H 0
H LTn 1
H LTp LTp H 1 1
LTp LTp LTn LTn LTp H α 0 1
LTn LTn LTn LTp 0 α
Střední bayesovské riziko [14] je vyjádřené vztahem R(d∗ ) =
X
P (d | x) L(d∗ | d),
(2.1)
d∈D
kde P (d | x) je aposteriorní pravděpodobnost stavu, že vektor naměřených dat x patří do třídy d. Cílem rozhodování je nalézt právě takové rozhodnutí d∗ , pro které je R(d∗ ) minimální. Použitím Bayesova vzorce [14] na vztah (2.1) můžeme aposteriorní pravděpodobnost P (d | x) nahradit součinem podmíněné hustoty pravděpodobnosti p(x | d), vyjadřující rozložení naměřených dat x uvnitř třídy d, a apriorní pravděpodobnosti výskytu naměřených dat x z třídy d, označované P (d) R(d∗ ) =
X
p(x | d) P (d) L(d∗ | d).
(2.2)
d∈D
Po rozepsání pro námi definované třídy pak získáme vztah R(d∗ ) = p(x | H) P (H) L(d∗ | H) + p(x | LTn) P (LTn) L(d∗ | LTn) + + p(x | LTp) P (LTp) L(d∗ | LTp). (2.3)
2.2. Klasifikační úloha
7
Takto navržený klasifikátor jsme schopni naučit z trénovacích dat pomocí třech podmíněných rozdělení pravděpodobnosti, p(x | H),
p(x | LTn),
p(x | LTp),
a apriorních pravděpodobností P (H),
P (LTn) a P (LTp).
Apriorní pravděpodobnosti volíme 1 1 1 P (H) = , P (LTn) = , P (LTp) = , (2.4) 2 4 4 což reprezentuje tzv. „neinformovaný klasifikátorÿ. Nastavené hodnoty předpokládají neinformovanost ve smyslu rozdělení na třídy H a LT (P (H) = P (LT) = 12 ) a následně neinformovanost o rozdělení na LTn a LTp uvnitř třídy LT. Uživatel na základě odpovědi takovéhoto klasifikátoru a na základě dalších vlastních zjištění (např. biochemické či cytologické vyšetření) musí rozhodnutí učinit sám. Klasifikátor totiž neurčuje diagnózu, ale poskytuje pouze data pro její určení. Může v tomto případě klasifikace dojít i k situaci, kdy správný výsledek bude přesně opačný než to, co říká klasifikátor. Druhou možností by byla činnost klasifikátoru jako stroje, který vyhodnotí všechny existující informace, včetně sonografických snímků. V tomto případě by se však musela apriorní pravděpodobnost volit z tabulky jí předepisující na základě mnoha vstupních informací o subjektu, např. pohlaví, věk, anamnéza, předchozí vyšetření či incidence v populaci. Toto řešení jsme nezvolili pro přílišnou složitost.
2.2.2
Postup klasifikace
Nyní shrneme postup při klasifikaci subjektu na základě znalosti apriorních pravděpodobností a naměřených dat x: 1. Pro klasifikovaný subjekt máme k klasifikovaných vzorků. 2. Pro každý vzorek i = 1, · · · , k spočítáme tři hodnoty bayesovského rizika R(d | x) podle Ri (H | x) = p(x | LTn) P (LTn) + p(x | LTp) P (LTp), (2.5) Ri (LTn | x) = p(x | H) P (H) + α p(x | LTp) P (LTp), (2.6) Ri (LTp | x) = p(x | H) P (H) + α p(x | LTn) P (LTn), (2.7) čímž získáme k vektorů tvaru
Ri (H | x) Ri = Ri (LTn | x) . Ri (LTp | x)
(2.8)
8
Kapitola 2. Rozpoznávání přítomnosti protilátek
3. Sečteme hodnoty vektorů přes i a podělíme celkovým počtem vzorků k R∗ =
k 1 X Ri . k i=1
(2.9)
4. Subjekt zařadíme do třídy d s nejmenší hodnotou Rj∗ d = arg min Rj∗ ,
(2.10)
j
kde Rj∗ je j-tá složka vektoru R∗ . Pomocí kroků 3 a 4 našeho postupu klasifikace se podařilo vyjádřit vážené majoritní pravidlo, na kterém je klasifikátor založen.
2.3 2.3.1
Parametr α Volba parametru α
Klasifikátor navržený v předchozí části je volen tak, aby reprezentoval nejistotu o rozlišitelnosti tříd LTn a LTp ze sonografického obrazu, kterou lze popsat podmíněnou entropií H(q | x) vyjádřenou v bitech, kde q ∈ {LTn, LTp} je jednobitová proměnná a x jsou naměřená data. Pokud H(q | x) = 0, data obsahují jednoznačnou informaci o třídách. Pokud H(q | x) = H(q), kde v našem případě H(q) = log2 2 = 1 (q je jednobitová proměnná), data žádnou informaci o třídách neobsahují. V souvislosti s tímto lze z předpisů (2.5), (2.6) a (2.7) zaznamenat dva mezní případy volby parametru α: • Prvním případem je α = 0, což reprezentuje situaci, kdy by ve snímku nebyla žádná informace o rozdílu mezi LTn a LTp. Jinými slovy nelze rozlišit třídy LTn, LTp a klasifikace probíhá do tříd H a LT={LTn,LTp}. • Druhým případem je α = 1, reprezentujícím naopak výskyt informace pro jednoznačné rozlišení mezi LTn a LTp. Klasifikace probíhá do jednoznačně určených tříd H, LTn a LTp. Parametr α tedy zvolíme jako míru jistoty o tom, že sonografický snímek může predikovat výsledek testu na protilátky, a potom na něj můžeme nahlížet jako na entropii (v bitech) vyjádřenou jako α = 1 − H(q | x),
(2.11)
2.3. Parametr α
9
což je v souladu s výše uvedenými body. Lze ještě uvažovat o poměru k entropii H(r | x), kde r ∈ {H, LT} je opět jednobitová proměnná: β=
1 − H(q | x) , 1 − H(r | x)
(2.12)
protože i schopnosti rozhodnout mezi třídami H a sjednocením LT={LTn,LTp} lze hodnotit entropií. Hodnotu entropie H(q | x) a H(r | x) je možno vypočítat z trénovací množiny dat, tedy z histogramů pro jednotlivé třídy. Obecný výpočet entropie z histogramu vychází ze vztahu H=
d X
log2 hj −
j=1
n X
pi log2 pi ,
(2.13)
i=1
kde hj je šířka přihrádky histogramu, d je dimenze histogramu, n je počet měření a pi jsou příslušné hodnoty pravděpodobnosti. Pro volbu šířky přihrádky histogramu hj lze použít Scottovo pravidlo [15] hj ≈
3.5 σj √ , d+2 n
(2.14)
kde σj je rozptyl dané dimenze histogramu. P Člen dj=1 log2 hj z rovnice (2.13) slouží pro kompenzaci kvantizace histogramu v jednotlivých dimenzích. Bez tohoto členu by celková hodnota statistiky rostla se zmenšováním rozlišení j-té dimenze histogramu hj .
2.3.2
Výpočet parametru α
Výpočet výše zmíněných entropií H(q | x) a H(r | x), a dále parametrů α a β (viz vztahy (2.11) a (2.12)), jsme provedli pro všechny tři známé příznaky F2, F6 a F7, a zároveň pro různé skupiny snímků. V první skupině byly obsaženy všechny dostupné nasnímané obrazy, v druhé skupině pouze snímky s příčnými řezy a poslední skupinu tvořili snímky s podélnými řezy štítné žlázy [1]. Všechny tyto hodnoty jsou pro porovnání uvedeny v následující tabulce (tabulka 2.2). Hodnoty entropií byly vypočítány pomocí metody Jackknife ˆ [14], jedná se tedy o odhady, proto je entropie dále označována jako H. V tabulce jsou také uvedeny hodnoty σ, vypočítané pro jednotlivé odhady entropií, vyjadřující směrodatnou odchylku, definovanou obvykle jako kvadratickou odmocninu z rozptylu náhodné veličiny. Jednodušeji řečeno, σ vypovídá o tom, jak moc se od sebe navzájem liší typické případy v souboru zkoumaných čísel. Je-li malá, jsou si prvky souboru většinou navzájem
10
Kapitola 2. Rozpoznávání přítomnosti protilátek
podobné, a naopak velká směrodatná odchylka signalizuje velké vzájemné odlišnosti. V našem případě jsme náhodnou veličinu, resp. soubor zkoumaných čísel, získali právě použitím metody Jackknife při výpočtu entropií. Definujme předpoklad, že data x obsahují jednoznačnou informaci o tříˆ | x) měly dách H, LTn, LTp. Potom by se hodnoty vypočtených entropií H(q blížit nule, a naopak parametr α by se v tomto případě, podle vztahu (2.11), měl blížit jedné. Tabulka 2.2: Získané hodnoty entropií z dat a hodnoty parametrů α a β vypočtené podle (2.11) a (2.12)
Všechny snímky typ příznaku F7 F6 ˆ 0.8935 0.9111 H(q|x) ˆ σ (H(q|x)) 0.0862 0.0629 ˆ H(r|x) 0.7747 0.4769 ˆ σ (H(r|x)) 0.0241 0.0332
F2
Příčné řezy F7
F6
Podélné řezy F2
F7
F6
F2
0.8598 0.8274 0.8589 0.6730 0.9038 0.9129 0.8492 0.0689 0.0698 0.0610 0.0979 0.0848 0.0683 0.0740 0.3499 0.5518 0.7297 0.4927 0.8082 0.4373 0.4694 0.0417 0.0490 0.0382 0.0477 0.0212 0.0318 0.0454
α
0.1065 0.0889 0.1402 0.1726 0.1411 0.3270 0.0962 0.0871 0.1508
β
0.4726 0.1700 0.2157 0.3850 0.5220 0.6446 0.5016 0.1548 0.2841
ˆ | x) se spíše blíží hodTabulka 2.2 ukazuje, že většina hodnot entropie H(q notě jedna. Můžeme tedy zamítnout náš předpoklad o jednoznačné informaci v naměřených datech x. Nemůžeme však říci, že data neobsahují informaci žádnou. ˆ | x) jsou obecně menší než H(q ˆ | x), což ukazuje na Hodnoty entropie H(r lepší výsledky klasifikace mezi třídami H a sjednocením LT={LTn,LTp}, než mezi H, LTn a LTp. Jednou z příčin je, že použité příznaky byly konstruovány právě pro rozhodování mezi H a LT [1]. Pokud budeme údaje v tabulce hodnotit, nejzajímavější hodnoty entropie jsme obdrželi u příčných řezů štítné žlázy s použitím příznaku F2. Na obrázku 2.1 jsou znázorněny histogramy pro tento případ. Osa x obsahuje nakvantizované hodnoty příznaku F2 a na ose y jsou vyneseny jeho relativní četnosti. Histogramy ukazují, že třída H je rozlišitelná od tříd LTn a LTp. Naopak histogramy pro třídy LTn a LTp se spíše překrývají, což vyjadřuje jejich horší rozlišitelnost. Souhlasí to s výše rozebranými výsledky.
2.3.3
Další diskuse
ˆ | x) a H(q ˆ | x) u příznaku V tabulce 2.2 si musíme dále všimnout hodnot H(r F2 pro všechny skupiny obrazů (příčné řezy, . . . ). Podle našeho předpokladu
2.3. Parametr α
11
Obrázek 2.1: Histogramy pro příznak F2, příčně snímané obrazy.
by měla hodnota entropie pro skupinu obsahující všechny snímky ležet někde v intervalu hodnot entropií pro skupinu jen příčných řezů a skupinu jen podélných řezů štítné žlázy. Na rozdíl od příznaků F6, F7 právě příznak F2 tento předpoklad nesplňuje. Zdá se, že příznak F2 nese o třídách H a LT jinou informaci v podélných řezech, než v příčných řezech, protože entropie ˆ | x) pro skupinu všech snímků (0.3499) je o poznání menší, než tato H(r entropie jen pro příčné (0.4927) a entropie jen pro podélné (0.4694) řezy. ˆ | x) pro skupinu všech snímků (0.8598) je větší, než Zároveň entropie H(q tato entropie jen pro příčné (0.6730) a entropie jen pro podélné (0.8492) řezy. Protože jsme při výpočtu entropie podle (2.13) provedli korekci její hodnoty vzhledem ke kvantizaci dat, můžeme tvrdit, že v tomto chyba není. Příčinou by mohl být způsob sonografického snímání. Z praxe jsme obeznámeni s tím, že vyšetřující osoba při snímání příčných řezů musí více přitlačit na sondu, čímž se žláza deformuje, a deformace by mohla nést informaci o jejím stavu. Při snímání podélného řezu zase někdy nastává situace, kdy je sonda přiložena mírně stranou (většinou laterálně), takže se pod ní objeví krční tepna. Aby byla na snímku štítná žláza zobrazena, musí se v tomto případě sonda naklonit dovnitř, čímž folikuly (váčky, nejmenší stavební jed-
12
Kapitola 2. Rozpoznávání přítomnosti protilátek
notky štítné žlázy) nejsou zobrazeny v kolmém řezu, ale tangenciálně, a ztrácí se tak pravděpodobně izotropnost snímané žlázy. Tuto příčinu můžeme potvrdit nebo vyloučit pomocí výpočtu podmíněné entropie H(s | xF2 ), kde s ∈{příčné snímky, podélné snímky} a xF2 jsou naměřená data pro příznak F2. Na počátku vezměme předpoklad, že použitý příznak F2 zaznamenává rozdíl mezi příčně a podélně snímanými obrazy. Pokud bude hodnota podmíněné entropie H(s | xF2 ) = 0, příznak F2 zaznamenává rozdíl mezi příčnými a podélnými snímky. Pokud H(s | xF2 ) = H(s), kde v našem případě H(s) = log2 2 = 1, F2 žádný rozdíl mezi příčně a podélně snímanými obrazy nezaznamenává. Podle vztahu (2.13) a za pomoci metody Jackknife [14] provedeme odˆ | xF2 ). Obdrželi jsme následující hodnotu s odpovídající had entropie H(s směrodatnou odchylkou, získanou při výpočtu entropie: ˆ | xF2 ) = 0.9797, H(s
ˆ | xF2 )) = 0.0312. σ (H(s
Pro porovnání ještě uvedeme hodnoty podmíněné entropie a její směrodatné odchylky pro ostatní příznaky: ˆ | xF6 ) = 0.9087, H(s ˆ | xF7 ) = 0.9777, H(s
ˆ | xF6 )) = 0.0274, σ (H(s ˆ | xF7 )) = 0.0292. σ (H(s
ˆ | xF2 ) nabývá hodnoty (0.9797) blížící se maximální hodProtože H(s notě (1), zamítáme náš předpoklad, neboť neexistuje jednoznačná informace v naměřených datech o rozdílu podélně a příčně snímaných obrazů, kterou by F2 zaznamenával. To samé lze říci i o ostatních příznacích na základě odhadnutých podmíněných entropií. Další možnou příčinou toho, že příznak F2 nese o třídách H a LT jinou informaci v podélných řezech, než v příčných řezech, může být informace skrytá v segmentaci štítné žlázy ze snímku, která je prováděna manuálně znalou osobou. Toto nemůžeme nyní potvrdit ani vyloučit. Stávající segmentace tuto zajímavost sice nezpůsobuje u příznaků F6 a F7, ale to může být spojeno s různou velikostí vzorků, používaných jednotlivými příznaky, kdy právě F2 používá největší velikost vzorků 41 × 41 pixelů (viz oddíl 2.1, [1]).
2.4 2.4.1
Testování navrženého klasifikátoru Rozdělení dostupných dat
Klasifikátor jsme testovali na datech, tvořených 85 subjekty. U každého subjektu je dostupno třicet snímků štítné žlázy, v nichž je zastoupeno deset příčných řezů, deset podélných řezů snímaných zprava a deset podélných řezů
2.4. Testování navrženého klasifikátoru
13
štítné žlázy snímaných zleva. Skupinu zdravých (třída H) zastupuje 39 subjektů. Skupina nemocných je rozdělena na 8 subjektů třídy LTn a 47 subjektů třídy LTp. Tyto data jsme rozdělili na trénovací a testovací množinu tak, že do testovací množiny jsme náhodně vybrali určitý počet subjektů, jak je znázorněno v následující tabulce 2.3: Tabulka 2.3: Rozdělení dat na trénovací a testovací množinu
trénovací množina testovací množina
2.4.2
třída H 31 subjektů 8 subjektů
třída LTn třída LTp 6 subjektů 30 subjektů 2 subjektů 17 subjektů
Testování klasifikátoru
Testování klasifikátoru jsme provedli opět pro všechny tři známé příznaky F2, F6 a F7 , a pro skupinu všech snímků, pro skupinu jen s příčnými řezy a pro skupinu jen s podélnými řezy [1]. Hodnotu parametru α jsme volili postupně α = 1 . . . klasifikace do tříd H, LTn a LTp s předpokládanou jednoznačnou informací v datech o rozdílu těchto třech tříd, α = 0 . . . předpoklad klasifikace pouze do tříd H a LT = {LTn,LTp}, α . . . příslušné hodnoty vypočtené vztahem (2.11), uvedené v tabulce 2.2, α = β . . . příslušné hodnoty vypočtené vztahem (2.12), uvedené v tabulce 2.2. Případy α = 1 a α = 0 mají při testování plnit pouze informativní charakter o správnosti předpokládaných krajních podmínek volby parametru α, uvedených v oddílu 2.3.1. Při testování jsme nejdříve použili metodu leave-one-out [14] na trénovacích datech. V druhé části testování jsme nechali natrénovat klasifikátor z trénovacích dat a oklasifikovali jsme jím celou testovací množinu.
2.4.3
Výsledky testování
Výsledky testování jsou znázorněny v tabulkách uvedených v příloze A. Tabulky jsou rozlišeny podle několika kritérií, mezi nimiž je metoda testování (leave-one-out [14], testovací množina), použité příznaky (F2, F6, F7), použitá skupina řezů (příčné, podélné, všechny snímky), či použité hodnoty α pro klasifikátor (viz oddíl 2.4.2).
14
Kapitola 2. Rozpoznávání přítomnosti protilátek
Klasifikace probíhá na základě minimalizace rizika (viz oddíl 2.2.2), tudíž pro každý klasifikovaný subjekt dostáváme hodnotu risku, se kterou byl přiřazen do výsledné třídy. Ve výsledkových tabulkách (příloha A) jsou tak ¯ pro takovou tabulku uvedeny vedle hodnoty α i průměrné hodnoty risku R ¯ Odchylka udává, jak moc se od sebe a jeho směrodatná odchylka σ (R). navzájem liší hodnoty risků, s nimiž byly klasifikovány jednotlivé subjekty pro danou tabulku. Při kontrole výsledků testování ve výsledkových tabulkách pro klasifikátor používající α = 1 a α = 0, můžeme z většiny případů jednoznačně potvrdit správnost těchto předpokládaných krajních podmínek volby parametru α (viz oddíl 2.3.1) alespoň z pohledu α = 0. Pro hodnoty α (2.11) a β (2.12) jsme obdrželi výsledky klasifikace subjektů, rozlišující nejlépe mezi třídami LTn, LTp, a zároveň mající minimální, resp. nulovou chybovost klasifikace mezi třídami H a LT={LTn,LTp}, pro příznak F2 (viz tabulky A.3 a A.6). Platí tak pro všechny zde uvažované skupiny řezů. Z uvedených tabulek též vyplývá, že v tomto případě není rozdíl mezi výsledky testování klasifikátoru, používajícího hodnot α (2.11) a β (2.12), a ¯ Nebudeme tedy dále mezi nimi to ani v případě výsledných hodnot risků R. rozlišovat. Níže uvedené porovnávací tabulky výsledků klasifikace (viz tabulka 2.4) platí pro výše zmíněný případ příznaku F2 při použití skupiny všech snímků. Levá tabulka odpovídá výsledkům leave-one-out (označované jako LOO) na trénovacích datech, a pravá tabulka odpovídá výsledkům klasifikace testovacích dat. Řádky reprezentují výsledky klasifikace a sloupce reprezentují správné třídy. Tabulka 2.4: Vybrané výsledky klasifikace pro příznak F2, použití skupiny všech snímků. správné třídy
H LTp LTn
LTp 0 3 27
LTn 0 0 6
LOO na trénovací množině
výsledky klasifikace
výsledky klasifikace
správné třídy
H 31 0 0
H LTp LTn
H 8 0 0
LTp 0 5 12
LTn 0 0 2
Klasifikace testovací množiny
V případě rozlišování tříd H a LT={LTn,LTp} je jednoznačně brána třída H jako negativní diagnóza a třída LT jako pozitivní diagnóza. V případě rozlišování mezi třídami LTn a LTp je jako negativní diagnóza brána třída LTn a jako pozitivní třída LTp. Vyjdeme-li z tohoto, určíme z tabulky 2.4 pro klasifikaci mezi H a LT senzitivitu 100 % a specificitu 100 % pro test
2.4. Testování navrženého klasifikátoru
15
LOO a senzitivitu 100 % a specificitu 100 % pro klasifikaci testovacích dat. Dále z tabulky 2.4 určíme senzitivitu 10 % a specificitu 100 % pro test LOO, potvrzenou senzitivitou 29,4 % a specificitou 100 % pro klasifikaci testovacích dat při rozlišování mezi LTn a LTp. Senzitivita a specificita pro klasifikaci mezi LTn a LTp, pro případ skupiny jen příčných řezů a skupiny jen podélných řezů, vypočítaná výše uvedeným způsobem z dat, dohledatelných v tabulkách A.3 a A.6, je shodně 13,3 % resp. 100 % pro test LOO a 23,5 % resp. 100 % pro klasifikaci testovacích dat. Klasifikace založená na příznacích F6 a F7 nedosahuje takových výsledků, jako klasifikace s příznakem F2, proto zde nebudeme dále tyto výsledky rozebírat. Jsou uvedené v tabulkách A.1, A.2, A.4 a A.5. Výše uvedené výsledky ukazují, že navržený klasifikátor, při použití příznaku F2, rozlišuje diagnózu Hashimotovy lymfocytární tyreoiditidy ze sonografických snímků, snímaných v B-módu, s vysokou pravděpodobností (100 %). Dále se ukázalo, že sonografické obrazy štítné žlázy obsahují určitou slabou informaci, související s rozlišením negativního či pozitivního výskytu protilátek štítné žlázy automaticky z těchto obrazů. Při dalším pokračování práce na projektu „Počítačová podpora diagnostiky štítné žlázyÿ se bude potřeba zaměřit na řešení dvou hlavních nedostatků. Je potřeba zvýšit počet subjektů v trénovací množině, a to hlavně pro třídu LTn. Dále je potřeba pokusit se zkonstruovat nové optimální příznaky, díky kterým by se zvýšila stávající senzitivita při diagnóze výskytu protilátek při onemocnění Hashimotova tyreoiditida, aniž by se při tom zásadně snížila senzitivita diagnózy samotného onemocnění klasifikátorem. Stávající příznaky (F2, F6, F7), které byly použity při testování navrženého klasifikátoru, popsaného v této kapitole, byly totiž v historii projektu optimalizovány pro klasifikaci mezi třídami H a LT, a je nejednoznačné, že jsou optimální i pro rozlišování výskytu protilátek.
16
Kapitola 3 Systém pro počítačovou podporu diagnostiky štítné žlázy Tato kapitola obsahuje popis systému, který je založen na klasifikátoru, navrženém v historii projektu „Počítačová podpora diagnostiky štítné žlázyÿ. Hlavní výsledky projektu jsou shrnuty v [1] a [3]. Cílem tvorby systému je uživatelsky zpříjemnit práci se samotným klasifikátorem. Je zde podána specifikace systému z hlediska uživatele (oddíl 3.1), poté z hlediska struktury systému (oddíl 3.2), práce se systémem a doporučená instalace (oddíl 3.3). Nakonec je rozvedena implementace systému (oddíl 3.4). V příloze B jsou uvedeny hlavičky hlavních funkcí.
3.1
Uživatelské požadavky na systém
Systém pro počítačovou podporu diagnostiky štítné žlázy (dále jen systém) má pomoci uživateli (lékaři) diagnostikovat u vyšetřovaného subjektu Hashimotovu lymfocytární tyreoiditidu z ultrasonografických obrazů snímaných v B-módu. Vstupními daty systému jsou tedy sonografické obrazy štítné žlázy, nasnímané ultrasonografickým přístrojem a uložené na server. Zpracovávány jsou poté systémem na osobním počítači. Štítná žláza je na obrazech zobrazována v příčném řezu a v podélném řezu (viz obrázek 3.1). Ultrasonografické přístroje, z kterých jsou v této době dostupná data, a které se používají při snímání nových subjektů, jsou Toshiba ECCO-CEE (console model SSA340A) a Philips Envisor M254DA, přičemž formáty nasnímaných obrazů jsou u přístroje Toshiba PNG a u přístroje Philips DICOM.
3.1. Uživatelské požadavky na systém
(a) Přístroj Toshiba ECCO-CEE, Příčný řez štítné žlázy.
(b) Přístroj Philips Envisor M254DA. Podélný řez štítné žlázy. Obrázek 3.1: Ultrasonografické obrazy štítné žlázy, nasnímané sonografickými přístroji.
17
18
Kapitola 3. Systém pro podporu diagnostiky
Očekávanými výstupními daty systému je stanovení diagnózy, založené na klasifikaci sonografických obrazů vyšetřovaného subjektu do jedné z uvažovaných tříd. Z pohledu uživatele existují dvě možné třídy, do kterých lze vyšetřovaný subjekt zařadit. První třída zastupuje zdravé subjekty a druhá třída zastupuje subjekty s onemocněním Hashimotova tyreoiditida. Předpokladem stanovení diagnózy systémem je klasifikace celé sady obrazů (dále jen sada, sada obrazů) pro vyšetřovaný subjekt. Přibližný počet obrazů v sadě je třicet, rovnoměrně rozdělený na tři skupiny, zastupující příčné řezy, podélné řezy pravého laloku a podélné řezy levého laloku štítné žlázy. Pro jednoduchou identifikaci nasnímaných sad obrazů mezi ostatními se proto ukládá záznam, který sadu jednoznačně popisuje, a měl by obsahovat následující základní informace: • identifikace subjektu u sady obrazů, • identifikace lékaře u sady obrazů, • identifikace ultrasonografického přístroje (tovární typ) u sady obrazů, • datum pořízení snímků u sady obrazů, • použitá hloubka snímání u každého obrazu, • typ řezu štítné žlázy u každého obrazu. Tento záznam (dále popisný záznam) by měl být jednoduše editovatelný. Dále je pro klasifikaci sonografického obrazu zásadní vymezení oblasti štítné žlázy. Na obrazu je snímána štítná žláza s okolním prostředím. Uživatel oblast štítné žlázy v obrazu umí rozpoznat, ale samotný systém ne. Je nutné provést manuálně segmentaci, nebo-li vyznačení oblasti štítné žlázy, znalým uživatelem. Informace o provedené segmentaci je třeba ukládat pro možnost budoucí opětovné práce s těmito obrazy. Systém by měl mít možnost provádět přímou klasifikaci nově nasnímané sady sonografických obrazů. Dále je potřeba umožnit klasifikaci více sad obrazů najednou, bez nutného zásahu uživatele, tzv. dávkové zpracování. V obou případech by se měly výsledky klasifikace ukládat s možností pozdějšího náhledu. Na závěr můžeme shrnout v bodech základní funkce, požadované na systému: • Příprava sonografických obrazů na klasifikaci, spočívající v segmentaci štítné žlázy v každém obrazu a uložení informace o segmentaci. • Vytváření a editace záznamu obsahujícího informace o dané sadě obrazů. • Klasifikace nově nasnímané sady obrazů a klasifikace více sad obrazů najednou. Ukládání výsledků klasifikace a umožnění jejich prohlížení.
3.2. Technická specifikace
3.2
19
Technická specifikace
V historii projektu počítačové podpory diagnostiky štítné žlázy byl již vyvinut jednoduchý nástroj pro testování navrženého klasifikátoru, implementovaný v prostředí Matlab. V rámci spuštěné aplikace bylo možné vytvořit popis vstupní sady sonografických obrazů, dále v obrazech provést segmentaci štítné žlázy a poté provést klasifikaci. Všechny tyto funkcionality byly obsaženy v rámci jednoho nástroje, nazvaného Support. Uživatelské požadavky, uvedené v oddílu 3.1, vycházejí hlavně ze zkušeností s původním nástrojem Support. Na základě jejich rozboru a na základě některých již vytvořených funkcionalit pro nástroj Support, byl nově navrhovaný systém rozdělen na několik modulů, dále nazývaných jako nástroje, s vlastními funkcionalitami. Blokové schéma, uvedené na obrázku 3.2, znázorňuje uspořádání jednotlivých nástrojů a jejich hlavních funkcionalit.
Obrázek 3.2: Blokové schéma vyjadřující strukturu systému.
Gpolyline : Pomocí uživatelského prostředí nástroje Gpolyline je možno segmentovat oblast štítné žlázy v sonografickém obrazu kreslením polygonů. Informace o polygonech v daném obrazu se ukládají do textového souboru s příponou TXT, a lze je zpětně upravovat. Destool : Pro popis nasnímaných obrazů informacemi, shrnutými v oddílu 3.1 (například ID subjektu, ID lékaře, datum snímání, hloubka
20
Kapitola 3. Systém pro podporu diagnostiky
snímání, . . . ), je vytvořeno uživatelské prostředí nástroje Destool. Vytvořený popisný záznam (viz oddíl 3.1) se ukládá do textového souboru s příponou DES, a je editovatelný. Support : Pro nástroj Support je implementováno uživatelské rozhraní. Je to komplexní nástroj pro předzpracování nově nasnímané sady sonografických obrazů, klasifikaci a prohlížení výsledků klasifikace. Umožňuje vytváření popisného záznamu pro sadu obrazů voláním hlavní funkce nástroje Destool. Dále ruční segmentaci oblasti štítné žlázy v obrazu kreslením polygonů a uložením informací o nich pro daný obraz. Pro klasifikaci načtené sady obrazů je volána hlavní funkce nástroje Classify. Výsledky, poskytnuté nástrojem Classify, se ukládají do binárního typového souboru Matlabu (MAT), a jsou zobrazovány pro možnost prohlížení. Zároveň Support pracuje se sadami obrazů, již dříve předzpracovaných, načtením uložených záznamů a výsledků klasifikace. Batchprocess : Nástroj Batchprocess má implementováno uživatelské rozhraní, jež umožňuje provést klasifikaci více sad obrazů najednou, bez nutného zásahu uživatele. Výsledky klasifikace, získané voláním funkcí nástroje Classify, se ukládají pro každou klasifikovanou sadu obrazů do binárního typového souboru Matlabu (MAT). Předpokladem pro účelnou klasifikaci jsou už předzpracované sady obrazů, pomocí samostatných nástrojů Destool a Gpolyline, nebo pomocí nástroje Support. Classify : Nástroj Classify je jádrem systému. V jeho funkcích je implementován již dříve navržený klasifikátor [1], [16]. Nemá implementované uživatelské rozhraní, plní pouze výpočetní funkci. Jeho hlavní funkce jsou volány z prostředí Support a Batchprocess. Pro úspěšné provedení klasifikace se používají načítané informace o zpracovávané sadě obrazů, získané při jejím předzpracování nástroji Gpolyline a Destool, či komplexně pomocí Support. Sonoocr : Nástroj Sonoocr byl vytvořen autorem této práce již dříve pro integraci do nástroje Destool. Pro ultrasonografické přístroje, které mají vytvořený záznam v jeho datových souborech (v této době je to Toshiba ECCO-CEE a Philips Envisor M254DA), pomáhá přímo z plochy nasnímaného obrazu (viz obrázek 3.1) rozpoznat některé zde obsažené informace, jako je například použitá hloubka snímání, či samotný typ použitého sonografu. Další informace o tomto nástroji lze nalézt v [17]. Options : Nástroj vytvořený pro změnu pevně daných konstant uvnitř skriptů. Jeho funkce jsou integrované v Sonoocr. Další informace viz
[email protected]. Journal : Nástroj pro ošetření ladících zpráv při implementování. Jeho funkce jsou integrované v hlavních funkcích výše uvedených nástrojů. Další informace viz
[email protected].
3.3. Používání a instalace systému
21
Z hlediska zpětné kompatibility nového systému s již zpracovanými obrazovými daty starší aplikací, byl ponechán formát jmen souborů s obrazy. Protože pro daný subjekt je vždy nasnímána celá sada obrazů, je jméno každého souboru složeno z ID vyšetřovaného subjektu a pořadového čísla obrazu v sadě (počítáno od čísla 0) ve formě ID_subjektu.pořadové_číslo.přípona , pro příklad 305127110.0.png .
3.3
Používání a instalace systému
V tomto oddílu bude popsán postup práce se systémem a možnosti jednotlivých nástrojů z hlediska uživatele. Nakonec bude zmíněna doporučená instalace systému. Postup pro rychlé zpracování nově nasnímaných sonografických obrazů (sady obrazů) vyšetřovaného subjektu by měl začít spuštěním uživatelského prostředí nástroje Support, přesněji řečeno spuštěním jeho hlavní funkce scsupport.m. Toto prostředí umožní načíst sadu obrazů nasnímaných sonografickým přístrojem a uložených na serveru. Dále následuje popis obrazů pomocí spuštěného nástroje Destool a segmentace štítné žlázy v obrazech. Po tomto předzpracování obrazů je umožněno spustit klasifikaci obrazů. Zobrazeným výsledkem klasifikace je stanovení diagnózy pro subjekt ve formě procentuální příslušnosti k třídě H (zdravý) a k třídě LT (nemocný) (viz obrázek 3.3). Výsledek klasifikace je zároveň uložen pro pozdější náhled. Nově načtené obrazy lze také zpracovávat postupně pomocí uživatelských prostředí vytvořených pro jednotlivé nástroje Destool, Gpolyline a Batchprocess (viz obrázek 3.6, 3.5, 3.7), ale tato cesta je zdlouhavá. Tyto nástroje se naopak využijí v případě, kdy není potřeba znát okamžitě výsledky klasifikace a je možné provést později klasifikaci více předzpracovaných sad obrazů najednou. Dále jsou určeny pro editaci a úpravy již dříve zpracovaných sad. Výsledky klasifikace sady obrazů, provedené nástrojem Batchprocess, si lze později prohlédnout pomocí Support.
3.3.1
Support
Uživatelské prostředí nástroje (viz obrázek 3.3), spuštěné pomocí jeho hlavní funkce scsupport.m, obsahuje zleva oblast se seznamem načtených sonografických obrazů, červeným textem zobrazené výsledky proběhnuté klasifikace na sadě obrazů, oblast pro zobrazení obrazu, skupinu tlačítek pro ovládání uživatelského prostředí. Na pravé straně shora je informační pole, barevně
22
Kapitola 3. Systém pro podporu diagnostiky
Obrázek 3.3: Grafické uživatelské prostředí nástroje Support.
3.3. Používání a instalace systému
23
korespondující se čtverci, zobrazovanými v obrazu a vyjadřujícími výsledky provedené klasifikace. Pod ním je oblast s prvky pro ovládání klasifikace. Po jeho spuštění se zobrazí okno pro výběr adresáře, obsahujícího soubory s obrazy požadované sady. Nalezením a označením jména takového adresáře, a potvrzením této volby tlačítkem OK, se otestuje existence popisného záznamu aktuální sady. Pokud záznam existuje, dojde jen k informativnímu zobrazení jeho obsahu, po jehož potvrzení se načte seznam obrazů v levém panelu (obrázek 3.3). Pokud popisný záznam nalezen není, spustí se automaticky uživatelské prostředí nástroje Destool, popsané níže. Po uložení vytvořeného záznamu a uzavření tohoto uživatelského prostředí, dojde k načtení seznamu obrazů. Po načtení sady je kurzor v seznamu na prvním obrazu, který je zobrazen v oblasti uživatelského prostředí k tomu určené. Pokud už byly nějaké polygony do obrazu zakreslovány a uloženy, a je-li patřičný soubor s tímto záznamem dostupný, zakreslí se tyto polygony přímo do obrazu. Kreslení nových polygonů a jejich editace jsou umožněny pomocí tlačítek, jako v případě samostatného nástroje Gpolyline, popsaného níže. Zobrazený obraz je v módu „zoomÿ, což znamená, že pokud se nevykonává kreslení nového polygonu či prohlížení výsledků klasifikace, lze pomocí myši zvětšit (přiblížit) požadovanou oblast v obrazu. Pro klasifikaci načtené sady je možná volba použitých příznaků (F2, F6, F7) a volba typu dat pro natrénování klasifikátoru z množiny řezů (all, transversal, longitudinal, left longitudinal, right longitudinal). Po klasifikaci se zobrazí červený text, v němž je číselně uvedeno procentuální zařazení subjektu do tříd H a LT na základě provedené klasifikace. V segmentované části na obrazu štítné žlázy se zobrazí barevné čtverce, získané z principu klasifikace a odpovídající vzorkům, vyjadřující pomocí barvy procentuální zařazení do tříd H a LT pro daný vzorek. Jejich barva koresponduje s barvami ve zobrazeném informačním poli (viz obrázek 3.3). Kliknutím myši na vybraný vzorek určité barvy, se v informačním poli vyskytne značka na místě, odpovídajícím barevně vybranému vzorku. Jednotlivé barevné odstíny vyjadřují daný poměr procentuálního zařazení do tříd H a LT. Právě procentuální zařazení odpovídající vybrané barvě se zobrazí pod oblastí informačního pole. Klasifikace lze provádět opakovaně s jinými nastaveními výše zmíněných parametrů. (N)ew polygon – spustí proces kreslení nového polygonu. Polygon se kreslí pomocí myši. Levým tlačítkem se zadávají jeho body v obrazu. Poslední hrana, uzavírající polygon, se provádí stiskem pravého tlačítka myši. Klávesová zkratka tlačítka je „nÿ. (D)elete last – poslední nakreslený polygon lze použitím tohoto tlačítka ne-
24
Kapitola 3. Systém pro podporu diagnostiky
návratně vymazat. Klávesová zkratka tlačítka je „dÿ. Next (I)mage – použitím tlačítka se kurzor posune o jeden obraz v seznamu níže, přičemž dojde k zobrazení nového obrazu. Klávesová zkratka tlačítka je „iÿ (H)elp – použitím tlačítka se zobrazí nápověda pro nástroj Support (Q)uit - no save – použitím tlačítka dojde k uzavření uživatelského prostředí nástroje Support, bez uložení posledních změn, provedených na polygonech aktuálně zobrazeného obrazu. Klávesová zkratka tlačítka je „qÿ. (E)xit and save – použitím tlačítka dojde k uzavření uživatelského prostředí nástroje Destool, a uložení záznamu o posledních změnách, provedených na polygonech aktuálně zobrazeného obrazu. Klávesová zkratka tlačítka je „eÿ. Contrast / Brightness – použitím tlačítka se zobrazí okno s posuvníky pro změnu kontrastu a jasu v obrazu (viz obrázek 3.4), jako se vyskytují v uživatelském prostředí nástroje Gpolyline. Hide/show squares – po zobrazení barevných čtverců v obrazu (po proběhnuté klasifikaci), lze tyto čtverce použitím tlačítka skrýt, či znovu zobrazit. Classify – použitím tlačítka se spustí klasifikace sady obrazů s parametry, nastavenými v editačních polích nad tlačítkem. Load Classification – pokud již existují uložené výsledky dříve proběhnuté klasifikace na načtené sadě obrazů, lze je použitím tohoto tlačítka opět načíst a prohlížet. Redraw boundaries – použitím tlačítka se vyskakuje z módu prohlížení výsledků klasifikace do počátečního módu, ve kterém lze opět editovat polygony, spouštět novou klasifikaci, či načíst výsledky již provedené klasifikace.
Obrázek 3.4: Integrovaný nástroj pro úpravu kontrastu a jasu obrazu, zobrazeného v hlavním okně Support. Spuštění tlačítkem Contrast / Brightness
3.3. Používání a instalace systému
3.3.2
25
Gpolyline
Uživatelské prostředí nástroje (viz obrázek 3.5), spuštěné pomocí jeho hlavní funkce gpolyline.m, obsahuje oblast pro zobrazení sonografického obrazu, panel s řadou tlačítek a spodní panel s prvky, ovládajícími nastavení kontrastu a jasu obrazu. Po jeho spuštění se zobrazí okno pro výběr souboru s obrazem. Nalezením a označením jména souboru, obsahujícího požadovaný obraz, a potvrzením této volby tlačítkem OK, se vybraný obraz zobrazí v okně nástroje na místě k tomu určeném (obrázek 3.5). Pokud pro daný obraz existuje záznam s již dříve nakreslenými polygony, vykreslí se tyto do obrazu. Zobrazený obraz je v módu „zoomÿ, což znamená, že pokud se nevykonává kreslení nového polygonu, lze pomocí myši zvětšit (přiblížit) požadovanou oblast v obrazu.
Obrázek 3.5: Grafické uživatelské prostředí nástroje Gpolyline.
Jednotlivé funkcionality nástroje jsou ovládány tlačítky, které je pro použití možné stisknout myší, nebo využít jejich definované klávesové zkratky,
26
Kapitola 3. Systém pro podporu diagnostiky
vyznačené v nápisu na tlačítku závorkou. (N)ew polygon – spustí proces kreslení nového polygonu. Polygon se kreslí pomocí myši. Levým tlačítkem se zadávají jeho body v obrazu. Poslední hrana, uzavírající polygon, se provádí stiskem pravého tlačítka myši. Klávesová zkratka tlačítka je „nÿ. (D)elete last – poslední nakreslený polygon lze použitím tohoto tlačítka nenávratně vymazat. Klávesová zkratka tlačítka je „dÿ. Next (I)mage – pokud existuje v aktuálním adresáři, z něhož pochází aktuální obraz, další obraz se stejným identifikačním číslem a vyšším pořadovým číslem (viz formát názvu souboru v oddíle 3.2), bude použitím tlačítka tento obraz načten a zobrazen i s jeho potenciálními, již uloženými, polygony. Pokud takový obraz v aktuálním adresáři neexistuje, dojde k opětovnému zobrazení stávajícího obrazu. Při načítání nového obrazu se pro ten stávající, uzavíraný, uloží záznam o všech polygonech dosud v něm nakreslených. Klávesová zkratka tlačítka je „iÿ. (P)rev Image – po jeho stisknutí se provádí stejné operace, jako při použití Next (I)mage, akorát se vyhledává obraz s pořadovým číslem nižším, než má v názvu souboru aktuální obraz. Klávesová zkratka tlačítka je „pÿ. (C)hoose Image – použitím tlačítka se otevře okno pro výběr nového souboru s obrazem. Opět dojde uložení záznamu o polygonech aktuálního obrazu a k zobrazení nového obrazu spolu s jeho potenciálními polygony. Klávesová zkratka tlačítka je „cÿ. (E)xit and save – použitím tlačítka dojde k uzavření uživatelského prostředí nástroje Gpolyline s uložením záznamu o polygonech aktuálního obrazu. Klávesová zkratka tlačítka je „eÿ. (Q)uit - no save – použitím tlačítka dojde k uzavření uživatelského prostředí nástroje Gpolyline bez uložení změn, provedených na polygonech aktuálního obrazu od jeho načtení. Klávesová zkratka tlačítka je „qÿ. (R)eset image – tlačítko patří mezi prvky, ovládající nastavení kontrastu a jasu obrazu. Kontrast obrazu se provádí změnou pozice posuvníku s návěštím „Widthÿ. Změna jasu v obrazu se provádí posuvníkem označeným návěštím „Positionÿ. Stiskem tlačítka (R)eset image se uvádí hodnoty jasu a kontrastu zobrazeného obrazu na jeho počáteční hodnoty. Klávesová zkratka tlačítka je „rÿ.
3.3.3
Destool
Uživatelské prostředí nástroje (viz obrázek 3.6), spuštěné pomocí jeho hlavní funkce desedit.m, obsahuje levý panel se seznamem načtených obrazů, tlačítky pro pohyb v seznam a tlačítkem pro načtení nových obrazů. V pravém
3.3. Používání a instalace systému
27
panelu jsou editační pole pro zadávání základních identifikačních informací (viz oddíl 3.1) pro načtenou sadu obrazů, a dále tlačítka pro ukládání vzniklého popisného záznamu a uzavření uživatelského prostředí. Po jeho spuštění se zobrazí okno pro výběr adresáře, obsahujícího soubory s obrazy požadované sady. Nalezením a označením jména takového adresáře, a potvrzením této volby tlačítkem OK, se načte seznam obrazů v levém panelu (obrázek 3.6). Po načtení sady je kurzor v seznamu na prvním obrazu, který je pro náhled zobrazen ve vedlejším okně. Pokud už pro vybranou sadu obrazů záznam existuje, a je dostupný, načtou se informace z něj automaticky do příslušných editačních polí. Při načítání nové, ještě nepopsané sady, nasnímané pomocí ultrasonografických přístrojů Toshiba ECCO-CEE nebo Philips Envisor M254DA, se automaticky vyplní pole „Sonograph typeÿ a „Magnificationÿ pro každý obraz.
Obrázek 3.6: Grafické uživatelské prostředí nástroje Destool.
Jednotlivé funkcionality nástroje jsou ovládány tlačítky, které je pro použití možné stisknout myší, nebo využít jejich definované klávesové zkratky, vyznačené v nápisu na tlačítku závorkou, stisknuté spolu s modálním tlačítkem „Ctrlÿ. Pokud je kurzor aktivní v seznamu obrazů, lze se mezi jednotli-
28
Kapitola 3. Systém pro podporu diagnostiky
vými obrazy pohybovat pomocí klávesových šipek. (P)review Image – použitím tlačítka se kurzor posune o jeden obraz v seznamu výše, přičemž dojde k zobrazení nového obrazu. Klávesová zkratka tlačítka je „Ctrl + pÿ (N)ext Image – použitím tlačítka se kurzor posune o jeden obraz v seznamu níže, přičemž dojde k zobrazení nového obrazu. Klávesová zkratka tlačítka je „Ctrl + nÿ New (I)mages – použitím tlačítka se otevře okno pro výběr nového adresáře, obsahujícího soubory s obrazy. Zároveň dojde k uložení popisného záznamu o aktuální sadě obrazů. Klávesová zkratka tlačítka je „Ctrl + iÿ (S)ave .des – použitím tlačítka dojde k uložení popisného záznamu dané sady obrazů z editačních polí. Klávesová zkratka tlačítka je „Ctrl + sÿ. (E)xit and save – použitím tlačítka dojde k uzavření uživatelského prostředí nástroje Destool s uložením popisného záznamu dané sady obrazů z editačních polí. Klávesová zkratka tlačítka je „Ctrl + eÿ. (Q)uit - no save – použitím tlačítka dojde k uzavření uživatelského prostředí nástroje Destool bez uložení posledních změn v editačních polích. Klávesová zkratka tlačítka je „Ctrl + qÿ.
3.3.4
Batchprocess
Uživatelské prostředí nástroje (viz obrázek 3.7), spuštěné pomocí jeho hlavní funkce batchprocess.m, obsahuje oblast pro seznam vybraných adresářů, oblast pro průběžné zobrazování stavu probíhající klasifikace, a řadu tlačítek. Po jeho spuštění se zobrazí přímo uživatelské prostředí nástroje. Následně je možné vytvořit pomocí tlačítek seznam adresářů, resp. sad obrazů, určených pro následnou klasifikaci. Klasifikace se provádí u každé sady obrazů pro všechny tři příznaky (F2, F6, F7). Natrénování klasifikátoru se provádí z množiny všech řezů. Průběh klasifikace je možné sledovat pomocí postupně zobrazovaných zpráv. Jednotlivé funkcionality nástroje jsou ovládány tlačítky. Add Images – použitím tlačítka se zobrazí okno pro výběr adresáře, obsahujícího soubory s obrazy požadované sady. Nalezením a označením jména takového adresáře a potvrzením této volby tlačítkem OK, se zapamatuje zvolená sada a pro ilustraci se o ní zobrazí záznam v oblasti spuštěného uživatelského prostředí, označeného návěštím „Images for classificationÿ. Delete Images – použitím tlačítka se ze seznamu sad obrazů, vybraných pro hromadnou klasifikaci, vymaže záznam o sadě, na níž je nastaven kurzor. Start Classify – použitím tlačítka se spustí hromadná klasifikace.
3.3. Používání a instalace systému
29
Obrázek 3.7: Grafické uživatelské prostředí nástroje Batchprocess.
Stop Classify – použitím tlačítka doběhne klasifikace aktuálně zpracovávané sady, a poté se proces hromadné klasifikace přeruší úplně. V klasifikaci je možné pokračovat opětovným použitím tlačítka Start Classify. Close – použitím tlačítka dojde k uzavření uživatelského prostředí nástroje.
3.3.5
Instalace systému na osobní počítač
Jak vyplývá z již dříve uvedeného popisu systému, skládá se tento z několika nástrojů. Systém jako celek je tak sestaven z několika adresářů, pojmenovaných způsobem, odpovídajícím názvům jednotlivých nástrojů. Instalace spočívá ve vyhrazení samostatného adresáře pro systém na disku počítače. Následně se do tohoto adresáře, pojmenovaného např. Sono překopírují z přiloženého CD všechny hlavní i pomocné adresáře systému (Support, Destool, Gpolyline, Batchprocess, Sonoocr, Options, Journal ). Aby bylo možné systém používat jako celek, musí se přidat do cest Matlabu cesta k hlavnímu adresáři systému (Sono) i k jeho podadresářům (jednotlivé nástroje). Tento krok se provede následujícím způsobem po spuštění Matlabu: 1. V hlavním okně Matlabu se pomocí menu File/Set path . . . otevře okno Set path.
30
Kapitola 3. Systém pro podporu diagnostiky
2. V okně Seth path se výběrem tlačítka Add with Subfolders. . . otevře další okno pro výběr adresáře. Nalezneme tedy cestu k adresáři Sono a potvrdíme volbu. 3. Následně se zavře okno pro výběr adresáře a v okně Set path k stávajícímu seznamu cest přibudou námi nově zvolené. Uložíme tedy nový seznam pomocí tlačítka Save a okno zavřeme. Nyní můžeme začít pracovat se systémem. Pro případ, že chceme napevno definovat parciální cestu na disku k místu, kde se nacházejí soubory obrazů, aby jsme při práci se systémem nemuseli neustále ve zobrazovaných oknech pro výběr adresáře se sonografickými obrazy zadávat cestu celou, překopírujeme z adresáře Utilities na CD funkci sonopath.m do námi vytvořeného hlavního adresáře systému na našem disku (Sono). Poté skript otevřeme pro editaci pomocí Matlabu, a zadáme v něm naši požadovanou cestu do předpřipravené řádky (p = ’my path . . . ’;) místo textu „my path . . . ÿ. Poté skript uložíme a uzavřeme. Pokud nyní při práci se systémem bude třeba vybrat adresář se sonografickými obrazy, otevře se okno na výběr adresáře už nastavené na parciální cestu, zadanou námi ve skriptu sonopath.m. Pokud chceme používat pouze některý z nástrojů systému, a nechceme při tom instalovat celý systém, ale pouze námi vybraný nástroj, provedeme výše popsanou instalaci pouze s tím rozdílem, že do vytvořeného hlavního adresáře Sono stačí překopírovat z přiloženého CD pouze adresář požadovaného nástroje, a s ním adresáře, na nichž je závislý. Následující tabulka 3.1 udává přehled těchto závislostí mezi všemi nástroji systému. Tabulka 3.1: Přehled závislostí mezi jednotlivými nástroji systému.
jméno nástroje Support Destool Gpolyline Batchprocess
3.4
závislost na . . . Destool, Classify, Sonoocr, Options, Journal Sonoocr, Options, Journal Journal Classify, Journal
Implementace systému
Systém pro počítačovou podporu diagnostiky štítné žlázy je celý implementován ve vývojovém prostředí Matlab a jsou využívány funkce dostupné ve verzi Matlab 7.0 .
3.4. Implementace systému
3.4.1
31
Support
Nástroj obsahuje pouze jednu hlavní funkci (scsupport.m). Dále jsou vytvořené pomocné funkce. Uživatelské prostředí nástroje Support scsupportfig.m, scsupportfig.mat, uživatelské prostředí pro změnu kontrastu a jasu obrazu sccontrast.m, funkce scsono2im.m pro výřez oblasti sonografické struktury z výstupního snímku sonografického přístroje, a funkce imager.m a myimagesc.m pro zobrazení sonografického obrazu v plném rozsahu hodnot jasu. V hlavní funkci scsupport.m jsou implementovány volací struktury pro volání všech pomocných funkcí a zároveň struktury pro volání funkce classification.m nástroje Classify a funkce desedit.m nástroje Destool. Zároveň je v kódu integrována funkce ejrnlprintf.m nástroje Journal, ošetřující práci s ladícími zprávami při implementaci. Dále jsou v kódu jsou implementovány dvě globální proměnné, struktura control a struktura results. Ve struktuře control se uchovávají aktuální informace o zpracovávaném obrazu (načtené z DES souboru). Do struktury results je ukládán výstup volané funkce classification.m. Celá struktura results se pak ukládá jako výsledek klasifikace do binárního typového souboru Matlabu s příponou MAT. Následuje přesnější výpis polí strukturních proměnných control a results: control.outdir .pth .patient .file .im .pcolor .mag .type .sonographtype .unused results.show .patchesX .patchesY .feature .dataset .P .colors .name .number
– – – – – – – – –
– – – – – – – – – –
adresář pro ukládání výsledků adresář obsahující soubory s obrazy ID subjektu jméno aktuálního souboru matice obsahující aktuální obraz aktuální barva čar pro kreslení polygonů použitá hloubka snímání aktuálního obrazu typ souboru s obrazem (PNG, DCM) použitý sonograf zda obraz bude použit při klasifikaci
zda se mají zobrazit výsledky a pokrytí čtverci matice pro zobrazení čtverců příkazem patch matice pro zobrazení čtverců příkazem patch použitý příznak použitá množina snímků pravděpodobnost jednotlivých diagnóz subjektu RGB barvy pro zobrazené čtverce jméno souboru počet čtverců na obraz
32
Kapitola 3. Systém pro podporu diagnostiky
V hlavní funkci scsupport.m jsou také implementované funkce pro editaci polygonů v obrazu, podobné funkcím nástroje Gpolyline. Výsledky editace se ukládají do totožných souborů TXT, s jakými pracuje nástroj Gpolyline (v prvním řádku je počet polygonů, v druhém řádku je počet vrcholů každého polygonu a ve třetím řádku jsou souřadnice každého vrcholu). Při implementaci nástroje bylo pro volání hlavních funkcí jiných nástrojů počítáno s jejich dostupností v cestách Matlabu, proto je třeba před započetím práce s nástrojem do matlabovských cest uložit všechny takto využívané nástroje (Destool, Classify, Sonoocr, Options, Journal ). Souhrnný výpis implementovaných funkcí nástroje Support: scsupport scsupportfig sccontrast scsono2im imager (myimagesc)
3.4.2
– – – – –
hlavní funkce nástroje uživatelské prostředí nástroje uživatelské prostředí pro změnu kontrastu a jasu obrazu funkce pro výřez oblasti sonografické struktury zobrazení sonografického obrazu v plném rozsahu hodnot jasu
Gpolyline
Nástroj obsahuje pouze jednu hlavní funkci (gpolyline.m). V ní je implementované uživatelské prostředí nástroje Gpolyline a volací struktury pro pomocné funkce. Jsou to funkce gsono2im.m pro výřez oblasti sonografické struktury z výstupního snímku sonografického přístroje, funkce polyline2m pro přečtení struktury souboru TXT se záznamem o polygonech, funkce colormenu.m, pomocí které lze do požadovaného figure přidat menu pro změnu barevné mapy obrazu, a funkce imager.m a myimagesc.m pro zobrazení sonografického obrazu v plném rozsahu hodnot jasu. V kódu je také integrována funkce ejrnlprintf.m nástroje Journal, ošetřující práci s ladícími zprávami při implementaci. V kódu hlavní funkce gpolyline.m je implementována jedna globální proměnná (struktura control), popsaná výše, v níž se uchovávají aktuální informace o zpracovávaném obrazu (načtené z DES souboru). Dále jsou v hlavní funkci gpolyline.m implementované funkce pro editaci polygonů v obrazu. Výsledky editace polygonů v obrazu se ukládají do textových souborů TXT. Mají pevně definovanou strukturu. V prvním řádku je počet všech polygonů, zakreslených v obrazu. V druhém řádku je počet vrcholů, příslušející každému polygonu a ve třetím řádku jsou souřadnice všech vrcholů definovaných při kreslení, v pořadí, ve kterém byly zadány. Souhrnný výpis implementovaných funkcí nástroje Gpolyline:
3.4. Implementace systému
33
gpolyline gsono2im polyline2m
– hlavní funkce nástroje – funkce pro výřez oblasti sonografické struktury – funkce pro přečtení struktury souboru TXT se záznamem o polygonech colormenu – funkce přidá „color map menuÿ do požadovaného figure imager – zobrazení sonografického obrazu v plném rozsahu hodnot (myimagesc) jasu
3.4.3
Destool
Nástroj obsahuje pouze jednu hlavní funkci (desedit.m), ve které jsou implementované volací struktury pro vlastní pomocné funkce a funkce pomocných nástrojů. Uživatelské prostředí nástroje Destool je implementované ve funkci deseditfig.m. Funkce existfield.m je napsána pro testování existence jména pole uvnitř proměnné typu struktura. Mezi integrovanými funkcemi pomocných nástrojů je funkce ejrnlprintf.m nástroje Journal, ošetřující práci s ladícími zprávami při implementaci, a dále funkce socrverif.m a socrrcgni.m pro verifikaci sonografu a rozpoznání použité hloubky snímání z informací, obsažených na ploše obrazu, pořízeného sonografickým přístrojem. Obě funkce patří nástroji Sonoocr. Dále je v kódu implementována globální proměnná (struktura desentry). V proměnné se uchovávají aktuální informace o zpracovávané sadě obrazů, získávané z editačních polí uživatelského prostředí. Struktura desentry obsahuje následující položky: desentry.outdir .pth .file .im .author .diagnosis .date .type .sonographtype .mag .section .unused
– – – – – – – – – – – –
adresář pro ukládání výsledků adresář obsahující soubory s obrazy jméno aktuálního souboru matice obsahující aktuální obraz autor snímků (jméno lékař) diagnóza subjektu datum pořízení snímků typ souborů s obrazy (PNG, DCM) použitý sonograf použitá hloubka snímání obrazu typ řezu (příčný, podélný) zda obraz bude použit při klasifikaci
Informace z proměnné desentry se ukládají do textového souboru s příponou DES. Struktura souboru je uspořádána tak, že v každém řádku je příkaz Matlabu pro přiřazení předepsaných dat do pole struktury. Znamená to, že
34
Kapitola 3. Systém pro podporu diagnostiky
při čtení souboru po řádcích se rovnou vykonávají příkazy přiřazení v nich, čímž vzniká struktura obsahující informace o sadě obrazů. Při implementaci nástroje bylo pro volání funkcí jiných nástrojů počítáno s jejich dostupností v cestách Matlabu, proto je třeba před započetím práce s nástrojem do matlabovských cest uložit nástroje Sonoocr, Options, Journal. Nástroj Options je integrován uvnitř Sonoocr [17]. Souhrnný výpis implementovaných funkcí nástroje Destool : desedit – hlavní funkce nástroje deseditfig – uživatelské prostředí nástroje existfield – test existence jména pole uvnitř proměnné typu struktura
3.4.4
Batchprocess
Nástroj obsahuje pouze jednu hlavní funkci (batchprocess.m). Ve funkci je implementováno uživatelské prostředí nástroje, volací struktury pro volání hlavní funkce classification.m nástroje Classify a příkaz pro uložení výsledků klasifikace do binárního typového souboru Matlabu, s příponou MAT . V kódu je implementována jedna globální proměnná (struktura results), popsaná výše, do které je ukládán výstup volané funkce classification.m. Do binárního souboru MAT se ukládá celá tato struktura.
3.4.5
Classify
Nástroj Classify vznikl na základě implementovaných funkcí klasifikátoru v minulosti projektu. Vznikla jedna hlavní funkce classification.m pro interakci s uživatelskými prostředími. Vstupními daty je cesta k adresáři se zpracovávanými sonografickými obrazy, ID subjektu (resp. název souborů obrazů), typ příznaku (F2, F6, F7) a typ dat z množiny řezů (all, transversal, longitudinal, left longitudinal, right longitudinal) pro natrénování klasifikátoru. Výstupními daty funkce je struktura results, popsaná výše, obsahující výsledky klasifikace provedené na sadě obrazů. Hlavní adresář nástroje Classify obsahuje dále podadresář learning_set, ve kterém jsou uložena veškerá trénovací data klasifikátoru, rozdělená do jednotlivých souborů podle typu příznaku a typu množiny řezů. Soubory jsou binární s příponou MAT (typový soubor Matlabu). Jména souborů v sobě nesou informace o použitém typu množiny řezů a příznaku.
3.5. Hodnocení návrhu a implementace systému
3.5
35
Hodnocení návrhu a implementace systému
Jak již bylo výše uvedeno, návrh a následná implementace nového systému vycházela z analyzovaných potřeb uživatele a již existujícího systému pro počítačovou podporu diagnostiky štítné žlázy. Návrh spočíval v nezávislosti jednotlivých nástrojů, aby s nimi bylo možno pracovat jednoduše a samostatně. Proto jsou nástroje Destool, Gpolyline, Support, Batchprocess a Classify po implementační stránce na sobě nezávislé (tzv. ortogonální). Spolupracují pouze na základě vzájemného volání svých hlavních funkcí (případ komplexního nástroje Support), či předávání uložených výsledků své činnosti v ostatních případech. Ortogonalita je výhodná i z hlediska implementace, kdy ladění a opravy kódu jednotlivých nástrojů neovlivňují zásadně chování nástrojů ostatních. Musí se v tomto případě pouze dodržet striktně definovaná forma vstupních a výstupních parametrů při volání funkcí, zajišťujících interakci mezi nástroji. Platí to hlavně v případě volání funkce classification.m nástroje Classify. Vzájemná nezávislost uživatelských prostředí také umožňuje uživateli zabývat se například segmentací štítné žlázy v nasnímaných obrazech, tvořením popisu sady obrazů a klasifikací již předzpracovaných sad obrazů v jednom okamžiku. V době psaní této práce se teprve začalo přistupovat k testování celého systému, během něhož se dolaďují implementační chyby, a také některé nedostatky, vyplývající z nedokonalého návrhu a nově vzniklých potřeb uživatele. Právě řešením dalších nových potřeb uživatele a nedostatků, vzniklých při návrhu a objevených až při detailním popisu systému v této práci, by se měla zabývat příští činnost na tomto systému.
36
Kapitola 4 Shrnutí a závěr V první části jsme se zabývali návrhem a testováním klasifikátoru pro rozpoznávání výskytu protilátek při onemocnění Hashimotovy lymfocytární tyreoiditidy. Pracovali jsme s třídami „zdravá tkáňÿ (H), „lymfocytární tyreoiditida s negativním výskytem protilátekÿ (LTn) a „lymfocytární tyreoiditida s pozitivním výskytem protilátekÿ (LTp). Pro klasifikátor jsme použili Muzzoliniho texturní příznaky (F2, F6, F7), už dříve vybrané pro klasifikaci mezi třídami H a sjednocením LT={LTn,LTp}. Klasifikátor byl navržen na základě bayesovké strategie rozhodování, přesněji minimalizace středního bayesovského rizika, a váženém majoritním pravidle pro volbu jedné z tříd. Ztrátová funkce pro tento případ byla navržena tak, že při chybné klasifikaci mezi třídami H a LTn či H a LTp měla ztráta obvyklou hodnotu 1, a při chybné klasifikaci mezi LTn a LTp byla ztráta snížena na hodnotu α v intervalu <0,1>. Parametr α jsme zvolili jako míru jistoty o rozlišitelnosti tříd LTn a LTp ze sonografického obrazu, vyjádřenou pomocí podmíněné entropie (v bitech). Podmíněnou entropií jsme také vyjádřili míru jistoty o schopnosti rozhodnout mezi třídami H a sjednocením LT. Získali jsme tak ještě druhou hodnotu parametru α, pro rozlišení označovanou jako β, podílem míry jistoty nad třídami LTn a LTp a míry jistoty nad třídami H a LT. Získaná hodnota míry jistoty α pro jednotlivé případy, dělené podle typu dat (jen příčné řezy, jen podélné řezy, všechny snímky) a podle typu příznaku (F2, F6, F7), zároveň ukazovala, jak dobře by mohl každý případ výskyt protilátek rozpoznávat. V tomto smyslu jsme nejzajímavější hodnoty obdrželi u případu příčných řezů s použitím příznaku F2, α = 0.3270 a β = 0.6446. Platí, že maximální hodnota α = 1 a vyjadřuje výskyt jednoznačné informace o rozlišení LTn a LTp v sonografickém obrazu. Pro testování klasifikátoru jsme měli data tvořená 85 subjekty, rozdělená dále na trénovací a testovací množinu.Do třídy H patřilo 39 subjektů (31 trénovací, 8 testovací), do třídy LTn 8 subjektů (6 trénovací, 2 testovací) a
37
do třídy LTp 47 subjektů (30 trénovací, 17 testovací). Testování se provádělo jednak metodou leave-one-out (LOO) na trénovacích datech, a jednak klasifikací subjektů z testovací množiny. Nejlepších výsledků při testování klasifikátoru jsme dosáhli použitím příznaku F2. Klasifikace založená na příznacích F6 a F7 měla obecně horší výsledky. Klasifikátor, pracující se skupinou všech snímků a příznakem F2, měl pro rozlišování tříd H a LT={LTn,LTp}, kde bereme třídu H jako negativní diagnózu a třídu LT jako pozitivní diagnózu, senzitivitu a specificitu 100 % pro test LOO i pro klasifikaci testovacích dat. V případě rozlišování mezi třídami LTn a LTp, kde jako negativní diagnóza je brána třída LTn a jako pozitivní třída LTp, jsme obdrželi specificitu 100 % pro všechny následující případy. Senzitivita pro test LOO byla 10 %, potvrzená senzitivitou 29,4 % pro klasifikaci testovacích dat. Senzitivita klasifikace mezi LTn a LTp, pro případ skupiny jen příčných řezů a skupiny jen podélných řezů s použitím příznaku F2, je shodně 13,3 % pro test LOO a 23,5 % pro klasifikaci testovacích dat. Hlavním výsledkem této části je, že se podařilo navrhnout klasifikátor, který si na základě dříve vybraných příznaků uchoval vysokou pravděpodobnost (100 %) určení správné diagnózy pro Hashimotovu lymfocytární tyreoiditidu. Dále se ukázalo, že sonografické obrazy štítné žlázy určitou slabou informaci, související s rozlišením negativního či pozitivního výskytu protilátek štítné žlázy, obsahují. Při dalším pokračování činnosti na projektu je třeba zaměřit se na zvýšení početu subjektů v trénovací množině, hlavně pro LTn, a pokusit se zkonstruovat nové optimální příznaky, které zvýší stávající senzitivitu při diagnóze výskytu protilátek a zároveň zásadně nesníží senzitivitu diagnózy samotné Hashimotovy tyreoiditidy při práci klasifikátoru. Velmi dobrá rozlišitelnost mezi třídami H a LT tímto klasifikátorem je vysvětlitelná použitím stávající příznaků (F2, F6, F7), které byly optimalizovány pro klasifikaci mezi těmito třídami. Druhou částí této práce byl návrh a implementace systému pro počítačovou podporu diagnostiky štítné žlázy, založeném na vytvořeném klasifikátoru pro třídy H a LT. Uživatelská specifikace byla vytvořena na základě analyzovaných potřeb uživatele. Samotný návrh systému pak vycházel právě z uživatelské specifikace a z části již implementovaného systému pro podporu diagnostiky štítné žlázy. Testování systému se začalo provádět v době psaní této práce. V současné době se řeší základní implementační chyby, některé nedostatky vyplývající z nedokonalého návrhu, a také nově vzniklé potřeby uživatele. Zpracováním nových potřeb uživatele a řešením nynějších nedostatků, objevených až při detailním popisu systému v této práci, by se měla
38
Kapitola 4. Shrnutí a závěr
zabývat příští činnost na tomto systému. Vytvořený systém pomáhá uživateli jednoduše zpracovávat sonografické obrazy pro vyšetřovaný subjekt. Hlavní výstup systému uživateli poskytuje informace, využitelné pro konečnou diagnózu onemocnění Hashimotova lymfocytární tyreoiditida.
39
Literatura [1] D. Smutek, R. Šára, P. Sucharda, T. Tjahjadi, and M. Švec. Image texture analysis of sonograms in chronic inflammations of thyroid gland. Ultrasound in Medicine and Biology, 29(11):1531–1543, 2003. [2] R. Šára, D. Smutek, P. Sucharda, and Š. Svačina. Systematic construction of texture features for Hashimoto’s lymphocytic thyroiditis recognition from sonographic images. In S. Quaglini, P. Barahona, and S. Andreassen, editors, Arifical Intelligence in Medicine, LNCS, BerlinHeidelberg, Germany, 2001. Springer. [3] M. Švec, R. Šára, and D. Smutek. On reproducibility of ultrasound image classification. In J.S. Marques, N.P. de la Blanca, and P. Pina, editors, Pattern Recognition and Image Analysis. Second Iberian Conference, IbPRIA 2005. Proceedings, Part II, volume 3523, pages 439–446, Berlin, Germany, June 2005. Springer-Verlag. [4] R. Muzzolini, Y.-H. Yang, and R. Pierson. Texture characterization using robust statistic. Pattern Recognition, 27(1):119–134, 1994. [5] D. Smutek, Š. Radim, Š. Holinka, J. Kybic, L. Tesař, and P. Maruna. Ultrasound image of chronic thyroiditis and its relation to antithyroid antibodies. In Proceedings 11th Congress of World Federation for Ultrasound in Medicine and Biology, 2006. [6] Š. Holinka, R. Šára, and D. Smutek. Can the presence or absence of thyroid antibodies be predicted from sonographic images? Zasláno na konferenci Biosignal 2006. [7] M.E. Loy, M.and Cianchetti, F. Cardia, A. Melis, F. Boi, and S. Mariotti. Correlation of computerized gray-scale sonographic findings with thyroid function and thyroid autoimmune activity in patients with Hashimoto’s thyroiditis. Journal of Clinical Ultrasound, 32(3):136–140, 2004. Published Online: 25 Feb 2004.
40
LITERATURA
[8] S.L. Schulz, U. Seeberger, and J.H. Hengstmann. Color doppler sonography in hypothyroidism. European Journal of Ultrasound, 16(3):183–189, February 2003. [9] J. Marek. Záněty štítné žlázy. In Endokrinologie, diabetes mellitus a poruchy metabolismu a výživy. Galén, Praha, 2006. In press. [10] Z. Límanová, J. Němec, and V. Zamrazil. Tyreoiditida. In Nemoci štítné žlázy, pages 147–154. Galén, Praha, 1995. [11] C. Jaeger, E. Hathiagelaki, and R. Petzoldt. Comparative analysis of organ specific autoantibodies and celiac disease-associated antibodies in type 1 diabetic patients, their first degree relatives, and healthy control subjects. Diabetes Care, 24(1):27–32, 2001. [12] J. Kratzsch, G.M. Fiedler, and A. Leichtle. New reference intervals for thyrotropin and thyroid hormones based on national academy of clinical biochemistry critera and regular ultrasonography of the thyroid gland. Clinical Chemistry, 51(8):1480–1486, 2005. [13] R. Tunc, M.S. Gonen, and O. Acbay. Autoimmune thyroiditis and antithyroid antibodies in primary Sj˝ogren’s syndrome: a case-control study. Ann. Rheum. Dis, 63:575–577, May 2004. [14] R. O. Duda, P. E. Hart, and D. G. Stork. Pattern Classification. Wiley, New York, second edition, 2001. [15] David W. Scott. Multivariate Density Estimation : Theory, Practice, and Visualization. Wiley Series in Probability and Mathematical Statistics. John Wiley & Sons, Chichester, 1992. [16] R. Šára, M. Švec, D. Smutek, P. Sucharda, and S. Svačina. Texture analysis of sonographic images for Hashimoto’s lymphocytic thyroiditis recognition [online]. Last revision 30th of August 2001 [cit. 2005-12-18]. http://cmp.felk.cvut.cz/demos/Sono/index.html. [17] Š. Holinka. Nástroj SonoOCR. Research Report CTU–CMP–2005–30, Center for Machine Perception, K13133 FEE Czech Technical University, Prague, Czech Republic, January 2006. [18] P. Klener et al. . Vnitřní lékařství. Galén a U.K. v Praze, Karolinum, Praha 1, druhé, doplněné edition, 1999, 2001.
LITERATURA
41
[19] Martin Švec. Analysis of sonographic images of thyroid gland based on texture classification. Master’s thesis, Faculty of Electrical Engineering, Czech Technical University, Prague, Czech Republic, May 2001.
42
Příloha A Tabulky výsledků klasifikátoru pro rozpoznávání přítomnosti protilátek ze sonografického obrazu štítné žlázy V této části jsou tabulky výsledků navrženého klasifikátoru, popsaného v kapitole 2. Tabulky jsou na nejvyšší úrovni rozlišeny podle výsledků získaných metodou leave-one-out [14] na trénovacích datech, či klasifikací testovací množiny. V druhé řadě je rozlišení dáno použitými příznaky F2, F6, F7. Dále jsou tabulky děleny podle toho, jaké řezy štítné žlázy byly použity při klasifikaci (všechny dostupné nasnímané obrazy, snímky pouze s příčnými řezy, snímky s podélnými řezy). Na nejnižší úrovni jsou tabulky rozděleny různými hodnotami α, použitými pro klasifikátor (viz oddíl 2.4.2). Hodnoty v tabulkách označované jako „Správně klasifikovánoÿ vyjadřují počet správně klasifikovaných subjektů dané třídy z celkového počtu subjektů dané třídy. Hodnoty označené „Chybně klasifikováno do. . .ÿ udávají, kam byl subjekt dané třídy klasifikován, když byl klasifikován chybně, a v závorce je uveden počet takto klasifikovaných subjektů pro danou třídu. V tabulkách jsou uvedeny hodnoty α, určující parciální tabulku, prů¯ pro danou tabulku a jeho směrodatná odchylka σ (R). ¯ měrná hodnota risku R Odchylka udává, jak moc se od sebe navzájem liší hodnoty risků, s nimiž byly klasifikovány jednotlivé subjekty pro danou tabulku.
43
Tabulka A.1: Příznak F7 (leave-one-out)
Třída Správně klasifikováno Chybně klasifikováno do. . .
Všechny H 31 z 31 —
snímky LTn LTp 3z6 0 z 30 H(3) H(18); LTn(12)
α = 1.0000 ¯ = 0.0085 R ¯ σ (R) = 0.0027
{LTn,LTp} 34 z 36 H(2)
α = 0.0000 ¯ = 0.0061 R ¯ = 0.0011 σ (R)
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 30 z 31 LTn,LTp(1)
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 30 z 31 LTn(1)
LTn 6z6 —
LTp 6 z 30 H(2); LTn(22)
α = 0.1065 ¯ = 0.0064 R ¯ σ (R) = 0.0012
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 31 z 31 —
LTn 6z6 —
LTp 1 z 30 H(7); LTn(22)
α = 0.4726 ¯ = 0.0074 R ¯ σ (R) = 0.0018
Třída Správně klasifikováno Chybně klasifikováno do. . .
Příčně snímané obrazy H LTn LTp 31 z 31 6z6 0 z 30 — — H(1); LTn(29)
α = 1.0000 ¯ = 0.0096 R ¯ = 0.0053 σ (R)
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 31 z 31 —
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 31 z 31 —
LTn 6z6 —
LTp 1 z 30 LTn(29)
α = 0.1726 ¯ = 0.0052 R ¯ σ (R) = 0.0015
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 31 z 31 —
LTn 6z6 —
LTp 1 z 30 LTn(29)
α = 0.3850 ¯ = 0.0063 R ¯ = 0.0023 σ (R)
Třída Správně klasifikováno Chybně klasifikováno do. . .
Podélně snímané obrazy H LTn LTp 31 z 31 2z6 0 z 30 — H(4) H(21); LTn(9)
{LTn,LTp} 36 z 36 —
{LTn,LTp} 34 z 36 H(2)
α = 0.0000 ¯ = 0.0042 R ¯ σ (R) = 0.0011
α = 1.0000 ¯ = 0.0095 R ¯ = 0.0027 σ (R)
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 30 z 31 LTn,LTp(1)
α = 0.0000 ¯ = 0.0073 R ¯ σ (R) = 0.0013
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 30 z 31 LTn(1)
LTn 5z6 LTp(1)
LTp 3 z 30 H(4); LTn(23)
α = 0.0962 ¯ = 0.0076 R ¯ = 0.0013 σ (R)
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 31 z 31 —
LTn 5z6 H(1)
LTp 0 z 30 H(10); LTn(20)
α = 0.5016 ¯ = 0.0086 R ¯ = 0.0020 σ (R)
44
Příloha A. Tabulky výsledků klasifikátoru
Tabulka A.2: Příznak F6 (leave-one-out) Třída Správně klasifikováno Chybně klasifikováno do. . .
Všechny snímky H LTn 31 z 31 6z6 — —
LTp 2 z 30 LTn(28)
{LTn,LTp} 36 z 36 —
α = 1.0000 ¯ = 0.0055 R ¯ σ (R) = 0.0028
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 30 z 31 LTn,LTp(1)
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 30 z 31 LTp(1)
LTn 6z6 —
LTp 2 z 30 LTn(28)
α = 0.0889 ¯ = 0.0029 R ¯ = 0.0005 σ (R)
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 30 z 31 LTp(1)
LTn 6z6 —
LTp 2 z 30 LTn(28)
α = 0.1700 ¯ = 0.0031 R ¯ = 0.0006 σ (R)
Třída Správně klasifikováno Chybně klasifikováno do. . .
Příčně snímané obrazy H LTn LTp 31 z 31 2z6 0 z 30 — H(4) H(22); LTn(8) {LTn,LTp} 36 z 36 —
α = 0.0000 ¯ = 0.0026 R ¯ σ (R) = 0.0004
α = 1.0000 ¯ = 0.0152 R ¯ σ (R) = 0.0046
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 30 z 31 LTn,LTp(1)
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 30 z 31 LTp(1)
LTn 6z6 —
LTp 2 z 30 LTn(28)
α = 0.1411 ¯ = 0.0116 R ¯ = 0.0020 σ (R)
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 31 z 31 —
LTn 6z6 —
LTp 1 z 30 H(3); LTn(26)
α = 0.5220 ¯ = 0.0135 R ¯ σ (R) = 0.0031
Třída Správně klasifikováno Chybně klasifikováno do. . .
Podélně snímané obrazy H LTn LTp 31 z 31 6z6 3 z 30 — — LTn(27) {LTn,LTp} 36 z 36 —
α = 0.0000 ¯ = 0.0109 R ¯ = 0.0018 σ (R)
α = 1.0000 ¯ = 0.0056 R ¯ σ (R) = 0.0030
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 30 z 31 LTn,LTp(1)
α = 0.0000 ¯ = 0.0024 R ¯ = 0.0004 σ (R)
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 30 z 31 LTp(1)
LTn 6z6 —
LTp 3 z 30 LTn(27)
α = 0.0871 ¯ = 0.0027 R ¯ σ (R) = 0.0005
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 30 z 31 LTp(1)
LTn 6z6 —
LTp 3 z 30 LTn(27)
α = 0.1548 ¯ = 0.0029 R ¯ σ (R) = 0.0006
45
Tabulka A.3: Příznak F2 (leave-one-out) Třída Správně klasifikováno Chybně klasifikováno do. . .
Všechny H 31 z 31 —
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 31 z 31 —
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 31 z 31 —
LTn 6z6 —
LTp 3 z 30 LTn(27)
α = 0.1402 ¯ = 0.0055 R ¯ = 0.0017 σ (R)
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 31 z 31 —
LTn 6z6 —
LTp 3 z 30 LTn(27)
α = 0.2157 ¯ = 0.0057 R ¯ = 0.0018 σ (R)
Třída Správně klasifikováno Chybně klasifikováno do. . .
snímky LTn LTp 5z6 3 z 30 H(1) H(2); LTn(25)
α = 1.0000 ¯ = 0.0079 R ¯ σ (R) = 0.0032
{LTn,LTp} 36 z 36 —
α = 0.0000 ¯ = 0.0051 R ¯ σ (R) = 0.0017
Příčně snímané obrazy H LTn LTp 30 z 30 5z6 3 z 30 — H(1) H(8); LTn(19) {LTn,LTp} 36 z 36 —
α = 1.0000 ¯ = 0.0170 R ¯ σ (R) = 0.0068
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 28 z 30 LTn,LTp(2)
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 30 z 30 —
LTn 6z6 —
LTp 4 z 30 LTn(26)
α = 0.3270 ¯ = 0.0133 R ¯ = 0.0045 σ (R)
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 30 z 30 —
LTn 6z6 —
LTp 4 z 30 LTn(26)
α = 0.6446 ¯ = 0.0151 R ¯ σ (R) = 0.0055
Třída Správně klasifikováno Chybně klasifikováno do. . .
Podélně snímané obrazy H LTn LTp 31 z 31 0z6 4 z 30 — H(6) H(23); LTn(3) {LTn,LTp} 36 z 36 —
α = 0.0000 ¯ = 0.0114 R ¯ = 0.0039 σ (R)
α = 1.0000 ¯ = 0.0101 R ¯ σ (R) = 0.0027
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 31 z 31 —
α = 0.0000 ¯ = 0.0077 R ¯ = 0.0022 σ (R)
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 31 z 31 —
LTn 6z6 —
LTp 4 z 30 LTn(26)
α = 0.1508 ¯ = 0.0082 R ¯ σ (R) = 0.0022
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 31 z 31 —
LTn 6z6 —
LTp 4 z 30 LTn(26)
α = 0.2841 ¯ = 0.0086 R ¯ σ (R) = 0.0023
46
Příloha A. Tabulky výsledků klasifikátoru
Tabulka A.4: Příznak F7 (testovací data) Třída Správně klasifikováno Chybně klasifikováno do. . .
Všechny snímky H LTn LTp 8z8 2z2 0 z 17 — — H(13); LTn(4)
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 8z8 —
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 8z8 —
LTn 2z2 —
LTp 3 z 17 H(3); LTn(11)
α = 0.1065 ¯ = 0.0099 R ¯ = 0.0025 σ (R)
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 8z8 —
LTn 2z2 —
LTp 0 z 17 H(8); LTn(9)
α = 0.4726 ¯ = 0.0114 R ¯ = 0.0032 σ (R)
Příčně snímané obrazy H LTn LTp 8z8 2z2 0 z 17 — — H(3); LTn(14)
α = 1.0000 ¯ = 0.0164 R ¯ σ (R) = 0.0076
Třída Správně klasifikováno Chybně klasifikováno do. . .
{LTn,LTp} 17 z 19 H(2)
{LTn,LTp} 19 z 19 —
α = 1.0000 ¯ = 0.0126 R ¯ σ (R) = 0.0040 α = 0.0000 ¯ = 0.0094 R ¯ σ (R) = 0.0025
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 8z8 —
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 8z8 —
LTn 2z2 —
LTp 0 z 17 LTn(17)
α = 0.1726 ¯ = 0.0087 R ¯ = 0.0025 σ (R)
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 8z8 —
LTn 2z2 —
LTp 0 z 17 LTn(17)
α = 0.3850 ¯ = 0.0107 R ¯ σ (R) = 0.0036
Podélně snímané obrazy Třída H LTn LTp Správně klasifikováno 8z8 2z2 0 z 17 Chybně klasifikováno do. . . — — H(14); LTn(3) {LTn,LTp} 16 z 19 H(3)
α = 0.0000 ¯ = 0.0070 R ¯ = 0.0021 σ (R)
α = 1.0000 ¯ = 0.0141 R ¯ σ (R) = 0.0042
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 8z8 —
α = 0.0000 ¯ = 0.0111 R ¯ = 0.0027 σ (R)
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 8z8 —
LTn 2z2 —
LTp 5 z 17 H(3); LTn(9)
α = 0.0962 ¯ = 0.0115 R ¯ σ (R) = 0.0028
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 8z8 —
LTn 2z2 —
LTp 0 z 17 H(11); LTn(6)
α = 0.5016 ¯ = 0.0130 R ¯ σ (R) = 0.0034
47
Tabulka A.5: Příznak F6 (testovací data) Třída Správně klasifikováno Chybně klasifikováno do. . .
Všechny snímky H LTn LTp 8z8 2z2 4 z 17 — — LTn(13)
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 8z8 —
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 8z8 —
LTn 2z2 —
LTp 4 z 17 LTn(13)
α = 0.0889 ¯ = 0.0045 R ¯ = 0.0007 σ (R)
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 8z8 —
LTn 2z2 —
LTp 4 z 17 LTn(13)
α = 0.1700 ¯ = 0.0050 R ¯ = 0.0009 σ (R)
Třída Správně klasifikováno Chybně klasifikováno do. . .
{LTn,LTp} 19 z 19 —
Příčně snímané obrazy H LTn LTp 8z8 0z2 0 z 17 — H(2) H(13); LTn(4) {LTn,LTp} 19 z 19 —
α = 1.0000 ¯ = 0.0094 R ¯ σ (R) = 0.0039 α = 0.0000 ¯ = 0.0041 R ¯ σ (R) = 0.0006
α = 1.0000 ¯ = 0.0230 R ¯ σ (R) = 0.0076
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 8z8 —
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 8z8 —
LTn 1z2 H(1)
LTp 3 z 17 LTn(14)
α = 0.1411 ¯ = 0.0175 R ¯ = 0.0041 σ (R)
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 8z8 —
LTn 0z2 H(2)
LTp 0 z 17 H(4); LTn(13)
α = 0.5220 ¯ = 0.0205 R ¯ σ (R) = 0.0054
Podélně snímané obrazy Třída H LTn LTp Správně klasifikováno 8z8 2z2 4 z 17 Chybně klasifikováno do. . . — — LTn(13) {LTn,LTp} 19 z 19 —
α = 0.0000 ¯ = 0.0163 R ¯ = 0.0039 σ (R)
α = 1.0000 ¯ = 0.0097 R ¯ σ (R) = 0.0042
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 8z8 —
α = 0.0000 ¯ = 0.0037 R ¯ = 0.0005 σ (R)
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 8z8 —
LTn 2z2 —
LTp 4 z 17 LTn(13)
α = 0.0871 ¯ = 0.0042 R ¯ σ (R) = 0.0006
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 8z8 —
LTn 2z2 —
LTp 4 z 17 LTn(13)
α = 0.1548 ¯ = 0.0046 R ¯ σ (R) = 0.0008
48
Příloha A. Tabulky výsledků klasifikátoru
Tabulka A.6: Příznak F2 (testovací data) Třída Správně klasifikováno Chybně klasifikováno do. . .
Všechny snímky H LTn LTp 8z8 2z2 5 z 17 — — LTn(12)
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 8z8 —
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 8z8 —
LTn 2z2 —
LTp 5 z 17 LTn(12)
α = 0.1402 ¯ = 0.0072 R ¯ = 0.0029 σ (R)
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 8z8 —
LTn 2z2 —
LTp 5 z 17 LTn(12)
α = 0.2157 ¯ = 0.0076 R ¯ = 0.0030 σ (R)
Třída Správně klasifikováno Chybně klasifikováno do. . .
{LTn,LTp} 19 z 19 —
Příčně snímané obrazy H LTn LTp 8z8 1z2 4 z 17 — H(1) H(3); LTn(10) {LTn,LTp} 19 z 19 —
α = 1.0000 ¯ = 0.0118 R ¯ σ (R) = 0.0048 α = 0.0000 ¯ = 0.0065 R ¯ σ (R) = 0.0029
α = 1.0000 ¯ = 0.0258 R ¯ σ (R) = 0.0094
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 8z8 —
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 8z8 —
LTn 2z2 —
LTp 4 z 17 LTn(13)
α = 0.3270 ¯ = 0.0195 R ¯ = 0.0076 σ (R)
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 8z8 —
LTn 2z2 —
LTp 4 z 17 H(1); LTn(12)
α = 0.6446 ¯ = 0.0227 R ¯ σ (R) = 0.0083
Podélně snímané obrazy Třída H LTn LTp Správně klasifikováno 8z8 0z2 4 z 17 Chybně klasifikováno do. . . — H(2) H(9); LTn(4)
α = 1.0000 ¯ = 0.0151 R ¯ σ (R) = 0.0048
{LTn,LTp} 19 z 19 —
α = 0.0000 ¯ = 0.0163 R ¯ = 0.0075 σ (R)
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 8z8 —
α = 0.0000 ¯ = 0.0104 R ¯ = 0.0041 σ (R)
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 8z8 —
LTn 2z2 —
LTp 4 z 17 LTn(13)
α = 0.1508 ¯ = 0.0112 R ¯ σ (R) = 0.0041
Třída Správně klasifikováno Chybně klasifikováno do. . .
H 8z8 —
LTn 2z2 —
LTp 4 z 17 LTn(13)
α = 0.2841 ¯ = 0.0120 R ¯ σ (R) = 0.0043
49
Příloha B Výpis hlaviček hlavních implementovaných funkcí systému % % % % % % % % % % % % % % % % % % % % % % % % % % % %
gpolyline Interactive closed-polygon drawing tool. Let the user draw a set of closed polygons in a sonographic image and saves the result to a file of the same name and extension "TXT". The files are saved to the data directory (from which the images are loaded). Also can be change brightness and contrast in display image. The images are selected in a file selection dialog box. When started, the interface is in the zoom mode (as if invoked by "zoom on" Matlab command). By clicking on the "New" button the interface switches to polygon drawing mode in which: left mouse button - adds new polygon vertex right mouse button - closes the polygon and switches back to the zoom mode. In the zoom mode, other buttons and sliders may be used: Delete last - deletes last polygon NextImage(0) - save current polygon and load the next image NextImage(1) - save current polygon and load the previous image NextImage(2) - save current polygon and load a new choosen image Exit - save current polygon and exit gpolyline Quit - quit gpolyline without saving anything ResetImage - adjust initial contrast and brightness Position - slider for changing brightness in image Width - slider for changing contrast in image Data file format: line 1: number of polygons
50
% % % %
Příloha B. Výpis hlaviček hlavních funkcí systému
line 2: number of vertices in each polygon line 3: x,y coordinates for each polygon vertex (in the drawing order) See also (gsono2im, poly2im, colormap)
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
desedit
% % % %
scsupport
Interactive description tool. Desedit enable make a record about sonographic images, saving to text-file with extension DES. Items this recod are: - ID subject - name of physician - diagnosis (H, LT) - date of a creation of images - image type - sonograph type - used magnification of the image - used section during acquisition of the image - using/unusing the image for classification Completion of items of record to edit fields is supported by display current image and by integrated tool Sonoocr, which can now recognize type of sonograph and using magnification of image from area of image, where are these information attendant. Before start is necessary add Sonoocr tool, Journal tool and Options tool to matlab paths. They are using by Desedit tool. Sonoocr, Journal and Options are available at FEE CTU Prague (
[email protected]). When desedit is called with string ’UseCurrentControl’, attempt read current global variable control from Matlab cache. On line 89 and 192 are array with known sonographs. When is known another sonograph whith saved entry in Sonoocr tool, may be add to these arrays (variable sonostr). See also (deseditfig)
(called without any parametrs) Interactive classification tool. Scsupport gives probability with which
51
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
patient’s tissue is normal (H) or belongs to Hashimoto’s lymphocytic thyroiditis (LT). When started, user is prompted to give path with sonographical images. Scsupport consists of three steps: 1. creating description file for images 2. delineating regions of interests 3. classification 1.Creating description file for images Make use of a functions of a Destool 2.Delineating regions of interests Interactive closed-polygon drawing tool. Let the user draw a set of closed polygons in a sonographic image and saves the result to a file of the same name and extension "txt". The files are saved to the data directory (from which the images are loaded). The images are selected in a file selection dialog box. When started, the interface is in the zoom mode (as if invoked by "zoom on" Matlab command). By clicking on the "New" button the interface switches to polygon drawing mode in which: left mouse button - adds new polygon vertex right mouse button - closes the polygon and switches back to the zoom mode In the zoom mode, other buttons may be used: Delete last - deletes last polygon NextImage - save current polygon and load the next image (clicking on file name - save current polygon and load image) Exit - save current polygon and exit Scsupport Quit - quit Scsupport without saving anything Data line line line
(.txt) file format: 1: number of polygons 2: number of vertices in each polygon 3: x,y coordinates for each polygon vertex (in the drawing order)
3.Classification In classification step, user can select training scan type and feature that will be used for both training and classification. Polygons are automatically covered by squares and features are extracted. Bayes classifier is then used to classify each square. Patient’s probability is computed as percentage of LT squares and percentage of healthy (H) squares among all squares.
52
% % % % % % % % % %
Příloha B. Výpis hlaviček hlavních funkcí systému
The probability color map for individual squares is given in the upper-right corner of the window.Clicking on individual squares, probabilities are higlighted in this map. Before start it is necessary add Destool, Classify, Sonoocr, Options and Journal tool to matlab paths. Journal and Options is available at FEE CTU Prague (
[email protected]) . See also (scsupportfig, scsono2im, sccontrast)
% batchprocess % % (called without any parametrs) % Function contains implemented GUI for classification sonographic % images sets "on background". % % Before start it is necessary add Classify and Journal tool to matlab % paths. % Journal is available at FEE CTU Prague (
[email protected]) .
% classification % % Function support interaction between classifier and GUI. % This function contains implemented call structures for functions % which is implemented classifier. % % [results] = classification(outdir, patient, results, feaset, dataset); % % results - output, structure with a results of classification % outdir - input, path with a set of images (path for save results) % patient - input, ID which marking the set of images % feaset - input, selected features from (F2, F6, F7) % dataset - input, selected data for training classifier from scan type % (transversal, longitudinal, left long., right long.) % % If is not defined feaset and dataset, classification is make % for all features and all scan type % % See also (sonocover_dir, sonocover1, coverroi)
53
Příloha C Obsah přiloženého CD Přiložené CD obsahuje v adresáři Sono celý implementovaný systém, popsaný v kapitole 3. Na CD je umístěn také adresář demo, ve kterém je skupina pěti sonografických obrazů nasnímaných přístrojem Toshiba ECCOCEE (PNG) a pět sonografických obrazů, získaných pomocí přístroje Philips Envisor M254DA (DICOM). Pro tyto dvě sady jsou zde uloženy i výsledky jejich zpracování jednotlivými nástroji systému. Jedná se o popisové záznamy, získané nástrojem Destool, a soubory, obsahující informace o nakreslených polygonech v obrazech pomocí nástroje Gpolyline. Nakonec jsou zde i výsledky provedené klasifikace. V souladu s popsaným postupem práce (viz Oddíl 3.3) pro jednotlivé nástroje, je možné s demo-obrázky pracovat ve smyslu editace záznamů, editace polygonů, prohlížení výsledků klasifikace a provádění nové klasifikace. Dále je na CD přiložen soubor Readme.txt, jehož obsah je totožný s textem, uvedeným v oddíle 3.3.