1
RAPORT ŞTIINŢIFIC ŞI TEHNIC
Etapa V (ianuarie-decembrie 2016)
Titlu proiect: Sistem pentru palpare virtuală şi training avansat, diagnostic medical şi tratament
(VIPsystem)
Contractul de finanțare nr: 2011‐3.2‐0503
Director: Conf. Univ. Dr. Dan Gheonea
REZUMAT ETAPĂ:
A patra etapă a proiectului s-a întins pe 12 luni (ianuarie‐decembrie 2016) şi a inclus șase activități:
Implementarea dispozitivului haptic final şi a soluţiei software (activitatea 5.1), Implementarea în context
real a simulatorului haptic în cadrul diagnosticului şi educaţiei medicale (activitatea 5.2), Stabilirea
capabilităţii dar şi a limitărilor platformei de telemedicină folosită împreaună cu dispozitivul haptic şi
interfaţa creată (activitatea 5.3), Elaborarea manualelor de utilizare şi procedurilor de instalare pentru
dispozitivul haptic (activitatea 5.4), Scrierea documentaţiei premergătoare cererilor de patentare (activitatea
5.5) și Înregistrarea cererii de patent la OSIM (activitatea 5.6).
În cadrul primelor trei activități am continuat folosirea volumelor tumorale reconstruite de la un
număr total de 25 pacienți. Aceștia au fost supuși examenului computer tomografic, apoi, conform
protocolului deja folosit în cadrul etapelor anterioare, am adăugat datele elastografice pentru a realiza o
hartă deformabilă a suprafeței tumorii. Am folosit modulul de stocare securizată a informațiilor pentru a
înregistra cazurile noi. Am folosit apoi dispozitivul haptic (Geomagic TouchX) în timp real împreună cu
modelul computerizat, în cadrul unei aplicații realizate special pentru acesta. Reconstrucția volumetrică în
trei dimensiuni, pornind de la informațiile DICOM furnizate de investigarea CT/RMN și completate cu
informațiile despre elasticitate, au fost înglobate folosind diferite tehnici de modelare informatică, iar datele
au fost transmise la distanță prin intermediul aplicațiilor de telemedicină dezvoltate, dispozitivul haptic
interacționând de la distanță cu acesta. Am efectuat întâlniri periodice atât cu cadrele didactice implicate în
pregătire studenților și a rezidenților, cât și cu aceștia din urmă, în dorința de a stabili limitărilor și
capabilităților platformelor create. Aplicația de telemedicină a fost testată în cadrul unor întâlniri virtuale,
fiind testată de grupuri distincte aflate în diverse stadii de pregătire universitară și post-universitară, sub
îndrumarea personalului calificat din cadrul UMF Craiova și a Institutului Fundeni.
A fost de asemenea redactată documentația premergătoare cererii de patentare și a fost depus la
OSIM patentul rezultat, care se referă la un sistem haptic pentru palpare virtuală a formațiunilor tumorale
hepatice și pancreatice, și, în special, la un sistem alcătuit dintr-un dispozitiv computerizat care primește
informații de la computer tomograf și un elastograf, reconstruiește într-un mediu virtual electronic și
afișează o formațiune tumorală tridimensională utilizatorului, care interacționează cu aceasta.
2
A5.1 Implementarea dispozitivului haptic final şi a soluţiei software
Modearea 3D a ficatului si tumorii utilizand sectiunile seriate CT
Pentru ca aplicatia VIPsystem sa poata fi realizata este nevoie si de crearea modelului 3d specific
organului ce se doreste a fi studiat. Aceasta presupune mai multe faze de realizare, prima dintre ele fiind
generarea modelului 3d cu ajutorul unei platforme software pentru analiză (inclusiv inregistrarea și
segmentarea interactiva) și vizualizare (inclusiv redarea volumului) al imaginilor medicale si pentru
cercetare in terapia de tip IGT (image guided therapy).
Generarea modelului 3d poate fi obtinuta prin utilizarea unei aplicatii specifice de vizualizare, interpretare
si generare a unui organ specific din corpun uman folosind fisierele de tip DICOM (Digital Imaging and
Communications in Medicine)
Aceste fisiere sunt de mai multe tipuri dar toate au la baza acelasi principiu, realizarea unor imagini cu
contrast mare si luminozitate adaptata in asa fel incat sa permita citirea si interpretarea lor folosind nuante
de gri, inglobate in serii de imagini ce au la baza tehnologia IS (image segmentation).
Acesta tehnologie (IS) are la baza un proces de partitionare a imaginilor digitale in mai multe segmente
(super-pixels) Telul segmentarii fiind simplificarea si/ sau schimbarea reprezentarii unei imagini in ceva ce
are mai mult inteles si este mai usor de analizat. Tehnologia este folosita la localizarea obiectelor si a
granitelor (linii drepte, curbe etc) in imagini si evident, aplicabilitatea ei nu este limitata doar la medicina.
Prin identificarea conturului ficatului si a zonei tumorale pe fiecare sectiune din stackul CT s-a realizat
utilizand SolidWorks un model tridimensional care apoi a fost exportat intr-un program de calcul prin
metoda elementelor finite Ansys. In cadrului programului Ansys au fost realizate primele simulari ale
palparii ficatului in zona formatiunii tumorale cu bune rezultate privind raspunsul elastic al structurii cu
evidentierea tesutului tumoral.
Acest model elastic va fi transferat in etapa urmatoare catre manusa cu interfata haptica prin intermediul
unui modul software de interfata ce va calcula in timp real raspunsul structurii la operatia de palpare.
Faza de import si incarcare a datelor intr-un program specific de analiza a imaginilor si vizualizare
3
Faza de optimizare a imaginilor importate
Pregatirea si separarea zonei de interes
Generarea modelului 3d in aplicatia specifica ce poate interpreta seria de imagini DICOM cuprinde mai
multe faze:
1 Importul seriei de imagini, aceasta faza presupunand introducerea seriei de imagini in programul
folosit pentru vizualizare, interpretare si generare a modelului 3d
2 Optimizarea seriei de imagini importate prin reglarea nivelului de luminozitate si contrast la un nivel
optim, astfel incat sa permita interpretarea lor la un nivel cat mai exact
4
3 Pregatirea si separarea zonei de interes, aceasta faza reprezentand etapa prin care se stabilesc limitele
de interes din cadrul modelului, asta putand sa insemne un organ sau mai multe organe sau doar o
anumita zona dintr-un organ
4 Vizualizarea si optimizarea reprezentarii 3d a organului studiat sau a zonei de interes
5 Generarea modelului 3d si reglarea nivelului de calitate a modelului generat (reducerea numarului de
poligoane, nivelul de netezire al suprafetelor)
Exportul modelului 3d generat. Aceasta etapa presupune alegerea formatului dorit si stabilirea locului unde
modelul trebuie salvat
Vizualizarea si optimizarea reprezentarii 3d a subiectului
Interacţiunea cu modelul tridimensional în cadrul realităţii virtual
Identificarea particularităților anatomice și fiziologice ale sistemului senzorial tactil utilizate în
proiectarea și realizarea sistemului haptic Utilitatea dispozitivelor haptice constă în faptul că utilizatorul
reușește să cunoască mediul cu care interacționează.
Modelarea prin metoda elementelor finite a ficatului si tumorii (utilizand Ansys), prin prelucrarea
modeluilui 3D si a informatiei obtinuta prin elastografie mapata peste geometria tumorii.
5
Simularea operatiei de palpare cu identificarea zonei tumorale. Se observa deformatia tesutului de palpare
cu delimitarea tumorii. Modelul virtual deformabi astfel realizat va fi transferat către echipamentul haptic.
Interacţiunea cu modelul tridimensional în cadrul realităţii virtuale
Identificarea particularităților anatomice și fiziologice ale sistemului senzorial tactil utilizate în
proiectarea și realizarea sistemului haptic
Utilitatea dispozitivelor haptice constă în faptul că utilizatorul reușește să cunoască
mediul cu care interacționează prin contactul direct, fizic cu mediul.
In esență, prin contactul tactil, utilizatorul identifică două tipuri de informații:
Informații primare – identificate direct de sistemul senzorial tactil:
- Existența corpului de contact
- textura suprafeței de contact
- consistența suprafeței de contact
Informații complementare – identificate în conjuncție cu mișcarea mâinii:
- forma corpului de contact
- volumul corpului de contact
- greutatea corpului de contact
- caracteristicile mediului în care se află corpul de contact, privind umiditatea,
vibrații, temperatura, presiune, eventual pH-ul
- modul în care corpul de contact reacționează mecanic (forțe de rezistență,
moment de torsiune) cu mediul in care acesta din urma este integrat
Pornind de la informațiile DICOM furnizate de investigarea CT și completate cu informațiile despre
elasticitate a fost realizata reconstrucția volumetrică în trei dimensiuni, rezultand un obiect în format OBJ.
A5.2 Implementarea în context real a simulatorului haptic în cadrul diagnosticului şi educaţiei
medicale
Dispozitive haptice
Dispozitivul haptic Geomagic Touch X permite utilizatorului să simtă obiecte modelate 3D prin
exercitarea unor forțe de răspuns asupra mâinii care acționează creând astfel o experiență foarte apropiată
de realitate. Durabilitatea, accesibilitatea și precizia fac ca dispozitivul haptic Touch X să fie ideal pentru
aplicații de cercetare, comerciale și medicale, în special când dimensiunea și portabilitatea contează.
Utilizarea plugin-ului haptic în Unity
Unity (https://unity3d.com) este între primele 3 cele mai populare platforme pentru dezvoltarea de jocuri,
alături de Unreal Engine 4 și CryEngine. Platforma Unity este accesibilă liber și oferă suport pentru
utilizarea Oculus VR, în timp ce celelalte două oferă doar acces restricționat. În plus, Unity furnizează
suport pentru dispozitivele haptice prin intermediul plugin-ului pentru dispozitive Geomagic (Poyade și al.
2014).
Am ales pentru realizarea simulatorul software platforma Unity 5 pentru că:
- este compatibilă atât cu Oculus VR, cât și cu dispozitivele haptice Geomagic;
- permite crearea de multiple scene în cadrul cărora obiectul principal al scenei, ficatul, poate fi actualizat
într-o manieră dinamică prin încărcarea unui alt fișier în format obj.
6
Ca dezavantaj, toate update-urile care au fost necesar a fi integrate pentru stabilitatea și optimizarea
performanței utilizării Oculus VR, au presupus un efort de timp pentru integrare și actualizarea obiectelor
din scenă, cum ar fi lumina, texturile.
Pentru importul automat al fișierelor obj în cadrul scenelor Unity am folosit plugin open-source OBJ-
IO (https://github.com/octo-code/obj-unity3d) care suportă meshe de tip triunghi. Acest plugin poate fi
folosit pentru export dacă se dorește a fi salvat într-un fișier obj modelul 3D pentru o anumită conformație
a ficatului după interacțiunea cu dispozitivul haptic fără a mai fi necesară utilizarea unor instrumente
precum Maya, 3ds Max sau Blender.
Implementarea interacțiunii haptice în cadrul Unity permite redarea haptică a geometriilor luând în
considerare limitările de redare tactilă utilizând bufer-ile de tip feedback OpenGL. Este necesar ca mesh-
ele obiectelor palpabile, precum și componentele matricelor de transformare corespunzătoare să fie stabilite
în frame-ul haptic folosind una dintre funcțiile descrise mai jos.
Pentru utilizarea plugin-ului haptic este necesar să fie respectată următorii pași pentru integrarea
dispozitivelor haptice în C#.
În funcția Start din C#:
1. Se pornește dispoztivul;
2. Se setează dimensiunile spațiului de lucru și obiectele palpabile din cadrul acestuia;
3. Se actualizează spațiul de lucru prin setarea orientării acestuia ca funcție a camerei haptice;
4. Se setează modul de interacțiune;
5. Se setează geometria haptică (mesha și matricea de transformare);
6. Se definesc efectele de mediu și cele mecanice (acestea pot fi modificate oriunde în codul C# ca rezultatul
al unei acțiuni asupra unui control sau ca rezultat al interacțiunii dintre dispozitivul haptic și un obiect
palpabil);
7. Se pornește verificarea pentru evenimentele haptice.
În funcția Update din C#:
1. Se actualizează spațiul de lucru într-o manieră dinamică;
2. Se redă frame-ul haptic pentr thread-ul Client;
3. Se obține obiectul corespunzător dispozitivului haptic sau valori fizice;
4. Se preiau informații de contact sau alte evenimente dacă sunt necesare;
5. Se actualizează matricea de transformare pentru obiectul manipulata dacă este necesar;
În funcția Disable din C#:
1. Se curăță frame-ul haptic.
Efecte asupra mediului și un alt efect de tip forță personalizat poate fi implementat în funcția Start din C#
și poate fi lansat la apariția unor evenimente speciale, de exemplu, dacă butoanele dispozitivului haptic sunt
apăsate sau dispozitivul haptic atinge un anumit set de geometrii
Tipuri de interacțiune ale dispozitivului haptic
Desenarea haptică din cadrul plugin-ului pentru Unity necesită definirea modului de interacțiune inainte de
redarea unui frame haptic. Sunt disponibile 4 moduri de interacțiune:
Mod 0 - Contact simplu: doar contact haptic și efecte de bază pentru mediu.
Mod 1 - Manipularea obiectului: permite contactul și manipularea obiectelor împreună cu efecte de bază
pentru mediu.
Mod 2 - Efecte de tip forță personalizate: permite contactul și simularea efectelor de tip forță tangențiale și
cu vibrație împreună cu efecte de bază pentru mediu.
Mod 3 - Puncție: permite contactul, înțepături și efecte de bază pentru mediu.
7
În cadrul simulatorului software realizat am folosit doar modul 2, ce permite efecte de tip forță
personalizate.
Fiecare obiect palpabil din cadrul unei scene este definit printr-un set de proprietăți haptice care se
împart în mai multe categorii:
Proprietăți haptice de bază care sunt definite în OpenHaptics
(http://support1.geomagic.com/link/portal/5605/5668/Article/2377/Haptic-Device-Drivers):
- Rigiditate (valoarea de tip real între 0 și 1) - controlează cât simt suprafețe dure - 0 reprezintă suprafața
conformă și 1 cea mai grea suprafață care pot fi desenate;
- Amortizare (valoare de tip real între 0 și 1) - reduce elasticitatea suprafeței - 0 reprezintă nici o amortizare,
iar 1, nivelul maxim de amortizare;
- Frecare statică (valoare de tip real între 0 și 1) - controlează cât de greu este să se deplaseze pe suprafața
pornind de la o poziție statică - 0 reprezintă o suprafață fără frecare, iar 1, reprezintă o suprafață cu frecare
maximă;
- Frecare dinamică (valoare de tip real între 0 și 1) - controlează cât de greu este să se deplaseze pe o
suprafață, atunci când mișcarea a fost deja pornită - 0 reprezintă o suprafață fără frecare, iar 1, reprezintă o
suprafață cu frecare maximă;
- ”Trece prin” (valoare de tip real între 0 și 1) - controlează mărimea forței care trece prin suprafața de
geometrie - 0 nu este necesară nici o forță pentru a penetra suprafața, iar 1, înseamnă că este necesară o
forță maximă pentru a trece prin suprafață.
Proprietăți haptice avansate pentru manipularea obiectelor:
- Masa obiectului (valoare de tip real între 0 și 1) - controlează greutatea obiectului - 0 reprezintă nici o
masă și 1 reprezintă masa maximă;
- Obiect fix (valoare booleană 0 sau 1) – 0 reprezintă obiect fix, iar 1 reprezintă obiect manipulabil.
Proprietăți haptice avansate pentru efecte de tip forță personalizate:
- Rigiditate tangențială (valoare de tip real între 0 și 1) - componenta de rigiditate a forței tangențiale cauzată
de contactul unui disc rotativ pe o suprafață - controlează cât de greu este o suprafață în timp ce se simulează
lustruirea sau rectificarea obiectului - 0 reprezintă lipsa rigidității și 1 valoarea maximă de duritate;
- Amortizare tangențială (valoare de tip real între 0 și 1) - controlează elasticitatea unei suprafețe - 0
reprezintă nici o amortizare și 1, nivelul maxim de amortizare.
Proprietăți haptice avansate pentru efecte de tip puncție:
- Frecare statică de tip puncție (valoarea de tip real float între 0 și 1) - controlează cât de greu este să se
deplaseze în interiorul unei forme punctiforme pornind de la o poziție statică - 0 reprezintă fără frecare și 1
cantitatea maximă de frecare;
- Frecare dinamică de tip puncție (valoarea de tip real float între 0 și 1) - controlează cât de greu este să se
deplaseze în interiorul unei forme punctiforme atunci când mișcarea a fost pornită deja și 1 cantitatea
maximă de frecare;
Utilizând plugin-ul haptic pentru Unity, se pot defini câteva tipuri de efecte care se împart în următoarele
categorii:
Efecte de tip forță de bază:
- Efect de tip forță constantă - definește o forță constantă aplicată pe indicatorul dispozitivului haptic -
specificat de o magnitudine (valoarea reală de la 0 la 1), o direcție (Vector3 - (0, -1, 0) pentru efectul de tip
gravitație);
- Efect de tip forță de frecare - definește o forță de frecare aplicată dispozitivului haptic în spațiul liber -
specificat de o creștere (valoarea reală de la 0 la 1) și o magnitudine (valoarea reală de la 0 la 1);
8
- Efect de tip forță elastică - definește o forță elastică, cu privire la o anumită poziție în planul 3D - specificat
de o creștere (valoarea reală de la 0 la 1), o magnitudine (valoarea reală de la 0 la 1) și o poziție în spațiul
de lucru haptic în milimetri (Vector3);
- Efect de tip forța de vâscozitate - definește o forță vâscoasă atunci când se deplasează în spațiul liber -
specificat de o creștere (valoarea reală de la 0 la 1) și o magnitudine (valoarea reală de la 0 la 1).
Pentru toate aceste efecte de bază se poate specifica o durată de excuție care poate fi 0 - se întâmplă la
fiecare moment de timp sau mai mare decât 0 - apare la momentul de timp indicat.
Efecte de tip forță mecanică:
- Efect de tip forță motor de vibrație definește vibrația generată de motorul unui instrument de putere
portabil (aplicat pe axele locale x și y ale dispozitivului haptic) - specificat de o magnitudine (valoarea reală
de la 0 la 1) și o frecvență (valoare reală) - O frecvență prea mare poate fi dăunătoare pentru mecanica
dispozitivului haptic.
- Efect de tip forță de vibrație la contact - definește vibrația generată de un instrument de putere portabil
atunci când atinge o geometrie (aplicată pe axa normală a geometriei la punctul de contact) - specificat de
o magnitudine (valoarea reală de la 0 la 1) și o frecvență (valoare reală) - O frecvență prea mare poate fi
dăunătoare pentru mecanica dispozitivului haptic;
- Efect de tip forță tangențială - definește forța tangențială care rezultă dintr-un disc rotativ pe suprafața
unui obiect - specificat de o magnitudine (valoarea reală de la 0 la 1), funcția de rigiditate tangentă și
amortizare, și o direcție (Vector3) pentru a indica dacă instrumentul de putere simulat este un instrument
de putere de unghi drept (0,1,0) sau un instrument de putere cu un anumit unghi (orice altă valoare) - în
cazul în care simulează forța tangențială, unele schimbări bruște în direcția forței sunt de așteptat, ca funcție
de înclinarea discului de rotație simulată pe suprafata obiectelor.
Pentru integrarea plugin-ului haptic în cadrul sistemului nostru după etapa de import efectiv al
pluginului in proiectului Unity a fost implementată o clasă pentru controler (CHapticInteractionController)
care realizează inițializarea interacțiunii haptice și actuliazarea spațiului de lucru. Modelul de proiectare
utilizat a fost Model-View-Controller (MVC) astfel încat pe lângă clasa controler-ului haptic au fost
implementate alte 3 clase: CSceneManager, CModelManager and CStructureManager) care gestionează
interacțiunea haptică în cadrul scenei, cum ar fi resetarea scenei, rotirea modelului și decolorare pentru o
structură dată. O clasă CHapticDevice a fost implementată pentru a defini modul și spațiul de lucru al
dispozitivului haptic. Această clasă are ca și clasă de bază clasa HapticDeviceClass furnizată de către
plugin. În figura următoare este prezentată diagrama de clase pentru interacțiunile haptice din cadrul
sistemului software proiectat.
După etapa de testare a functionalităților de bază ale dispozitivului haptic descrise mai sus, am adăugat și
alte funcționalități pentru sistemul realizat care sunt descrise în capitolele următoare.
Integrarea Oculus VR în cadrul scenelor Unity
Adăugarea dispozitivului Oculus VR în cadrul proiectului Unity
Pachetul de integrare din Unity a fost folosit pentru a integra Oculus VR în cadrul proiectului existent. În
această manieră orice scenă existentă care permite interacțiunea haptică poate fi adaptată într-un timp relativ
scurt pentru a permite dezvoltarea funcționalității de realitate virtuală (Virtual Realty - VR). Dezavantajul
apare doar dacă scena este destul de complex și nu a fost proiectată inițial cu cele mai bune practici VR.
Aceasta este o metodă simplă pentru adăugarea VR la o aplicație existentă dacă se folosește
OVRPlayerController din cadrul plugin-ului OVR (https://developer3.oculus.com/documentation/game-
engines/latest/concepts/unity-utilities-overview/), dar nu este singura posibilitate.
9
Pașii necesari pentru integrare sunt:
- Importul pachetului OVR (Oculus Virtual Reality)
- Instanțierea clasei OVRCameraRig dacă există deja mișcare în cadrul scenei sau direct a clasei
OVRPlayerController dacă nu există mișcare.
- Se copiază orice script din camera non-VR pentru camera OVRCameraRig. Orice efect de imagine trebui
să fie disponibil atât pentru partea stânga, cât și pentru partea dreaptă - Left/RightEyeAnchor GameObjects.
Aceste clase sunt derivate din clasa TrackingSpace GameObject, care este ea însăși derivată din clasa
OVRCameraRig. TrackingSpace GameObject permite clienților să schimbe cadrul de referință utilizat de
urmărire,.
- Se dezactivează vechea cameră de tip non-VR.
- Se recompilează proiectul și se rulează la fel ca inainte.
Modul de integrare descris pentru adăugarea suportului VR în aplicația Unity se bazează pe două
componente prefabricate care pot fi adăugate într-o scenă:
- OVRCameraRig
- OVRPlayerController
Pentru a putea fi utilizate, se folosește mecanismul drag and drop în cadrul scenei pentru oricare dintre
componente.
OVRCameraRig înlocuiește cameră obișnuită dintr-o scenă Unity. Componenta OVRCameraRig conține
două camere Unity, câte una pentru fiecare ochi. Este destinată a fi atașată la un obiect în mișcare (cum ar
fi un personaj care se deplasează, o mașină, etc.). Următoarele script-uri (componente) sunt corespund lui
OVRCameraRig:
• OVRCameraRig.cs
• OVRManager.cs
Componenta OVRCameraRig
OVRCameraRig este o componentă care controlează redarea stereo și de urmărire a capului; susține
trei copii de tip "ancora" Transformă toate ipostazele ochilor stâng și drept, precum și un "centru" ochi
virtual care este la jumătatea distanței dintre ele. Această componentă este interfața principală între Unity
și camere. Este atașat la un prefabricat care îl face ușor de folosit pentru a adăuga suport VR la o scenă.
Componenta OVRPlayerController
OVRPlayerController este cel mai simplu mod de a începe navigarea pe un mediu virtual. Este în
esență un prefabricat OVRCameraRig atașat la un simplu controler de caracter. Acesta include o capsulă
de fizică, un sistem de mișcare, un sistem de meniu simplu, cu redare stereo al câmpurilor de text, și o
componentă transversală a părului.
Pentru a utiliza, se trage controlerul jucător într-un mediu și se începe să se deplaseze circular folosind un
gamepad sau o tastatură și mouse-ul Notă: Asigurați-vă că detectarea coliziunilor este activă în mediul
înconjurător.
Două script-uri (componente) sunt atașate la prefabricatul OVRPlayerController:
- OVRPlayerController.cs
- OVRGamepadController.cs
Componenta OVRManager
OVRManager este interfața principală pentru hardware-ul VR. Este un singleton care expune
Oculus SDK-ul pentru Unity, și include funcții ajutătoare, care utilizează variabilele Oculus stocate pentru
a ajuta la configurarea comportamentul camerei.
10
Această componentă se adaugă la prefabricatul OVRCameraRig, dar poate fi o parte din orice obiect din
cadrul aplicației. Cu toate acestea, ar trebui să fie declarat doar o singură dată, pentru că sunt membri
publici, care permit modificarea anumitor valori în Unity.
În pregătire medicală, formarea specifică trebuie să se desfășoare astfel încât să-i permită viitorului
medic să acumuleze deprinderile care sunt cerute de procedurile clinice complexe. In mod tradițional
această formare se desfășoară sub supravegherea unui expert și este limitată de disponibilitate experților,
dar și a pacienților folosiți pentru acest tip de formare.
Simulatoarele software care folosesc realitatea virtuală (VR) permit rezolvarea acestor probleme
care apar pe parcursul formării, în mod tradițional în educație medicală. Un concept important utlizat în
cadrul simulării VR pentru a sprijini dezvoltarea psihomotorie în educație medicală este interacțiunea
haptică. Termenul haptic se referă la simțul tactil; interfețele tactile haptice realiste oferă un feedback
kinestezic care permite simularea unor senzații tactile, care sunt cruciale pe tot parcursul procedurilor
medicale, in cazul sistemului proiectat de către noi, rigiditatea este proprietatea folosită pentru investigarea
ficatului uman.
Pe parcursul ultimilor ani, s-au făcut eforturi de cercetare dedicate, pentru a dezvolta aplicatii provocatoare
care folosesc VR imbunatatite cu componenta haptică pentru a îmbunătăți dobândirea abilităților
psihomotorii în timpul formării în domeniul educației medicale.
A5.3 – Stabilirea capabilităţii dar şi a limitărilor platformei de telemedicină folosită împreaună cu
dispozitivul haptic şi interfaţa creată
Modelul corespunzătoare SOFA este un set de componente conectate la un nod comun numit scenegraph.
Nodurile de tip scenegraph nu sunt noduri de simulare; fiecare componentă este responsabil pentru un set
redus de sarcini implementate cu ajutorul funcțiilor virtuale într-o abordare orientată pe obiecte.
Aplicația Modeler este o unealta grafica bazata pe limbajul Qt creată pentru a ușura crearea de
sccene în SOFA.
Se incarcă fisierele .scn se afiseaza optiunile disponibile in scena respectivă si se pot seta parametrii
disponibili scenei.
11
Creare de scene dinamice in Unity
Prototipul de sistem software dezvoltat permite simularea palpării ficatului și are ca țintă identificarea
anatomiei și țesutul hepatic anormale. Dispozitivul de interacțiune are un diametru cuprins între 5 și 10 mm
și se introduce în regiunea abdominală a pacientului în timpul procedurii chirurgicale.
Instrumentele chirurgicale sunt în general obiecte rigide care interacționează între ele și cu țesutul care
efectuează o serie de operațiuni de exemplu tăierea țesutului, sau suturarea acestuia. Interacțiunile cu țesutul
hepatic deformabil includ contactul, palparea și penetrarea suprafaței. Atunci când se produce o coliziune,
evenimentul generat este gestionat de sistemul software în ceea ce privește două componente: vizual -
efectul vizual al interacțiunii (de exemplu, deformarea țesutului) și haptic - o forță de feedback este trimisă
înapoi către utilizator prin intermediul dispozitivului haptic. Valoarea forței depinde de caracteristicile
fizice ale modelării la deformare a țesutului și în acest fel structura țesutului este un factor important pentru
o simulare realistă.
Pe baza experienței noastre anterioare cu SOFA (https://www.sofa-framework.org), am decis să
includem două categorii de scene: scene pentru sesiunile de familiarizare a utilizatorului cu dispozitivul
haptic și Oculus VR, iar cea de a doua categorie de scene se concentrează pe procedura medicală și anume
palparea țesutului hepatic. Procedura de palpare pentru evaluarea țesutului hepatic folosește 4 tipuri de
scenă, una pentru fiecare patologie hepatică majoră: ficat normal, ficat cirotic, ficat chistic si ficat hepatic.
În fiecare scenă, utilizatorul poate acționa un instrument virtual (replică realistă a unui forceps Babcock),
care permite palparea virtuala 3D a ficatului, fara posibilitatea de penetrare a țesuturilor. Utilizatorul devine
familiarizat cu manipularea instrumentului haptic și interfața grafică, înainte de a începe sesiunile de
formare propriu-zise.
In timpul sesiunii normale de evaluare a ficatului, reprezentarea grafică a unui sistem cartezian 3D, în
colțul din stânga jos al ecranului facilitează orientarea utilizatorilor în scena 3D. Acest scenariu are ca scop
evaluarea și îmbunătățirea cunoștințelor teoretice și practice în evaluarea unui ficat normal, prin palpare.
Procesele de evaluare se concentrează pe îmbunătățirea controlului gest si coordonarea mana-ochi în timpul
12
palpării hepatice prin evaluarea cantității de forță aplicată asupra țesutului, direcția forcepsului, localizarea
și frecvența de sondare de țesut, precum și metodologia de palpare pe un țesut hepatic sănătos.
În cazul ficatului cirotici, utilizatorul folosește forcepsul pentru a observa și a înțelege atributele
suprafeței hepatice. Dupa ce utilizatorii s-au format o opinie despre ficat bazat pe palpare, aceștia
completează diagnosticul de ficat răspunzând la un set de întrebări despre diferite atribute ale țesutului de
exemplu culoare sau textura suprafeței.
Evaluarea unui țesut ce prezintă formațiuni chistice urmează aceleași etape: un set de întrebări cu
variante multiple, urmate de gestul tactil necesar pentru a valida răspunsul. Modelul ficatului chistic are
două tipuri de chisturi: un tip vizibil, pe suprafața ficatului, care tactil se simt și arată diferent raportate la
proprietățile vizuale din țesutul normal și un chist intern, care este invizibil pentru ochi, dar detectabil prin
palpare și prin valoarea forței de feedback generată de dispozitvul haptic.
Din cauza existenței acestor două tipuri de chisturi, utilizatorul trebuie sa palpeze cu atenție suprafața de
ficat pentru a identifica toate formațiunile existente în ficat (atât de suprafață și chisturi interne)
Hepatita este o boală gravă a ficatului, care schimbă proprietăți ale țesutului hepatic atât vizual cât și în
ceea ce privește elasticitatea și consistența țesutului. Deși aceste modificări sunt detectabile prin palpare,
deseori, aceste proprietăți se schimbă destul de lent astfel încât fac nedetectabilă o situație de urgență în
cazul în care palparea nu se face cu atenție.
În prezent, platformele Augmented Reality(AR) și Virtual Reality (VR) nu se preocupă de feedback-ul
haptic suficient de bine pentru a satisface așteptările din domeniul medical. In timp ce chirurgii folosesc
AR si VR pentru procedurile pe care nu le pot vizualiza direct, acestea ar fi mai utile pentru procedurile în
care capacitatea de a "simți" interacțiunea dintre dispozitive și anatomie este cel mai important aspect.
O altă caracteristică a arhitecturilor care folosesc AR și VR poate fi posbilitatea de a schimba anatomia la
cerere, dar nici aceasta nu este suficient de exploatată. De exemplu, utilizatorul poate trage o bară de cursor
pentru a schimba mărimea sau forma unui ficat.
Domeniul de cercetare și sistemul software proiectat se încadrează în cadrul educației clinice, care poate fi
și la distanță. Sunt părți ale lumii nedezvoltate care nu dispun de resursele și tehnologia pentru a oferi o
instruire directă pentru medici si personalul medical. VR are capacitatea de a oferi o înaltă calitate, relativ
low-cost prin intermediul unei platforme de formare care ar putea crește în mod semnificativ accesul la
îngrijire și a calității asistenței medicale în zonele subdezvoltate.
În același timp sistem poate fi remodelat astfel încât să permită și proceduri chirurgicale de formare. Etapa
de formare pentru domeniul chirurgie presupune costuri ridicate și provocări etice. În prezent, cele mai
multe astfel de proceduri se fac fie pe animale sau pe cadavre.
Pentru formare de bază în domeniul anatomiei imaginile vin de obicei din ilustrații în cărți sau prin utilizarea
cadavrelor. Considerarea modului în care AR și VR pot îmbunătăți formarea in domeniul anatomiei prin
posibilitatea de a evidenția și de a vizualiza relațiile dintre structurile anatomice, adăugarea și eliminarea
structurilor pentru a crește vizibilitatea, această pregătire ar primi o nouă sanșă de dezvoltare.
Complicatiile chirurgicale pot fi devastatoare pentru pacient, chirurg și spital. Prin capacitatea de a
incorpora imagini reale ale pacienților CT în AR și VR, chirurgii pot planifica, colabora, si practica cu
echipa chirurgicală într-un mediu 3D. Aceasta ar putea conduce la scaderea ratei de apariție a complicaților
și la rezultate mai bune din punct de vedere chirurgical.
De multe ori, rezidenții sosesc nepregătiți în sala de operație de la noul loc de muncă. Echipamentele din
sala de operații sunt necunoscute și această necunoaștere poate contribui la ineficiența și ezitare, care ar
putea duce la complicații pentru pacient. VR poate crea o o sala de operație virtuală astfel încât rezidenții
se pot familiariza cu aspectul și fluxul de lucru.
13
Folosirea Unity care permită dezvoltarea de aplicații și pentru platformele mobile Android, iOS și Windows
Mobile, dă posibilitatea ca sistemul proiectat să poată fi folosit și pentru astfel de dispozitive.
Utilizarea aplicatiei, administarea imaginilor si ale modelelor.
Aplicatia este construita sa functioneze de pe locatia „D:\ pacienti”, aceasta citind o serie de 50 de imagini
generate din tomograf cu ajutorul carora se va realiza redarea volumetrica. Imaginie trebuie denumite sub
forma „pacient-000” pentru prima si „pacient-049” pentru ultima.
Modelele 3d reprezentand organul vor fi 3 la numar: primul cu denumirea „organ_vizual” va fi cel intreg
cu proprietati vizuale aproape de realitate, cel cu denumirea „organ_afectat” va fi partea nesanatoasa a
organului cu prorpietatile haptice corespunzatoare aplicate, iar cel cu denumirea „organ_sanatos” va
reprezenta partea sanatoasa a lui cu proprietati haptice corespunzatoare.
Datele pacientilor se vor salva in directoare separate incluse in „d:\Pacienti”, iar modelele active si
imaginile CT se vor fi copia in radacina acestuia.
Directorul in care trebuie inlocuite modelele 3 si seria de imagini din CT
Butoane import modele 3D
14
Aplicatia permite 3 moduri de vizualizare, x-ray (volumetria) si organul izolat in camera de consultatii
sau organul izolat pe fundal negru.
Vizualizare volumetrica
Utilizand sliderele din dreapta, utilizatorul roteste sau sectioneaza pe axele X, Y si Z volumetria
Butonul ce permite vizualizarea volumetricaUrmatoarele 2 moduri de vizualizare permit utilizarea dispozitivului haptic in 2
scene diferite, in functie de preferinta utilizatorului. Ambele moduri permit deplasarea in jurul organului pentru a facilita
analiza acestuia fara constrangeri, deplasarea facandu-se prin intermediul tastaturii si a mouse-ului.
Moduri de vizualizare ce permit palparea virtuala utilizand butonul evidentiat
15
In imaginea de mai jos este reprezentat un ficat pregatit pentru palparea virtuala, inainte ca mana sa faca
contact cu acesta.
Mod palpare, fara contact cu organul
Iar in imaginea de jos este reprezentat organul dupa ce a intrat in contact cu mana virtuala si s-a deformat
usor sub influenta acesteia, in acelasi timp oferind raspunsul haptic corespunzator zonei.
A5.4 Elaborarea manualelor de utilizare şi procedurilor de instalare pt. dispozitivul haptic
A fost realizat un manual de utilizare a dispozitivului și a aplicației de realitate virtuală, în care au fost
descrise principalele componente și modul lor de folosire.
O componenta importanta a aplicatiei haptice este interfata grafica, prin intermediul ei se realizeaza
interactiunea cu toate functiile prezente aici si implicit utilazarea aplicatiei.
Pentru ca aceasta interfata sa functioneze, ca de altfel intreaga aplicatie, aceasta este compusa din doua parti
principale, partea grafica, vizuala si partea de cod care practic o face sa functioneze.
16
Etapa de dezvoltare si configurare a elementelor de control ale obiectului de studiu din cadrul aplicatiei VIPsystem
Etapa de dezvoltare si configurare a butoanelor din cadrul aplicatiei VIPsystem
Realizarea interfetei grafice a aplicatiei haptice VIPsystem
Partea grafica a fost realizata intr-un program specific de editare grafica si importata intr-o aplicatie de tip
cross-platform game engine, prin intermediul ei aplicatia haptica VIPsystem va fi construita (dezvoltata
partea software) si rulata. Tot prin intermediul acestei aplicatii va fi dezvoltata si configurata partea de
funtionalitate si interactiune a interfetei.
Mai jos sunt prezentate niste capturi de ecran cu exemple reprezentative pentru fiecare etapa a procesului
de configurare si realizare a interfetei, utilizand aplicatia de tip cross-platform game engine.
17
Modele 3D si specificatii pentru implementare
Salonul de consultatie implementat in aplicatie
Principiul de baza ce a trebuit luat in considerare in vederea modelelor 3D create petru aplicatie, a fost
crearea unolor modele cu un numar cat mai mic de poligoane pentru a mentine functionalitatea aplicatiei.
Numarul mare de poligoane in modele va crea scaderi de fps (frames per second) astfel am folosit
metoda de a creea modele simple si de a da detaliile din texturi. Detaliile sunt necesare in astfel de modele
deoarece maresc senzatia de fotorealism aferente rezultatului final.
Detaliile includ :
- Amprente.
- Praf / zgarieturi minore aferente echipamentelor folosite moderat.
- Indentatii aferente materialelor componente ale respectivelor echipamente.
- Imperfectiuni minore ce ridica nivelul de fotorealism aferente echipamentelor.
Modelarea 3D
Modelarea 3D a fost facuta pentru fiecare piesa de echipament, luand in considerare ca numarul
de poligoane sa fie cat mai redus pentru a nu provoca probleme in scena finala implementata
( Ex : Desi peretele in scena finala este impartit in bucati de faianta, peretele este creat cu 47 de
poligoane, faianta este data din textura Normal Map ).
Dupa modelare, fiecare element este trecut prin procesul numit UVW Unwrapping
(proces prin care fiecare element este ’aplatizat’ si desfacut sub forma unor planuri 2D pe care
vor fi pictate texturile)
Ficat Model 3D Ficat UVW Map
18
Elementele modelate sunt exportate pentru implementare in 2 formate acceptate: FBX si OBJ
Este necesar ca exporturile sa fie facute dupa ce a fost efectuat procesul de UVW Unwrap pentru
a mentine coordonatele texturilor aferente modelelor.
In varianta finala exportata pentru implementare, este necesar ca obictele modelate cu topologie
din poligoane sa fie importate in aplicatie cu topologia formata din triunghiuri.
Nota : exportarea ca FBX va face triangularea obiectului automat, exportarea ca OBJ trebuie
setata pentru a face triangularea.
Texturi
Texturile au fost pictate pe baza UVW Map-urilor extrase din modelele 3D
Pentru a reda respectivele detalii au fost necesare urmatoarele texturi (Maps - Harti) :
- Albedo / Difuse Map
- Normal Map
- Specular Map
- Gloss Map
- Height Map
- Metalness Map
- AO (Ambient Occlusion Map)
(Formatele ideale pentru aceste harti este PSD/ TIFF/ TARGA)
Desi toate texturile redate mai sus au fost create, cele esentiale pentru implementare sunt:
- Albedo Map
- Normal Map
- Specular Map
- Gloss Map
Toate texturile au fost create de la zero folosind informatii corecte in ceea ce priveste particularitatile
materialelor (gradul de neteditate al suprafetelor, Indicele de reflexie, Indicele de refractie, Gradul de
umiditate, gradul de uzura, etc.)
Exemple de texturi :
Albedo Gloss Normal Specular
Exportarea triangulata a ficatului sub forma de OBJ
19
In cadrul procesului de implementare este important ca texturile aferente modelului sa fie plasate in
sloturile corecte cu valorile corecte.
Texturile esentiale pentru functionare sunt Albedo, Normal, Specular si Gloss. In fuctie de necesitate se
pot adouca si Ambient Occlusion, Height si Metalness.
Organe
Modelul 3D al ficatului extras din CT este trecut prin procesul de UVW Unwrapping dupa care ii este
aplicata textura de Albedo bruta (textura bruta este produsul din care sunt extrase Normal Map si Specular
Map)
Pentru ficatul bolnav, singurul lucru ce se schimba este aplicarea texturii bolnave peste modelul texturat
al ficatului sanatos.
In continuare vor fi prezentate cateva imagini cu modelul in 3D Max brut in stanga si cu modelul finalizat
si texturat in drapta.
Aplicatia a fost creata sa permita utilizatorului 3 moduri diferite de vizualizare a scenei, posibilitatea de a
palpa si analiza organul din orice unghi si o vedere volumetrica creata din imaginile sectiuni.
Pentru ca organele sa poata oferi feedback-ul dorit la atingere, zonele sanatoase si cele bolnave au fost
reconstruite folosind geometrii separate pentru ca proprietatile lor sa poata fi introduse corespunzator.
Primul pas a fost crearea geometriei ce ofera feedback-ul vizual, aceasta reprezinta intreg organul, cu
ambele zone (sanatoasa si bolnava). Acestei geometrii i-au fost definite proprietati(elasticitate, densitate,
zone cu sau fara constrangeri) ce ii permit ca la atingere sa se comporte ca organul real.
Urmatorul pas a reprezentat aplicarea unui script care defineste proprietatile haptice pe partile componente
ale organului. Zonele sanatoasa si bolnava au fiecare aplicat cate un script , iar parametrii au fost introdusi
Proces de implementare a modelelor in aplicatie
Model brut Ficat Model Finalizat Ficat Sanatos
20
corespunzator zonelor. Parametrii sunt: rigiditate, amortizare, frecare statica, frecare dinamica, rezistenta
tangentiala si amortizare tangentiala.
Dupa ce proprietatile haptice au fost definite, s-a trecut la definirea spatiului de lucru, pozitie si dimensiune
si deasemenea obiectul cu care se face palparea. S-a setat modul in care dispozitivul haptic reda fortele.
Pentru a completa experienta consultatiei virtuale s-a realizat o vedere volumetrica compusa din seria
imaginilor create de computerul tomograf, iar aceasta vedere volumetrica poate fi sectionata pentru o
analiza in detaliu pe axele x, y, si z. Sectiunile volumetriei pot fi controlate prin elemente grafice ale
interfetei.
Proprietatile geometriei ce replica vizual comportamentul ficatului la atingere
Proprietatile haptice ale geometriilor bolnava si sanatoasa
21
Definirea spatiului de lucru si al obiectului cu care se palpeaza Efectul fortei constante si al vascozitatii
Atribuirea geometriei cu care se realizeaza sectionarea
Volumetrie sectionata pe X, Y si Z
In imaginea de mai jos este reprezentata atribuirea shaderelor ce permit vizualizarea volumetrica,
posibilitate de reducere a calitatii pentru sporirea performantei, numarul de sectiuni si sectiunile, puterea
opacitatii volumetriei, dimensiunea imaginilor si stabilirea cubului in care se randeaza volumetria si de
asemenea a planului care sectioneaza. De asemenea de aici poate fi contolata si pozitia planului de
sectionare pe x, y, z.
22
Definirea shaderelor, numar de sectiuni, dimensiune volum, opacitate si sectionare pe X,Y,Z
A5.5 Scrierea documentaţiei premergătoare cererilor de patentare
Toate părțile implicate în procesul de dezvoltare a dispozitivului au participat la redactarea descrierii
invenției și a revendicărilor acestora.
Invenția se referă la un sistem haptic pentru palpare virtuală a formațiunilor tumorale hepatice și
pancreatice, și, în special, la un sistem alcătuit dintr-un dispozitiv computerizat care primește informații de
la computer tomograf și un elastograf, reconstruiește într-un mediu virtual electronic și afișează o
formațiune tumorală tridimensională utilizatorului, care interacționează cu aceasta prin intermediul unui
dispozitiv haptic manual capabil să simuleze deformarea țesutului tumoral.
Sistemul este deci alcătuit dintr-o unitate centrală tip computer-PC, conectat la un aparat computer tomograf
și la un ecograf dotat cu modul de elastografie, care reconstruiește informatic tumora tridimensională și
redă pe suprafața acesteia duritatea țesutului, stabilind gradul de deformabilitate. Acesta este legat de un
dispozitiv haptic manual capabil să manevreze formațiunea virtuală și să deformeze dinamic suprafața
acesteia, rezultatul fiind afișat utilizatorului iar dispozitivul recrează prin intermediul unui ansamblu de
servo-motoare și articulații mobile senzația tactilă percepută de examinator în timpul palpării tumorii.
A5.5 Înregistrarea cererii de patent la OSIM
A fost înregistrată la OSIM cererea de acordare a brevetului de invenție nr. A00911 din 28.11.2016, fiind
achitate toate taxele aferente protejării proprietății intelectuale. Titlul invenției este Sistem haptic pentru
palpare virtuală a tumorilor hepatice și pancreatice cu reconstrucție computerizată tridimensională.
Inventatorii fac parte din echipa proiectului, conform contractului inițial și a cererii de finanțare, cu
respectarea prevederilor acestora.
Director proiect
Conf. Univ. Dr. Dan Ionuț Gheonea