2007/39 – 15.10.2007
Databáze termogramů pro diagnostiku mammokarcinomu Ing. Jiří Roleček
[email protected] Ústav biomedicínského inženýrství Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií Kolejní 2906/4, 612 00 Brno Diagnostika mammokarcinomu ve vědecké rovině využívá infračerveného spektra ke snímání obrazů mammy pomocí termokamery. Tyto obrazy je možné podle dostupných metodik klasifikovat s vysokou spolehlivostí. Pro zajištění dostatečného počtu termogramů pro další výzkum je vytvořena internetová aplikace pro přenos, ukládání a výměnu termogramů včetně detailnějšího popisu vkládaných obrazů. Článek seznamuje s možnostmi aplikace pro ukládání a výměnu termogramů.
Úvod Lékařský výzkum se již dlouhou dobu zabývá diagnostikou a léčbou karcinomu. Nové vědecké poznatky, stejně jako rychlý vývoj technologií umožňují čím dál častější využívání výpočetní techniky jak při diagnostice, tak při cílené léčbě. Jedním z dosud nevyužitých oborů v oblasti diagnostiky mammokarcinomu je termovize – získávání obrazu z teplotního reliéfu objektu. Termovize se zdá být vhodným kandidátem na další diagnostickou metodu. Z dosavadního výzkumu vyplývá, že při použití termografie je 95% případů mammokarcinomu zachyceno včas. Navíc umožňuje odhalit první znaky až o 10 let dříve, než ostatní typy vyšetření [1]. Hlavní výhodou této metody je způsob získávání obrazových dat. Jde o pasivní zobrazovací systém, který využívá tepelného záření vyšetřované osoby. Je to tedy neinvazivní vyšetření, kdy pacientka není vystavena škodlivým vlivům. Pro zpracování mammogramů pořízených termokamerou jsou neustále vyvíjeny nové metody zpracování a zpřesňovány dosavadní znalosti především důkladným porovnáváním výsledků dosud běžně prováděných vyšetření s obrazy získanými právě termokamerou. Pro dosažení co možná nejobjektivnějších kritérií statistického zpracování těchto obrazových dat je třeba získat co možná největší soubor obrazových dat. Ještě výhodnější je, jsou-li tato obrazová data doplněna stručnými informacemi o výsledcích dalších dnes běžně používaných vyšetření. Jedná se o RTG vyšetření, ultrasonografii a biopsii (odebrání vzorku tkáně k histologickému rozboru). Dnešní stav a další rozvoj komunikačních technologií přímo předurčuje celosvětovou síť Internet k zajištění a výměně těchto dat. Za tímto účelem je navrhnuta databáze a spuštěna webová aplikace, která umožňuje výměnu, skladování a archivaci obrazových dat. Cílem je vytvořit další článek, který pomůže do jisté míry vědeckým pracovištím v jejich dosavadním snažení.
Definice požadavků Při návrhu aplikace na výměnu a archivaci termogramů vycházíme z toho, že data jsou sdílena po internetu. Zřejmé výhody webové aplikace oproti klasickému programu na lokální stanici
39-1
2007/39 – 15.10.2007 vedly k instalaci webového serveru Apache s podporou skriptovacího jazyka PHP. Veškerá data jsou zpracovávána databázovým systémem MySQL. Pro webovou aplikaci hovoří také moderní trend, kdy většina informačních systémů je dnes řešena formou webové aplikace. Aplikace byla navržena za účelem ukládat, spravovat a získávat termogramy. Z této skutečnosti tedy vychází všechny dílčí požadavky.
Poskytované služby • vkládání • vkládání
a stahování termografických obrazů ve formátu MATLab nálezů z jednotlivých typů vyšetření, tedy mammografie, ultrazvukového vyšetření a případné histologické analýzy vzorku • přehledná prezentace textových i obrazových dat • jednoduchá administrace uživatelů, včetně řízení stahovacích kvót • aplikace uživatelských Matlab skriptů nad obrazovými daty • více jazykových verzí
Uchovávaná data • pacientská data (jméno a příjmení pacientky, identifikační kód, rok narození) • datum vyšetření • termogramy ve formátu MATLab • textová podoba kompletních nálezů z mammografie, ultrasonografie a histologie • klasifikace nálezu (neznámý, pozitivní, negativní, podezřelý) • přihlášení a odhlášení do a z aplikace • záznam stažených vyšetření
Systém administrace přístupových práv a stahovacích kvót • administrátorem systému je vedoucí projektu • administrátor určuje stahovací kvóty uživatelům (pravidlem, jednorázově, …) • uživatel má plný přístup pouze k vlastním datům (mazání, editace, …) • k datům ostatních uživatelů má omezený přístup (pouze zobrazení kontrol) • uživatel může stahovat termogramy ostatních uživatelů podle stahovacích kvót • úspěšná stažení termogramů jsou logována
Bezpečnost aplikace • účty uživatelů i administrátora jsou chráněny heslem • každé přihlášení a odhlášení uživatele je logováno včetně IP adresy • po administrátorem stanovené době nečinnosti je uživatel automaticky odhlášen • přenos přes internet je šifrován SSL přenosem • jsou načasovány pravidelné zálohy databáze metodou hard-copy • technickou podporu zajišťuje řešitel
39-2
2007/39 – 15.10.2007
Rozbor vybraných požadavků Některé body je vhodné detailněji rozebrat, aby byl zřejmý jejich obsah: • stahovací kvóty a logování stažených termogramů Uživatelé vkládají do databáze své termogramy a protihodnotou mají možnost stahovat termogramy jiných pracovišť. Úkolem stahovacích kvót (kreditu) je motivace uživatelů, aby do databáze přispívali v co největší míře. Realizovány jsou dva způsoby přidělení kreditu:
1) pevný počet: administrátor každému uživateli může nastavit pevný počet stažení, přičemž při registraci se uživateli nastaví implicitní hodnota 2) závislý počet: počet možných stažení se odvíjí od počtu vlastních vložených termogramů způsobem kolik bylo vloženo, je možné stáhnout. Administrátor tak může každému uživateli přiřadit konkrétní typ kreditu a v případě pevného počtu nastavit hodnotu. Aby bylo zajištěno, že uživatel nepřekročil limit stažených dat, je každé stažení logováno do databáze. Prvním stažením je uživateli odečten kredit a termogram je dostupný pro stažení kdykoliv. Je tak zajištěno, že uživatel si může prohlížet celou databázi a v rámci kreditu je mu umožněno stáhnout termogramy, o které má zájem. • zálohování databáze je prováděno časovaným skriptem, který obsah celé databáze metodou hardcopy (zkopírováním tak, jak je) zkomprimuje do archivu a uloží na disk, kde administrátor zajišťuje vytvoření záložního média (CD/DVD). • uživatelské skripty Datový soubor Matlab (mat) není přímo zobrazitelný, pro zobrazení je třeba použít převodní software. Aby bylo ihned po vložení souboru do databáze možné vidět náhled, je třeba vytvořit program, který okamžitě převede datový soubor do jpeg náhledu. Tento problém je řešen pomocí skriptu v jazyce Matlab a jeho následným přeložením do spustitelné podoby. Aplikace poté spustí tento skript s parametrem souboru, který je třeba zpracovat. Díky tomu je možné definovat nové jakkoliv složité skripty přesně podle potřeby uživatelů. Tyto skripty mohou provádět grafické analýzy, dokonce výsledným obrazem nemusí být termogram, ale např. teplotní histogram atd… Každý skript může obsahovat vstupní parametry nastavitelné v administračním prostředí aplikace. Skripty, použitelné v databázi, spravuje administrátor, je tedy zaručeno.
Realizace projektu Vlastní aplikace je programována v jazyce PHP (Hypertext Preprocessor) s využitím jazyka SQL (Structured Query Language) pro získávání dat z databáze, Javascriptu a HTML podle W3C standardu HTML4.01. Rozložení obsahu okna a barevné uspořádání je realizováno pomocí tzv. kaskádových stylů - CSS (Cascading Style Sheets). V případě kombinace těchto programovacích prostředku mluvíme o DHTML aplikace (Dynamic HyperText Markup Language).
Návrh struktury databáze Celá databáze je sestavena z jednotlivých tabulek, které obsahují zadávaná data a interní data, která jsou použita k provázání tabulek, případně k uložení uživatelských či systémových
39-3
2007/39 – 15.10.2007 nastavení. Aplikace je postavena na tzv. relační databázi, kdy tabulky jsou navzájem propojeny vazbami 1:N, tzn. jednomu řádku v první tabulce může odpovídat jeden nebo více řádků v druhé tabulce, např. jedno pracoviště spravuje data N svých pacientek. Každá pacientka absolvuje N vyšetření atd. Celou databázi tvoří 7 tabulek.
Obr.: Struktura databáze
1. Tabulka „Users“ obsahuje potřebná data o pracovišti, které bude aplikaci využívat. Od uživatele jsou vyžadovány následující údaje: Uživatelské jméno, heslo pro přístup k aplikaci, jméno a příjmení vkladatele, kontaktní údaje (adresa, telefon, e-mail) a popis postupu a podmínek při snímání termogramů, uživatelská oprávnění a posledním skupinou polí budou uživatelská nastavení. Jedná se o nastavení doby nečinnosti, po které bude uživatel automaticky odhlášen a o nastavení počtu zobrazených řádků ve výpisech pacientek, termogramů atd. Toto nastavení je globální, platí v celé aplikaci. Heslo je šifrováno algoritmem SHA1 a v databázi je uveden pouze hash (výsledný zakódovaný řetězec). Akviziční podmínky je možné zadávat pouze jako neformátovaný text. Jeho maximální délka je pro účely aplikace dostatečná. Při registraci je nastaven typ kreditu a jeho hodnota, udávající stahovací kvótu. Typ i hodnotu může kdykoliv měnit administrátor. Skupina oprávnění má význam označení administrátorského účtu a běžných uživatelských. Další dělení uživatelských oprávnění není v současné době třeba. 2. Tabulka „Patients“ V této tabulce je uvedeno jméno, příjmení a rok narození pacientky. Pro přehlednost si každý uživatel své pacientky označuje svými interními kódy. Původně mělo být identifikačním údajem rodné číslo, ale protože se jedná o osobní údaj a snahou je vkládat do databáze pouze potřebné údaje, nejsou na formát identifikačního údaje kladeny žádné požadavky, záleží na uživateli, jak si bude své pacientky označovat. Všechna tato pole musí být vyplněna při
39-4
2007/39 – 15.10.2007 registraci pacientky do kartotéky. Tabulka obsahuje navíc pole soundex, kde je uložen soundex kód příjmení pacientky. Ten je využíván při filtraci výpisu kartotéky pacientek. 3. Tabulka „Thermograms“ obsahuje veškeré vložené termogramy s identifikátorem pacientky, které byl sejmut. Uživatel při vkládání zadává datum vyšetření, období mentruačního cyklu pacientky, provedená vyšetření (RTG, ultrazvuk, biopsie - pole examinations) a výsledek vyšetření (nález). V dřívější verzi bylo možné zadávat nález podle klasifikací BI-RADS (Brest Imaging Reporting and Data System), Tabar a Wolfe. Od toho však bylo upuštěno s tím, že důležitý je pouze nález odpovídající hodnotám pozitivní, negativní, podezřelý, neznámý. Ke každému typu vyšetření je možné vkládat detailní textový popis vyšetření a nakonec je přiložen datový soubor ve formátu MATLab. V tabulce je uloženo jméno originálního souboru a dále jméno pod jakým je soubor v databázi uložen. 4. Tabulka „Scripts“ Zde jsou definovány uživatelské skripty, které je možné aplikovat na uložené termogramy. Úpravy této tabulky může provádět pouze administrátor. Záznam o skriptu obsahuje zobrazovaný název skriptu ve dvou jazykových verzích, jméno souboru, který se má spouštět a další volitelné parametry, pokud skript umožňuje zpracování na základě doplňujících parametrů. 5. Tabulka „Downloads“ eviduje všechny úspěšné pokusy o stažení jakéhokoliv termogramu. Záznam navíc obsahuje přesný datum a čas stažení. Při každém požadavku o stažení souboru je z této tabulky vypočítán aktuální počet stažených souborů a porovnán s polem credit v tabulce „Users“. V případě, že soubor už byl někdy v minulosti stažen, je umožněno jeho opětovné stažení, aniž by byl snížen kredit. Z této tabulky se také určuje počet stažení jednotlivých termogramů. 6. Tabulka „Acceslog“ zajišťuje záznam o přístupech k aplikaci. Záznam je založen úspěšným přihlášením do aplikace. Uvedeno je přesné časové razítko přihlášení a IP adresa úspěšně přihlášeného uživatele. Při odhlášení je opět vloženo časové razítko. V administrátorské sekci je možné v zobrazení přístupů požádat o převedení IP adresy na DNS název. Tento se poté také ukládá do databáze. 7. Tabulka „Help“ V této tabulce je uložená kompletní nápověda k aplikaci ve dvou jazykových verzích (angličtina, čeština). Na každé obrazovce je v menu položka Help, po jejímž kliknutí se otevře okno s nápovědou k aktuální činnosti. Pole serial slouží jako identifikátor tématu. Následují pole topic_cz a topic_en, které obsahují přímo html kód vlastního tématu. Tabulky jsou navzájem propojeny podle uvedeného schématu. Pro získávání sad dat se využívají příkazy jazyka SQL. Model je navržen tak, aby bylo možné kdykoliv databázi rozšířit o další požadovaná data, aniž by musela být složitě měněna struktura databáze. Tím je také zajištěno, že data zůstanou v takové podobě, v jaké jsou nyní. Tím předejdeme případným složitým úpravám struktury databáze a převodu existujících dat v případě požadavku na rozšíření aplikace.
Závěr Ačkoliv je diagnostika mammokarcinomu z teplotního reliéfu zatím stále v experimentální rovině, zdá se být v budoucnu vhodnou doplňující diagnostickou metodou. Cílem práce bylo vytvoření a spuštění webové aplikace, která umožní registrovaným uživatelům – ústavům spravovat obrazovou termografickou dokumentaci pacientek za účelem vývoje metod zpracování obrazu a diagnostiky mammokarcinomu. Aplikace umožňuje registrovaným
39-5
2007/39 – 15.10.2007 uživatelům mimo správu záznamů svých pacientek také možnost vyhledávání termogramů podle zvolených kritérií a jejich získávání v podobě datového souboru ve formátu MATLab. Silnou stránkou aplikace je možnost přímé aplikace skriptů na uložené termogramy. Skripty jsou psány v jazyce MATLab, a prozatím zajišťují převod vkládaných dat na obrazy. Aplikace je však připravena pro použití uživatelsky definovaných skriptů. Aplikace je navržena v souladu s moderními trendy v oblasti IT a splňuje bezpečnostní požadavky, kladené na moderní informační systémy, zpracovávající důvěrné informace. Bezpečnost je postavena především na technologii šifrovaného přenosu dat (SSL), na jednoduchých, zato však účinných programovacích postupech a v neposlední řadě na pečlivé kontrole vstupních dat. Aplikace je dostupná na adrese http://irmdb.feec.vutbr.cz a nyní využívána v reálném prostředí. Pro seznámení s projektem je vytvořen účet s přihlašovacím jménem demo a heslem demo. Zájemci tak mají možnost seznámit se s prostředím aplikace, jejími funkcemi a mohou vznášet připomínky a návrhy na další vylepšení. Budoucnost této aplikace závisí především na zpětné vazbě od uživatelů, na jejímž základě bude možné aplikaci rozšiřovat a upravovat. Užitečnost a spolehlivost aplikace ukáží právě reakce registrovaných uživatelů.
Literatura [1] ROLEČEK, J. Databáze termogramů pro diagnostiku mammokarcinomu. Diplomová práce. Brno 2006, VUT FEKT ÚBMI [2] AMALU, C. W. A Review of Breast Thermography [online]. 2002, poslední revize 13. února 2003. Dostupné z
. [3] CLUSK (Pseudonym). PHP – Bezpečné programování [online]. 2005-11-26. Dostupné z . [4] JANOVSKÝ, D. Jak psát web, návod na HTML stránky [online]. Poslední revize 12. května 2006. Dostupné z . [5] RŮŽIČKA, P. Bezpečnost především – cross-site skripting a sessionstealing [online]. 2002-08-16. Dostupné z . [6] RŮŽIČKA, P. Bezpečnost především – použití SSL [online]. 2002-06-06. Dostupné z . [7] The PHP Group. PHP Manual Quick Reference [online]. 2001–2006, poslední revize 23. května 2006. Dostupné z .
39-6