Nápady a objevy

10. srpna 2015

Odstraníme nádor z mozku, epileptické záchvaty i třes rukou. Bez jediného řezu, tvrdí programátor Jiří Jaroš

Autor: archiv Jiřího Jaroše

Každý si žije svým životem a já je učím vzájemně komunikovat a spolupracovat. Mým úkolem je udělat vše pro to, aby se jim příjemně pracovalo. Ne, takto nemluví Jiří Jaroš o svých studentech, o živých bytostech, ale o počítačích. Není divu, odborník z Fakulty informačních technologií VUT v Brně mezi nimi tráví i deset hodin denně. Je součástí mezinárodního projektu k-Wave, jehož cílem jsou simulace šíření ultrazvuku v živých tkáních a plánování neinvazivních ultrazvukových operací. S jejich využitím by lékaři mohli pacienta zbavit nádoru bez jediného řezu nebo odstranit třes rukou u lidí s Parkinsonovou chorobou či najít vodu na Sahaře.

Jaká je vaše role v projektu?
Zrychlit práci počítačů, které simulují průchod ultrazvuku tkání, a tak předpovídají výsledek operace. Než vyšlu do pacienta ultrazvukovou vlnu, musím vědět, kam přesně zamířit, s jakou intenzitou, na jak dlouho, kam umístit vysílač a jaký tvar má vlna mít. To zjistím pomocí simulace šíření vlny na základě CT snímku pacienta. U tkání, například u ledvin, nepředstavuje simulace takový problém. Navíc když se netrefím přesně, nemá to fatální následky. Ale u mozku je to něco jiného. Kromě požadované přesnosti nám práci výrazně ztěžuje lebka, která ho chrání. Dělá s vlnou šílené věci, rozbije ji, odrazí ji zpět, různě zdeformuje. Proto je simulace velice náročná na množství dat. Propočty zatím trvají dlouho, rádi bychom se dostali na limit čtyřiadvaceti hodin.

Dá se objem dat nějak přiblížit?
Ano, můj osmigigový počítač pojme simulační data pro centimetr krychlový měkké tkáně, třeba ledvin. U mozku pouze milimetr krychlový. Ovšem já potřebuji simulovat účinky v objemu až osmi tisíc krychlových centimetrů, což představuje velikost lidské hlavy. Takže data musím rozdělit mezi různé počítače a zajistit jejich efektivní spolupráci. Jen to zkuste, donutit tisíc počítačů, aby se spolu domluvily, který co bude dělat, a nikdo na nikoho zbytečně nečekal. Musím také maximálně využít výkon všech procesorů, abych šetřil nejen čas, ale i peníze.

Jako laik jsem si myslela, že je to automatická věc, že všechny počítače pracují stejně.
Kdepak, to ani náhodou. Každý si žije ve vlastním světě, nikdo je centrálně neřídí. Domlouvají se mezi sebou na tom, který z nich potřebuje kdy kolik dat a podobně. Když sto propojených počítačů pracuje stejně rychle a jeden z nich se o chvilku zpozdí, mám problém, ztratím totiž spoustu výkonu, a to si nemůžu dovolit. Takže při propojování například řeším, jak jsou počítače rozmístěné nebo z jakých komponent jsou postavené. Klíčové je také to, abych jim efektivně a přímo na míru napsal kód, zjednodušeně řečeno zajišťuji, ať se jim příjemně pracuje. Tedy, aby se plně využil dostupný hardware a vzala v potaz určitá omezení, čímž se výrazně sníží čas propočtů. K tomu všemu si musím uvědomit, že žádné výpočty nejsou úplně přesné. Když se vám dostane nepatrná odchylka do jedné operace, je to v pořádku, ale pokud jich uděláte bilion, chyby se nasčítají a pak je otázka, jestli to, co mi po dvou dnech počítání vyjde, je vlastně správně.

Můžete si to nějak ověřit?
Jistě, kolegové v Anglii, kteří pracují na fyzikální a matematické části projektu, mají v laboratoři třísetlitrové akvárium a v něm destilovanou vodu s vysílači a fantomem. Například s umělou ledvinou, která se chová stejně jako lidská a je prošpikovaná čidly na měření tlaku a teploty. Data z měření se následně porovnají s výsledkem simulace, zda sedí, nebo ne.

Máte tam i fantom mozku?
Bohužel, nemáme. Vyrobit fantom, který odpovídá měkké tkáni, není až takový problém. To ale neplatí o materiálech a senzorech, které by byly schopny napodobit chování pevné látky, tedy kostí, chrupavek a podobně. Problém je rovněž v tom, že přesně nevíme, jak modelovat průchod vlny lebkou. Oříšek představuje především absorpce, která je v každém bodě a směru jiná. Připodobnil bych to ke lžičce v hrnku vody, který dáte do mikrovlnky. Lžička se vám zahřejme jako první, což není úplně žádoucí, protože bych kost mohl spálit, a to samozřejmě nechci.

Spolupracujete s nějakými nemocnicemi?
Ano, s univerzitní nemocnicí v Oxfordu, ultrazvukovou operací ledvin tam prošla asi stovka pacientů, úspěšná byla asi polovina. Lékaři se domnívají, že je to kvůli různé tloušťce tukové vrstvy, která ledviny obaluje, a tak zeslabuje ultrazvukovou vlnu. Požádali nás, jestli bychom jim dali k dispozici náš simulační software, oni by ho nakrmili snímky pacienta, provedli simulaci a podívali se, co se dělo během simulované operace. Následně se budou snažit odvodit, co by se stalo v průběhu opravdové operace a jak dosáhnout zlepšení účinků. S tímto jsou již poměrně daleko, chystáme článek do odborného časopisu, ve kterém představíme výsledky. Spolupracujeme i s nemocnicí v anglickém Hullu, kde se zaměřují na prostatu, což je mnohem jednodušší, protože se k ní dostanete mnohem blíže, takže pracujete na menším prostoru.

Jak ultrazvuková operace ledviny vypadá?
Pacient je ponořený do vody, pod ním leží vysílač, tedy miska s dvaceticentimetrovým průměrem. Ultrazvuk o vysoké intenzitě je řízený magnetickou rezonancí. Člověka umístíte do rezonance a zkusmo střelíte do oblasti, kterou byste chtěli operovat. Tato místa se mírně ohřejí a na monitoru rozsvítí, takže vidíte, kam zhruba pálíte ultrazvukem. Následně zničíte oblast ohraničenou těmito body. Účinek ultrazvuku na lidskou tkáň bych opět přirovnal k mikrovlnce. Ultrazvukové vlny v ohnisku tkáň absorbuje, což vede k lokálnímu zvýšení teploty. Jakmile přesáhne teplota určitou hodnotu, po určité době tkáň odumře. Lidově řečeno se uvaří. Tělo ji pak zpětně vstřebá jako například puchýř na palci. Můžeme rovněž použít šokovou vlnu o velmi vysoké energii. Tkáň se pak prostě odpaří.

Proč jste si pro takové operace vybrali mozek?
Protože zde kromě ničení nádorů můžeme ultrazvuk použít i jinak. Když pustím vlnu o nízké intenzitě, mohu mozek jen lehce masírovat. To se dá vyžít u Parkinsonovy choroby, u které bychom mohli zkusit odstranit třes rukou. Když totiž dané místo v mozku trochu přimáčkneme, zlepší se tam spoje a změní elektrické vlastnosti. Nebo třeba epilepsie: rozhodili bychom synchronizaci mozku, aby všechny neurony nepálily současně a nezpůsobovaly záchvaty. Využití je hodně. Například, pětina nádorů metastázuje na kostech, když tam začnou růst nádory, pacienty to nesmírně bolí. Tyto nádory jsou většinou neoperabilní, protože vyříznout kus kosti představuje obrovský zásah do těla, v oblasti páteře je to nereálné. My bychom dokázali nádor odstranit ultrazvukem, aniž bychom spálili vazivo a šlachy okolo.

Jiří Jaroš | Autor: Kateřina Konečná

Na to, že je těžiště vaší práce v psaní kódu, mluvíte o využití velmi zasvěceně. Musel jste načerpat nějaké medicínské znalosti?
Ne nutně, ale samozřejmě se hodí. Učím se je díky tomu, že mluvím s lidmi z dané oblasti. Oni se zase učí ode mě něco o počítačích. Takový oboustranný přesah nám pomáhá, dokážeme díky němu lépe pochopit, co asi druhá strana potřebuje, jaké informace jsou pro ni důležité a jaká vstupní data nám dokáže dát.

Má vaše metoda i nezdravotnické využití?
Samozřejmě, spoustu – jedná se přeci jen o mechanické vlnění. Až se nám podaří vyřešit simulaci průchodu kostí, můžeme to zkusit pro horninový masiv, takže třeba dokážeme hledat vodu na Sahaře. Je pod ní pánev plná vody, nad kterou leží kilometr skály a písku. Když přes ně pošlu akustickou vlnu, tak se na rozhraních skály a vody odrazí zpět, podle čehož zjistím, kolik tam té vody je a jak hluboko. Nebo můžeme hledat praskliny v potrubí, křídlech letadla, trupech lodí a podobně. Opět pošleme puls, ten se odrazí od praskliny a podle doby letu zjistíme, kde se prasklina nachází. No a samozřejmě akustika místností. To, co se dá dnes měřit pouze v určitém místě pomocí mikrofonu, my bychom dokázali zjistit ve všech bodech místnosti současně. Takže architekt by si při návrhu koncertní síně mohl udělat virtuální procházku místností a zjistit, jak hudba zní na každém ze sedadel.

Je tedy mnoho cest, jak simulaci využít. Odhalují se vám podobně cesty i při psaní kódu pro simulace?
Čím déle na tom děláme, tím víc jich nacházíme. Pracujeme třeba na využití grafických karet, které známe z počítačových her. Nestojí moc a mají ohromný výkon s rozumnou spotřebou. Jenže pro nás programátory je velmi těžké zkoordinovat procesor a kartu, chovají se jinak, vypadají jinak a počítají jinak. Například nový superpočítač v Ostravě dosahuje poloviny výkonu právě díky podobným kartám. Tento trend si tedy nemůžeme dovolit ignorovat. Další zajímavá cesta je využití komponent o nízkém příkonu, například z tabletů a chytrých telefonů. Bez problému na nich vypočítám malé simulace stejně jako na notebooku nebo stolním počítači, ale zatímco počítač má spotřebu 200 wattů, tablet nemá ani desetinu. Takže stojíme před návrhem oželet velký výkon v jednom kompaktním celku, ale mít mnohem nižší spotřebu. Když koupím tisícovku destiček z tabletů a propojím je, dostanu se na dobrou cenu, navíc nebudu potřebovat chlazenou místnost pro servery a podobně. Ovšem je to zase velmi náročné z pohledu programátora. Pro přirovnání bych použil pověstnou otázku pana Craye: Když mám zorat pole, použiji na to raději dva velké voly, anebo tisíc kuřat? Kuřata jsou určitě levnější, méně náročná na provoz, ale zkuste je všechny ukočírovat.

Vaše práce tedy není čistě exaktní, je v ní i kus tvůrčího přemýšlení, že?
Určitě, vždy mám před sebou plno otázek, na které mi žádná rovnice neodpoví. Navíc vývoj jde velmi rychle dopředu, takže když píšu kód, musím přemýšlet v budoucím čase, napsat ho tak, abych ho mohl použít i na techniku, se kterou budeme pracovat za pět let.

Jak dlouho odhadujete, že vám práce na programu pro operace mozku ještě potrvá?
Pro mě osobně je to životní výzva. Ve vědě se vždy otevírají nové a nové dveře a nic není jisté. Každý úspěch i neúspěch vás někam posune. Doufám ale, že do pěti let bude kód v takovém stavu, že odsimuluje rozumně velkou část mozku. Trochu se bojím certifikátů a klinického ověřování, které jsou ve zdravotnictví velmi přísné a trvají velmi dlouho. Jen návod, jak připravit návod, podle kterého budete pracovat, má padesát stran. Kolegové z Anglie proto rozjeli projekt, který se soustředí na tuto oblast. Směřují nás v psaní kódu a systému zajištění kvality tak, aby mohl snadněji získat všechny požadované souhlasy.

Kolik vás na projektu pracuje?
V Anglii, kde vedou fyzikální část a matematiku, mají desetičlennou laboratoř. Já vedu větev výpočetní techniky, na plný úvazek jsem sám, ale pomáhají mi dva doktorandi, spolupracovalo s námi šest bakalářů a čtyři diplomanti. Tedy dvanáct studentů a já. Fantastické je, že ačkoliv se témata diplomových prací zveřejní až v září, už teď se mi hlásí dalších pět lidí. Snažím se je motivovat, říkám jim, že když budou pracovat na zajímavém projektu, otevřou se jim tím velké možnosti. Je na nich vidět, že jsou na projekt hrdí, určitě i díky tomu, že vidí využití v praxi. Všichni pracují víc než na jiných projektech, musí. A parádní je, že to nese úspěchy, evropská agentura PRACE, která zahrnuje všechny superpočítače v Evropě, pořádá letní školy pro dvacítku nejlepších evropských studentů. Loni se tam dostal jeden můj student, letos další. 

Kateřina Konečná

Vstoupit do fotogalerie

TémataFakulta informačních technologií Lékařství Software Superpočítač projekt SoMoPro Meziuniverzitní spolupráce Komerční využití Diplomová práce