UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II"

Transcript

1 UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II SCUOLA POLITECNICA E DELLE SCIENZE DI BASE AREA DIDATTICA DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea in Informatica Tesi sperimentale di Laurea ANALISI DI IMMAGINI MEDICALI SU TABLET: SVILUPPO DI UNA GUI PER INTERAZIONI TOUCH Relatori PROF. GUIDO RUSSO PROF. ALBERTO ALOISIO Tutor aziendale DOTT. LUIGI GALLO Candidato GIANPAOLO BARATTO Matricola 566/2832 Anno Accademico 2012/2013

2 Alla mia famiglia

3 RINGRAZIAMENTI Ringraziamenti I primi ringraziamenti vanno al mio relatore, il Prof. Guido Russo, per la sua esemplare disponibilità, per avermi seguito con professionalità e pazienza e per essere stato un punto di riferimento per portare a termine questo lavoro. Ringrazio il Prof. Alberto Aloisio per avermi seguito con precisione durante l attività di tirocinio. Ringrazio il mio tutor aziendale, il Dott. Luigi Gallo, per tutto quello che mi ha trasmesso in questi mesi di lavoro. La sua grande passione e il suo entusiasmo contagioso mi hanno permesso di crescere sia come uomo che come studente. Ringrazio tutti i professori che ho incontrato in questi anni di studio, nessuno escluso. Grazie per quello che mi avete insegnato e per come me lo avete insegnato. Ci sono stati, come è inevitabile, momenti belli e momenti meno belli. La mia speranza è che tutti voi abbiate sempre agito in buona fede. Ringrazio i miei amici universitari per tutti i momenti passati insieme e per aver reso piacevoli anche le giornate più dure ed interminabili. Ringrazio Alessandra per essere sempre stata al mio fianco, per non aver mai smesso di credere nelle mie capacità nemmeno per un istante e per aver condiviso con me ogni vittoria ma soprattutto ogni sconfitta. Con il suo carattere genuino e la sua semplicità mi ha sempre accompagnato per mano in questo cammino. Ringrazio i miei genitori, ai quali devo tutto, per avermi sempre sostenuto ed incoraggiato ad andare avanti e per avermi insegnato più di quanto abbia fatto chiunque altro. Senza di loro niente sarebbe stato possibile. In particolare, ringrazio mia madre per avermi sempre consigliato e spronato a vedere il lato positivo di ogni cosa. Ringrazio mio padre per essere stato e per essere sempre la mia roccia, il mio porto sicuro, per avermi dato la forza di crederci, anche quando tutte le condizioni erano sfavorevoli, ed affrontare ogni avversità con determinazione e convinzione. Noi siamo più forti. Grazie di cuore. Gianpaolo Baratto I

4 INDICE Indice RINGRAZIAMENTI I INDICE II INDICE DELLE FIGURE V INTRODUZIONE 1 CAPITOLO I DIAGNOSTICA PER IMMAGINI 3 I.1 INTRODUZIONE 3 I.2 ACQUISIZIONE DEI DATI 5 I.2.1 ECOGRAFIA DIGITALE (DE) 5 I.2.2 TOMOGRAFIA ASSIALE COMPUTERIZZATA (CT) 6 I.2.3 RISONANZA MAGNETICA NUCLEARE (MRI) 7 I.2.4 ANGIOGRAFIA DIGITALE (CA) 8 I.2.5 IMAGING IN MEDICINA NUCLEARE 9 I.3 FORMATI PROPRIETARI E FORMATO DICOM 9 I.4 INTERPRETAZIONE DEI RISULTATI 12 I.4.1 FILTRAGGIO E RISTRUTTURAZIONE 13 I REGISTRAZIONE 14 I.4.2 CLASSIFICAZIONE 15 I SEGMENTAZIONE 15 I.4.3 RICOSTRUZIONE E VISUALIZZAZIONE 3D 19 I ESTRAZIONE DI ISOSUPERFICI 20 I CLASSIFICAZIONE BINARIA DEI VOXEL 21 I DIRECT VOLUME RENDERING 21 I.4.4 VISUALIZZAZIONE FINALE 22 I.5 SOFTWARE PER L ANALISI DI IMMAGINI MEDICALI SU TABLET 23 I.6 ATTIVITÀ DI RICERCA PRESSO IL CNR 30 II

5 INDICE CAPITOLO II MITO MEDICAL IMAGING TOOLKIT 34 II.1 INTRODUZIONE 34 II.2 ARCHITETTURA SOFTWARE 35 II.3 ANALISI DELLE FUNZIONALITÀ 36 II.3.1 FUNZIONALITÀ BASE 37 II.3.2 FUNZIONALITÀ PER L INTERAZIONE CON UN SISTEMA PACS 39 II.3.3 FUNZIONALITÀ 2D 40 II.3.4 FUNZIONALITÀ 3D 43 II.3.5 FUNZIONALITÀ IN REALTÀ VIRTUALE 44 II.3.6 CONFRONTO CON OSIRIX 46 II.4 API OPEN SOURCE E CROSS PLATFORM 47 II.4.1 VANTAGGI DELL'OPEN SOURCE E DEL CROSS PLATFORM 48 II.4.2 CARATTERISTICHE COMUNI DI ITK E VTK 50 II ARCHITETTURA PIPELINE 51 II ESECUZIONE DELLA PIPELINE 53 II.4.3 WXWIDGETS 55 II.5 PORTING DI MITO SU PIATTAFORME MOBILI 56 II.5.1 ANALISI E SCELTA DELLA PIATTAFORMA 56 II SISTEMI MICROSOFT WINDOWS 8/ WINDOWS 8 RT BASED 56 II PORTING COME DESKTOP APP DI WINDOWS 8 57 II PORTING COME APP METRO STYLE DI WINDOWS STORE 59 II SISTEMI ANDROID/IOS BASED 60 II SCELTE IMPLEMENTATIVE 62 II.5.2 IMPLEMENTAZIONI DI INTERAZIONI TOUCH SU WINDOWS 8 63 II WM_POINTER 64 II WM_GESTURE 66 II WM_TOUCH 67 II SCELTE IMPLEMENTATIVE 68 III

6 INDICE CAPITOLO III ANALISI E PROGETTAZIONE DELL'APPLICAZIONE 70 III.1 INTRODUZIONE 70 III.2 REQUISITI FUNZIONALI 70 III.2.1 DIAGRAMMA DEI CASI D USO 71 III.3. CLASSI INDIVIDUATE 85 III.3.1 INTERFACCIA GRAFICA 85 III.3.2 INTERAZIONI TOUCH 90 III.4 MOCKUP DELL INTERFACCIA GRAFICA 92 CAPITOLO IV REALIZZAZIONE DELL APPLICAZIONE 95 IV.1 INTRODUZIONE 95 IV.2 IMPLEMENTAZIONE DELL INTERFACCIA GRAFICA 95 IV.2.1 MITO APP 95 IV.2.2 MAIN GUI 97 IV.2.3 2D GUI 117 IV.2.4 VOLUME RENDERING GUI 132 IV.2.5 SURFACE RENDERING GUI 152 IV.3 IMPLEMENTAZIONE DELLE INTERAZIONI TOUCH 166 IV.4 ESEMPIO D USO 180 CONCLUSIONI E SVILUPPI FUTURI 196 BIBLIOGRAFIA 198 WEBGRAFIA 201 IV

7 INDICE DELLE FIGURE E DELLE TABELLE Indice delle figure 1 Architettura software per la diagnostica per immagini 1 2 Formato DICOM Processo di trattamento dei dati medicali 12 4 Processo di classificazione 16 5 Splash screen di Osirix HD 24 6 Osirix HD: setup 25 7 Osirix HD: schermata principale 26 8 Osirix HD: sezione Viewer 26 9 Osirix HD: sezione Q&R Osirix HD: ricerca di esami in PACS ENDEAVOR Mobile 3.0: splash screen e voice dictation report ENDEAVOR Mobile 3.0: PACS e DICOM Viewer LEADTOOLS DICOM Viewer: strumenti (1) LEADTOOLS DICOM Viewer: strumenti (2) Interfaccia Wiimote: uni-modal Interfaccia Wiimote: multi-modal Interfaccia gesture-based: Data Glove Sala operatoria informatizzata Interfaccia gesture-based: touchless Architettura di MITO MITO: interfaccia utente principale MITO: anonymize MITO: dialog PACS Query/Retrieve MITO: dialog Send to PACS MITO: 2D Viewer MITO: regole di fusione MITO: dialog Image Fusion Settings MITO: processo di image fusion MITO: Volume Rendering MITO: Surface Rendering Occhiali anaglifici Occhiali e proiettori per polarizzazione passiva Shutter glasses per la polarizzazione attiva Microsoft Xbox Kinect Confronto con OsiriX (1) 46 V

8 INDICE DELLE FIGURE E DELLE TABELLE 36 Confronto con OsiriX (2) Tipi di Process Object nella pipeline di ITK E VTK Molteplicità degli ingressi e delle uscite delle pipeline di ITK e VTK Esecuzione parziale di una pipeline Windows 8 Desktop app gesture Windows Store Esempio di GUI Android Porting di MITO: scheda riassuntiva Confronto tra i diversi tipi di messaggi Diagramma dei casi d uso: Main GUI Diagramma dei casi d uso: 2D GUI Diagramma dei casi d uso: Volume Rendering GUI Diagramma dei casi d uso: Surface Rendering GUI Class Diagram: wxmitoapp Class Diagram: wxmaingui Class Diagram: wx2dgui Class Diagram: wxvolumerenderinggui Class Diagram: wxsurfacerenderinggui Touch gesture Class Diagram: appwxvtkinteractor Mockup: splash screen Mockup: Main GUI (1) Mockup: Main GUI (2) Mockup: 2D GUI Mockup: Volume Rendering GUI Mockup: Surface Rendering GUI Interazioni touch: pinch to zoom (1) Interazioni touch: pinch to zoom (2) Interazioni touch: pan (1) Interazioni touch: pan (2) Interazioni touch: rotate (1) Interazioni touch: rotate (2) Esempio d uso: splash screen Esempio d uso: Main GUI (1) Esempio d uso: Main GUI (2) Esempio d uso: Main GUI (3) Esempio d uso: Main GUI (4) 182 VI

9 INDICE DELLE FIGURE E DELLE TABELLE 73 Esempio d uso: Main GUI (5) Esempio d uso: 2D GUI (1) Esempio d uso: 2D GUI (2) Esempio d uso: 2D GUI (3) Esempio d uso: 2D GUI (4) Esempio d uso: 2D GUI (5) Esempio d uso: 2D GUI (6) Esempio d uso: 2D GUI (7) Esempio d uso: Volume Rendering GUI (1) Esempio d uso: Volume Rendering GUI (2) Esempio d uso: Volume Rendering GUI (3) Esempio d uso: Volume Rendering GUI (4) Esempio d uso: Volume Rendering GUI (5) Esempio d uso: Volume Rendering GUI (6) Esempio d uso: Volume Rendering GUI (7) Esempio d uso: Volume Rendering GUI (8) Esempio d uso: Volume Rendering GUI (9) Esempio d uso: Volume Rendering GUI (10) Esempio d uso: Volume Rendering GUI (11) Esempio d uso: Volume Rendering GUI (12) Esempio d uso: Volume Rendering GUI (13) Esempio d uso: 2D GUI (8) Esempio d uso: Surface Rendering GUI (1) Esempio d uso: Surface Rendering GUI (2) Esempio d uso: Surface Rendering GUI (3) Esempio d uso: Surface Rendering GUI (4) 195 VII

10 INTRODUZIONE Introduzione La medicina utilizza costantemente gli strumenti tecnologici che la scienza mette a disposizione per una sempre più completa comprensione dei fenomeni che avvengono nel corpo umano. Negli ultimi decenni, alle varie discipline scientifiche si è affiancata l'informatica. La potenza di calcolo, la possibilità di modellizzare i fenomeni complessi, di memorizzare e recuperare con grande rapidità le informazioni e di rappresentare visivamente realtà complesse sono solo alcuni dei vantaggi apportati dall informatica. Molte delle attività condotte presso la sede di Napoli dell'istituto di Calcolo e Reti ad Alte Prestazioni (ICAR) del Consiglio Nazionale delle Ricerche (CNR), presso il cui laboratorio è stato svolto il presente lavoro di tesi, hanno una loro finalizzazione applicativa nella realizzazione di un ambiente di realtà virtuale immersiva di supporto alla diagnostica per immagini. Questa tesi, infatti, si colloca nell'ambito dell attività di ricerca relativa allo sviluppo di un software Open Source e Cross Platform per la visualizzazione, l analisi e l elaborazione di immagini medicali. Il software di base messo a disposizione è stato sviluppato nel corso di diversi anni di lavoro da un gruppo di ricercatori e vanta un numero considerevole di funzionalità. L architettura su cui si basa il sistema è mostrata in Figura 1. Figura 1 Architettura software per la diagnostica per immagini 1

11 INTRODUZIONE L obiettivo di questo lavoro, dopo aver fatto uno studio sul dominio applicativo, è quello di effettuare un porting di questo software su dispositivi tablet. Sarà fatta un analisi delle possibili strategie implementative da seguire e si sceglierà quella più conveniente. Successivamente sarà progettata e realizzata una GUI per interazioni touch in grado di mantenere il considerevole numero di funzionalità preesistenti e di aggiungerne delle nuove. Si fa presente che i display dei tablet, essendo sprovvisti della certificazione appropriata, non sono adatti alla refertazione medica. 2

12 CAPITOLO I DIAGNOSTICA PER IMMAGINI Capitolo I Diagnostica per immagini Gli ultimi venti anni hanno marcato l'avvento di sistemi medicali per l'acquisizione di immagini che possono facilmente generare, utilizzando metodi non-invasivi, informazioni tridimensionali sugli organi interni di persone viventi. La disciplina che studia l'applicazione di tali tecniche si è ormai affermata come un campo di ricerca a sé stante noto con il nome di Diagnostica per Immagini (Medical Imaging). I compiti di questa disciplina consistono essenzialmente nel connettere e ulteriormente sviluppare le conoscenze acquisite in campi tra loro diversi e complementari come l'elaborazione di immagini e la visualizzazione scientifica [BIGOTTI]. In questo capitolo, dopo aver analizzato gli aspetti più interessanti della materia, si analizzerà lo stato dell arte e si descriveranno le attività di ricerca presso il CNR. I.1 Introduzione La diagnostica per immagini è un processo generico attraverso il quale è possibile osservare un area di un organismo non visibile dall esterno. Storicamente nasce qualche anno dopo la scoperta dei raggi X da parte del fisico tedesco Roentgen, avvenuta nel Questi raggi vennero chiamati <<X>> proprio perché si trattava di radiazioni ignote, di cui non si conosceva l origine. La diagnostica per immagini ha avuto negli ultimi decenni un forte impulso, dovuto alle nuove metodologie d impiego degli stessi raggi X, che hanno portato alla Tomografia Assiale Computerizzata, all'impiego d ultrasuoni (ecografia), di radio isotopi (scintigrafia, PET), alla scoperta dei fenomeni di risonanza magnetica ecc. In tutti questi casi si pone in primo luogo il problema di fornire all'utente finale, sia esso medico o 3

13 CAPITOLO I DIAGNOSTICA PER IMMAGINI paramedico, uno strumento d impiego sufficientemente agevole e sicuro, per utilizzare appieno queste grandi potenzialità diagnostiche messe a disposizione dall'evoluzione scientifica e tecnologica. La visualizzazione di immagini medicali, infatti, impegna il più importante apparato sensoriale umano che è quello della vista e di conseguenza il relativo processo interpretativo della mente umana che costituisce un mezzo semplice ed efficace per comunicare informazioni complesse e ricche di contenuti. Il presupposto fondamentale è che i dati raccolti dai sensori che analizzano i fenomeni non siano alterati durante la fase d elaborazione che deve consentire all'operatore la più ampia disponibilità di mezzi atti ad esaltare la comprensione dei fenomeni. Con la diffusione delle prime macchine per tomografia assiale computerizzata negli anni '70, si è assistito ad un'evoluzione sempre più veloce delle modalità con cui si acquisiscono, si conservano e si analizzano le immagini necessarie a determinare una diagnosi medica. Il cambiamento sostanziale, rispetto alle metodologie tradizionali, è stato il passaggio da informazioni analogiche, statiche e bidimensionali come quelle date dalle normali immagini radiografiche (raggi X) ad informazioni numeriche, eventualmente dinamiche e contenenti informazioni tridimensionali. L'elemento determinante che ha permesso quest evoluzione è stata la transizione da sistemi basati su pellicola, come gli apparecchi radiografici, a sistemi basati su computer. In particolare, gli sviluppi più clamorosi, in quest'ambito, si sono avuti grazie al contributo della medicina nucleare che, con l'impiego dei traccianti radioattivi, ha trasformato profondamente la diagnosi medica. I due piú comuni tipi di macchinari utilizzati come strumenti diagnostici in medicina nucleare sono la SPECT (Single Photon Emission Computed Tomography) e la PET (Positron Emission Tomography), che utilizzano come traccianti, rispettivamente, degli emettitori di fotoni e degli emettitori di positroni. La conseguenza di questo sviluppo è stata la necessità di generare degli algoritmi e delle metodologie 4

14 CAPITOLO I DIAGNOSTICA PER IMMAGINI d interpretazione dei dati acquisiti che simulino al meglio la conoscenza del radiologo, che resta, ancora oggi, di gran lunga il più efficiente sistema d elaborazione dei dati medicali conosciuto. Si tratta, quindi, di realizzare, in un sistema computerizzato, le stesse operazioni che un radiologo opera sui dati a sua disposizione: eliminazione del rumore (in pratica evitare di prendere in considerazione gli artifici introdotti dal macchinario d acquisizione), identificazione dei diversi tessuti e/o regioni di interesse (confrontando regioni tra loro limitrofe e sfruttando informazioni morfologiche ed anatomiche) e ricostruzione della situazione reale tridimensionale a partire da molteplici dati bidimensionali [SONKA]. Queste operazioni, in effetti, sono spesso compiute dal radiologo in collaborazione con lo specialista della patologia studiata (il neurochirurgo, l'oncologo, il chirurgo plastico etc.) [BANK]. Seppure oggi sia possibile affermare poter compiere diagnosi assistite da calcolatore, siamo ancora molto lontani da una situazione ideale in cui si possano ottenere dei risultati affidandosi solamente alle capacità di calcolo di un computer. I.2 Acquisizione dei dati In questa sezione sono descritti brevemente alcuni tra i macchinari odierni più utilizzati per l acquisizione dei dati medicali e le loro principali caratteristiche tecniche. I.2.1 Ecografia Digitale (DE) Le tecniche ecografiche non utilizzano radiazioni ionizzanti, ma di onde acustiche (ultrasuoni) e si basano sul principio dell'emissione di eco e della trasmissione delle onde ultrasonore Un fascio d onde acustiche ad alta frequenza è diretto all'interno del corpo, le onde riflesse dai diversi tessuti sono poi captate da un trasduttore posto sulla superficie del corpo e trasformate in immagini, successivamente 5

15 CAPITOLO I DIAGNOSTICA PER IMMAGINI digitalizzate e visualizzate con una scala di grigi che restituisce l'immagine ecografica classica. I dati ottenuti vengono poi elaborati secondo un interpretazione che correla i tempi di ritardo alle distanze e l'intensità del segnale alle densità del tessuto. In questo modo è possibile realizzare un immagine tridimensionale degli organi effettuando un rendering delle superfici esterne ed, eventualmente, rappresentando i volumi con opacità proporzionale alla densità per poterle osservare nello spazio da diversi punti di vista. Tale metodica viene considerata come esame di base prioritario rispetto a tecniche di imaging più complesse come TAC, imaging a risonanza magnetica, angiografia. Attualmente, l ecografia viene utilizzata routinariamente in ambito radiologico, internistico, chirurgico e ostetrico. La sua diffusione è stata favorita dalla innocuità, dalla relativa economicità e, soprattutto, dalla sensibilità diagnostica per le patologie degli organi costituiti da tessuti molli. Il limite principale dell ecografia è rappresentato dal fatto che essa è operatore-dipendente: affinché le informazioni ricavabili da uno studio ecografico siano correttamente interpretate, si richiedono particolari doti di manualità e spirito di osservazione, oltre a cultura dell immagine ed esperienza clinica [ECOGRAFIA]. I.2.2 Tomografia Assiale Computerizzata (CT) I tomografi CT sono le apparecchiature digitali più utilizzate nella diagnostica per immagini, sono relativamente poco costosi e la maggior parte degli ospedali ne sono dotati. L'output di un tomografo CT è una serie di matrici transassiali (slice) allineate perpendicolarmente all'asse definito dalla spina dorsale del paziente. Ogni slice rappresenta una fetta del corpo del paziente di un determinato spessore (tipicamente 1-10 mm). Schematicamente, l acquisizione avviene facendo ruotare una serie di emettitori di raggi X e una serie di rilevatori, tra loro solidali, attorno al corpo del paziente. Per la maggior parte dei tomografi la risoluzione ottenibile per ciascuna matrice varia da 64x64 a 512x512 6

16 CAPITOLO I DIAGNOSTICA PER IMMAGINI pixel 1. La dimensione di ciascun pixel può variare nell'intervallo mm ed è omogenea nel piano transassiale. Il numero di slice varia in funzione della distanza tra le sezioni e dell'estensione dell'organo da esaminare. Ciascun pixel idealmente rappresenta le caratteristiche d assorbimento di un piccolo volume del corpo umano individuato dai limiti fisici del pixel stesso. Al momento la CT è l'unica tecnica per cui si è definita un unità di misura standard (nota come Hounsfield Unit o HU dal nome dell inventore del tomografo TC), che ha, come riferimento, l'acqua (0 HU) e vale, ad esempio per l'aria e sopra 200 HU per le ossa. I moderni tomografi riescono ad acquisire una slice in 1-5 secondi. L'intero processo d acquisizione richiede, in media, slice, con un tempo che va dai 5 ai 15 minuti e la dose di radiazioni da CT è comparabile con quella di una serie di tradizionali lastre a raggi X [HSIEH]. I.2.3 Risonanza Magnetica Nucleare (MRI) La Risonanza Magnetica Nucleare è, come tecnologia, molto più recente rispetto alla CT ed è tuttora in piena evoluzione. È stata sviluppata dall'americano Paul Lauterbur e dall'inglese Peter Mansfield che, hanno vinto, nel 2003 il premio Nobel per la Medicina. Essa offre caratteristiche uniche rispetto a tutte le altre tecniche di acquisizione in Medical Imaging. In una MRI il paziente è posto all'interno di un campo magnetico ad alta intensità che fa sì che i momenti magnetici delle molecole del paziente si allineino alla direzione del campo esterno. Il paziente è poi irradiato con una serie d impulsi di microonde (a basso livello di radiazione) chiamati impulsi d eccitazione che generano un oscillazione dei momenti magnetici delle molecole precedentemente allineati; in questo modo le molecole cominciano a loro volta a riemettere microonde dopo ogni impulso. Le riemissioni sono misurate 1 Pixel: area elementare analizzata dall'emettitore/rilevatore. Poiché rappresentata un volume elementare (superficie per spessore delle slice) viene definito nel Medical Imaging come Voxel. 7

17 CAPITOLO I DIAGNOSTICA PER IMMAGINI dal tomografo che è in grado di stabilire la localizzazione spaziale delle sorgenti delle microonde riemesse. Il tempo necessario ad ottenere una scansione completa è di circa 5-10 minuti. I dati così ricavati rappresentano varie caratteristiche dell emissione molecolare. Modificando alcuni parametri di controllo del dispositivo quali, ad esempio, la frequenza, il tempo d emissione dell'impulso eccitante, il tempo di ritardo passato per ottenere l'impulso in ritorno, è possibile individuare particolari tipi di molecole, movimenti delle molecole stesse (sangue che fluisce nei vasi) e varie altre caratteristiche. L'output di un tomografo MRI è simile a quello delle CT salvo che le slice rappresentanti fette dell'oggetto sottoposto a scansione possono essere ottenute o su piani transassiali (esattamente come nelle CT) o su piani orientati in qualsiasi modo nello spazio (cosa non possibile per le CT attuali) [LIANG]. I.2.4 Angiografia Digitale (CA) La tecniche di angiografia digitale si basano sulla ricostruzione radiologica computerizzata di immagini vascolari. Queste sono ottenute mediante un sistema radiologico tradizionale con annessa telecamera e digitalizzazione delle informazioni. Sottraendo ai fotogrammi l'immagine ottenuta prima dell'introduzione del mezzo di contrasto, vengono eliminate le strutture statiche dell'immagine, come ossa ed altri organi (che appaiono con la stessa intensità prima e dopo l'introduzione dell'agente di contrasto), e si ottiene una maggiore nitidezza dei vasi sanguigni. Questa tecnica, detta DSA (Digital Subtraction Angiography), non può essere applicata allo studio del cuore. Grazie a questo nuovo tipo di procedura è stato possibile rendere meno traumatico l'esame rispetto all'angiografia tradizionale, diminuendo i tempi di lavoro e l'esposizione del paziente alle radiazioni. 8

18 CAPITOLO I DIAGNOSTICA PER IMMAGINI I.2.5 Imaging in medicina nucleare Quando si parla di medicina nucleare, ci si riferisce a tecniche in cui una sostanza radioopaca è immessa nel corpo del paziente da esaminare, permettendo così di rilevare il livello di radiazioni da essa e messo all'interno del corpo. La maggiore differenza rispetto alla CT è data dalla posizione della sorgente radioattiva: in una CT è esterna al paziente e posta in posizione nota, in medicina nucleare è interna al paziente ed in posizione a priori sconosciuta. L'uso di centinaia di diverse sostanze radioattive permette un'ampia flessibilità di utilizzo per rilevare fenomeni metabolici tra i più diversi (si può ad esempio tracciare il metabolismo di sostanze quali il glucosio, od osservare il circolo sanguigno marcando l'emoglobina). Tecniche che sono al confine tra medicina nucleare e radiologia sono tutte quelle che adoperano materiali radioopachi durante acquisizioni effettuate con CT. In questo caso il materiale iniettato non è fonte di emissione di radiazioni ma serve ad aumentare il contrasto tra certi tessuti e quelli che li circondano. Un esempio di tecnica di medicina nucleare è la tomografia ad emissione di positroni (PET). Questa permette di localizzare con precisione a livello cellulare una sostanza marcata con un radioisotopo che emette positroni e viene utilizzata prevalentemente nella diagnosi oncologica, ma anche in quella neurologica e cardiologia. I.3 Formati proprietari e formato DICOM Nel momento in cui le varie case produttrici di macchine TC e MRI hanno iniziato ad utilizzare le immagini digitali, ogni costruttore ha implementato proprie codifiche per la produzione delle immagini stesse. Tali codifiche cambiano da costruttore a costruttore, e anche da modello a modello. Tali tipi di formato sono detti proprietari, nel senso che sono sviluppati dal costruttore per il suo uso esclusivo e non sono solitamente resi pubblici. 9

19 CAPITOLO I DIAGNOSTICA PER IMMAGINI Normalmente, nessuna garanzia è fornita dal costruttore riguardo alla possibilità di scambiare dati in tali formati con l esterno. Di fatto, l uso di un formato proprietario per le immagini digitali vincola all utilizzo di software e hardware prodotto dal costruttore della macchina e non dà alcuna garanzia sulla possibilità di continuare ad accedere ai dati salvati in caso di sostituzione della macchina stessa. Inoltre, lo scambio di dati con altri centri è estremamente difficoltoso se non impossibile. Per superare le limitazioni insite nell uso di formati proprietari, è stato sviluppato negli ultimi anni un formato comune DICOM (Digital Imaging and Communications) per la trasmissione tra apparecchiature diverse (macchine per acquisizione, computer, stampanti, archivi digitali, etc.) di immagini digitali di tipo biomedico e di informazioni medico-sanitarie, mediante la definizione di un protocollo di comunicazione, che fa uso di tecnologie e protocolli di rete standard. Tale formato, fortunatamente, è utilizzato da quasi tutte le macchine più recenti [BID]. Il progetto originario è stato sviluppato da due associazioni statunitensi: The American College of Radiology (ACR) [ACR], responsabile dello sviluppo tecnico-medico del sistema, e il National Electrical Manufacturers Association (NEMA) [NEMA], un consorzio diproduttori responsabile tra l altro degli aspetti inerenti eventuali violazioni di brevetti e normative. Nel 1985 fu ufficializzata la versione 1.0 dello standard ACR-NEMA a cui seguì nel 1988 la versione 2.0: si trattava di un primitivo standard in cui era definito il formato dei file contenenti le immagini e lo standard fisico e di protocollo per l'interconnessione punto-punto delle varie apparecchiature. Le implementazioni tuttavia furono piuttosto limitate, soprattutto a causa del mezzo fisico di connessione realizzato con tecnologie già per l'epoca obsolete. Nel 1993 lo standard ACR-NEMA si trasformò radicalmente nella versione 3.0 [DICOM] nella quale, mantenendo sostanzialmente 10

20 CAPITOLO I DIAGNOSTICA PER IMMAGINI immutate le specifiche inerenti il formato delle immagini, furono aggiunti numerosi servizi ed implementati i protocolli di rete TCP 2 /IP 3 : il nuovo standard fu identificato con il termine DICOM, e proprio l'integrazione nelle specifiche del protocollo di rete TCP/IP, ormai largamente diffuso, ne decretò un successo ed una popolarità sempre crescenti. Il formato DICOM (Figura 2) è costituito da un header contenente campi liberi, definiti dal DICOM dictionary, e da un corpo utilizzato per l'archiviazione delle immagini. Figura 2 Formato DICOM 3.0 Il DICOM dictionary è definito da ciascuna casa produttrice di apparecchiature medicali ed ognuna di loro utilizza l'header DICOM 2 TCP (Trasmission Control Protocol) è un protocollo di trasporto, definito in [RFC793]. 3 IP (Internet Protocol) è un protocollo di rete, definito in [RFC791] 11

21 CAPITOLO I DIAGNOSTICA PER IMMAGINI secondo le proprie esigenze. Il corpo può essere utilizzato per contenere una o più immagini. Gli standard utilizzati per la compressione di tali immagini includono JPEG 4, LZW 5 e RLE 6. Lo standard DICOM è in continua evoluzione ed è aggiornato sotto le indicazioni del Procedures of the DICOM Standards Committee. I.4 Interpretazione dei risultati In Figura 3 è mostrato il processo di trattamento dei dati medicali dall acquisizione alla visualizzazione finale. Figura 3 Processo di trattamento dei dati medicali L'interpretazione dei dati biomedicali richiede un'integrazione di tecniche di elaborazione di immagine e di visualizzazione bidimensionale e tridimensionale. 4 JPEG (Joint Photographic Experts Group) è uno standard internazionale di compressione per immagini a tono continuo, sia a livelli di grigio che a colori [JPEG]. 5 LZW (Lempel Ziv Welch) è un algoritmo di compressione dati sorprendentemente semplice: durante la fase di compressione, stringhe di caratteri vengono sostituite da semplici codici. 6 RLE (Run-length encoding) è storicamente il primo algoritmo di compressione per le immagini inventato, utilizzato nei fax ben prima che le elaborazioni grafiche al computer fossero un'attività comune. 12

22 CAPITOLO I DIAGNOSTICA PER IMMAGINI Lo scopo della visualizzazione è, infatti, quello di rendere interpretabili nel miglior modo possibili i dati acquisiti dai macchinari descritti in precedenza. È ovvio che si possano avere molteplici livelli di restituzione a seconda delle caratteristiche che si vogliono esaminare e dei mezzi che si hanno a disposizione (hardware e software). Il metodo più diffuso d analisi dei dati consiste nel prendere in considerazione le varie slice bidimensionali ottenute ed analizzarle come se fossero radiografie. Risultati migliori si possono ottenere ricostruendo viste tridimensionali dei dati, interagendo con il modello, eventualmente ricorrendo alla visione stereoscopica o generando animazioni. Una comprensione ancora più approfondita si può avere ricorrendo a tecniche ancor più sofisticate come la simulazione d operazioni complesse sui dati o la visione ad immersione completa (realtà virtuale). I.4.1 Filtraggio e Ristrutturazione La prima fase di trattamento delle immagini consiste, come generalmente avviene in caso di post-processing di immagini digitali,nell eliminazione dalle immagini, per quanto possibile, del rumore introdotto dai macchinari di acquisizione. Nel caso di immagini medicali si ha un ulteriore problema dato che il soggetto analizzato è un organismo vivente e quindi, durante il periodo di acquisizione (che può durare alcuni minuti), pur con tutti gli accorgimenti adottati per assicurare l'immobilità, modifica la sua forma. Questo, ad esempio, è uno dei motivi per cui la maggior parte delle ricerche condotte sino ad oggi in questo campo si sono concentrate sul fornire ausilio alla chirurgia ortopedica o alla neurochirurgia; quando si tratta, infatti, di effettuare analisi su ossa o sul cranio e sul suo contenuto si hanno disturbi scarsi o nulli dovuti al movimento del paziente. Una soluzione a questi problemi può venire dalla velocità dei macchinari d acquisizione. La riduzione a pochi secondi del tempo di 13

23 CAPITOLO I DIAGNOSTICA PER IMMAGINI scansione potrebbe, infatti, consentire di acquisire un intero volume di dati mentre il paziente trattiene il respiro (come avviene usualmente per una radiografia). I Registrazione La registrazione è il processo che consente di determinare una corrispondenza tra dati non omogenei. Qualora le immagini presentino problemi d allineamento, dovuti a movimenti del paziente o a tecniche di digitalizzazione manuali, si rende necessario un passo preliminare di image registration [ART1] e [REGIST], per il quale sono oggi disponibili programmi automatici o semiautomatici. Questo procedimento si avvale prevalentemente di algoritmi di tipo optical flow (features tracking) [LR] o mutua informazione [MBR]. La registrazione può rappresentare un processo costoso in termini di complessità computazionale. Alcuni sistemi mettono a disposizione tecniche di multiresolution registration ampiamente utilizzate per migliore l'accuratezza e per ottimizzare la resa del risultato finale del processo di registrazione. Con tale tecnica, gli algoritmi di registrazione sono eseguiti dapprima nei punti in cui l'immagine presenta un minore numero di pixel significativi, con un livello di accuratezza molto basso ei passi di elaborazione sono iterati fino a raggiungere il massimo livello di dettaglio là dove l'immagine presenta un numero maggiore di pixel significativi. Volendo dare una definizione più generale di registrazione possiamo descriverla come l applicazione di una trasformazione ad un entità tale che alcune delle sue proprietà diventino congruenti con quelle di un entità di riferimento. Le principali applicazioni nell ambito biomedico riguardano: registrazione di dati di uno stesso paziente acquisite mediante modalità diverse (Multi Modality Image Registration); 14

24 CAPITOLO I DIAGNOSTICA PER IMMAGINI registrazione di dati relativi a pazienti diversi oppure di dati acquisiti in età diverse di uno stesso paziente; registrazione funzionale alla segmentazione, che prevede la registrazione con un atlante, cioè un insieme di dati più esteso e standardizzato che può contenere informazioni riguardo la funzionalità o la topologia dei vari organi. Come esposto in [MBR] è conveniente pensare la registrazione come il moto di un insieme di dati verso l altro, in questo modo possiamo classificare le varie tecniche in base a due fattori: il tipo di moto che determina quali trasformazioni sono permesse e il potenziale d attrazione che indica da quali forze il moto è guidato. Una volta che l'insieme di dati è stato ripulito, riallineato e le varie slice sono state più o meno omogeneizzate tra di loro, si passa alla seconda fase del processo che comporta ancora l'applicazione di tecniche di elaborazione dell'immagine: la classificazione dell'immagine. I.4.2 Classificazione Per classificazione s intende la suddivisione dell'immagine in regioni tra loro omogenee, secondo parametri che sono stabiliti da chi la esegue. Per fare un esempio che renda l'idea del procedimento, s immagini di avere una fetta bidimensionale di un cranio, all'interno dell'immagine si possono riconoscere, in una situazione non patologica,una serie di tessuti che variano dalla pelle, alle ossa, al grasso, alla materia grigia ed alla materia bianca, per non parlare di tessuti che sono più difficilmente classificabili, come i vasi sanguigni ed il tessuto connettivo, perché presenti in agglomerati di dimensioni molto piccole. I Segmentazione Il procedimento di segmentazione è la prima fase della classificazione e consiste nel suddividere l'immagine in una serie di 15

25 CAPITOLO I DIAGNOSTICA PER IMMAGINI regioni primitive tra loro topologicamente connesse, la fase successiva consiste nel catalogare ogni singola regione ed accorpare tra loro quelle che corrispondono allo stesso tessuto. In Figura 4 si può vedere l'immagine originale ottenuta da CT, la stessa immagine dopo che è stata segmentata dando origine a 32 regioni primitive e l'immagine classificata dove le regioni sono ridotte a 3: aria, osso ed altri tessuti. Figura 4 Processo di classificazione Il procedimento di segmentazione è molto importante per almeno due motivi. In primo luogo, permettendo di individuare regioni omogenee, consente di effettuare con estrema facilità delle misurazioni morfometriche altrimenti estremamente complesse; si pensi, ad esempio, alla possibilità di calcolare, con ragionevole precisione, il volume di una massa tumorale a partire da dati tridimensionali ed a quanto ciò possa essere d ausilio alla pianificazione della terapia radiante o di un intervento chirurgico. In secondo luogo consente di classificare i dati a disposizione in maniera tale che siano più facilmente utilizzabili nel seguito. Allo stato dell'arte esistono molteplici metodi che consentono di ottenere i risultati mostrati. Si possono suddividere in tre categorie: manuali, semi-automatici ed automatici. La prima categoria include tutte quelle tecniche, dove l utente non è assistito, in alcun modo, durante il processo di segmentazione: è lui stesso che deve marcare le differenti ROI con il mouse o altri dispositivi. 16

26 CAPITOLO I DIAGNOSTICA PER IMMAGINI La seconda categoria contempla, invece, tutti quegli algoritmi che aiutano l utente durante il processo di segmentazione. Per esempio,l utente marca dei punti significativi nell immagine che sa appartenere a regioni differenti ed è poi il processo di segmentazione, in modo automatico, a trovare nuovi punti, partendo da quelli selezionati manualmente. Della terza categoria fanno, invece, parte tutte quelle tecniche che non richiedono un particolare input da parte dell utente. Un processo di segmentazione totalmente automatico generalmente deve avere delle conoscenze circa le strutture presenti nell immagine, questo perché un computer non ha idea di quello che sta vedendo. Un criterio per eseguire un processo di segmentazione automatico, è quello che si basa sulla selezione dei livelli di grigio anziché sulla topologia o la disposizione spaziale dei punti. Nei casi di difficile interpretazione sono utilizzati i metodi manuali,altrimenti si utilizzano i semi-automatici, che sono i preferiti, perché molto sicuri (è difficile per un programma fare errori se si richiede di colorare un pixel selezionato) e semplici da comprendere ed utilizzare rispetto ai metodi automatici, ancora estremamente fragili. Le tecniche di segmentazione possono essere suddivise in due categorie: Tecniche di estrazione di regioni (ossa, parti molli, ecc.): sfogliatura (threshold) e region growing. Tecniche di estrazione di contorni: marching cubes, modelli deformabili snakes, modelli deformabili baloon. La sogliatura è un operazione di selezione in base ai toni di grigio. Il risultato è un immagine binaria composta di regioni e produce deibuoni risultati quando l oggetto d interesse è separato dallo sfondo dell immagine. Il principale svantaggio, di tale tecnica di segmentazione, è la mancanza di un possibile adattamento locale. Sono rari i casi in cui il metodo del thresholding fornisce dei risultati ottimali; 17

27 CAPITOLO I DIAGNOSTICA PER IMMAGINI per questa ragione in genere è richiesta una successiva elaborazione dell immagine, elaborazione che tipicamente fa uso di algoritmi matematici di morfologia come erosione e dilatazione [HASSAN] e [LAVAG]. Il region growing è una tecnica che prende in considerazione le caratteristiche dell'immagine per raggruppare i voxel e formare regioni secondo un criterio d omogeneità. Partendo da alcune regioni iniziali (fase di suddivisione), queste sono fuse (fase di fusione) per costituire regioni più estese, fino a quando il procedimento è possibile. Questi metodi forniscono una regione chiusa e di conseguenza un contorno chiuso. Il loro problema è la difficile implementazione [CHANG] e [ZAMP]. Il marching cubes è una tecnica per la costruzione di iso-superfici 3D. L'algoritmo originale è stato proposto da Lorensen e Cline [LOR] e prevede due passi: 1. s individua la superficie corrispondente ad un determinato valore e si creano i triangoli; 2. per assicurare la qualità dell'immagine si calcolano le normali alla superficie nei vertici di ogni triangolo, in modo da poter applicare, ad esempio, un gouraud shading 7. La strategia complessiva è di tipo divide et impera. Dapprima si localizza la superficie in un cubo logico di otto voxel, presi a gruppi di quattro da due slices adiacenti, poi si determina come la superficie interseca il cubo e poi si passa al successivo. Dato che ci sono otto vertici per ogni cubo e due stati (interno ed esterno) esistono 256 possibilità che sono codificate in un'apposita tavola. In realtà i casi base sono 14 e i restanti costituiscono permutazioni ottenibili per simmetria e rotazione. Si arriva ad una triangolazione all'interno di ciascun cubo e si applica 7 Gouraud Shading: consiste nell applicare il modello di illuminazione scelto sui vertici di ogni poligono costituente la scena per eliminare le discontinuità. In opposizione al Flat Shading, che consiste nell applicare il modello di illuminazione scelto una volta per ogni poligono costituente la scena. 18

28 CAPITOLO I DIAGNOSTICA PER IMMAGINI un'interpolazione lineare per trovare le intersezioni della superficie sugli spigoli. Le snakes sono state introdotte da Kass [KASS] per modellare e segmentare oggetti in immagini 2D. Appartengono ad una classe di modelli deformabili in cui si cerca di minimizzare una funzione energia associata. Il successo della segmentazione attraverso le snakes è limitato dalla sensibilità dell algoritmo nei confronti del rumore e delle condizioni iniziali: ciò è dovuto principalmente alle ottimizzazioni locali che spesso impediscono di trovare il minimo globale dell energia, e all approssimazione poligonale discreta per i contorni. Il balloon, proposto da Choen [COHEN], consiste in una geometria da deformare fino a coincidere con la superficie di un oggetto, ad esempio l'approssimazione poligonale di una sfera. Il comportamento desiderato del modello è determinato dal costo locale di una funzione associata a ciascun vertice e determinata dalla somma di tre termini: un potenziale di deformazione che espande i vertici verso la superficie dell oggetto, un termine immagine che identifica proprietà come i contorni e si oppone all espansione, e un termine che mantiene la topologia del modello costringendo ogni vertice a rimanere al centro dei suoi vicini. Tale modello fu in seguito esteso da Terzopoulos et al. [TERZ] per la ricostruzione di oggetti tridimensionali. Per approfondimenti si consiglia la lettura di [MIL], in cui questo procedimento è applicato ad un volume 3D di dati TAC. I.4.3 Ricostruzione e visualizzazione 3D Una volta filtrati e classificati i dati, si procede alla loro ricostruzione e visualizzazione in tre dimensioni. Le tecniche di visualizzazione tridimensionale sono state studiate a fondo nel campo delle applicazioni mediche e il loro impiego come ausilio clinico è ormai consolidato. Maggiori informazioni si possono trovare in [BIA]. In genere, si ricorre alla seguente classificazione: 19

29 CAPITOLO I DIAGNOSTICA PER IMMAGINI Estrazione di Isosuperfici: utilizzano poligoni o superfici curve come rappresentazione intermedia della superficie di interesse; Classificazione Binaria dei Voxel: si basano sulla suddivisione del volume in cubi opachi o trasparenti, oppure di poligoni chedefiniscono le facce dei cubi; Direct Volume Rendering: Modellano l'apparenza di una gelatina semi-trasparente utilizzando le leggi dell'ottica per simulare l'andamento dei raggi di luce all'interno del volume. I Estrazione di Isosuperfici Questo insieme di tecniche è caratterizzato dall applicazione di metodi per l'estrazione di una superficie dall'insieme di dati tridimensionale, e per la trasformazione di tale superficie in primitive geometriche da restituire, poi, graficamente. La prima di queste tecniche ad essere stata applicata è stata la ricostruzione di isosuperfici a partire da isolinee in un insieme di piani paralleli. Si tratta poi di costruire delle griglie di poligoni che congiungano isolinee di piani presi a due a due in maniera tale da formare una superficie connessa. Un'evoluzione importante si è avuta con l'introduzione della tecnica nota come marching cubes, analizzata nel paragrafo precedente. Questa tecnica risolve molte delle ambiguità insite nel metodo precedente ed è quella oggi più diffusamente impiegata nella ricostruzione di iso-supefici. Il vantaggio principale di questo tipo di tecniche è rappresentato dalla possibilità che danno di sfruttare a pieno le risorse hardware delle workstation grafiche, che sono progettate per visualizzare in maniera estremamente efficiente delle primitive geometriche quali punti, linee, poligoni, etc. Ovviamente esse risentono delle limitazioni insite nella necessità di dover interpolare dati da un grigliato discreto, risultando talvolta inefficienti in presenza di insiemi di dati contenenti un alto livello di rumore numerico o con campionamento non adeguato. 20

30 CAPITOLO I DIAGNOSTICA PER IMMAGINI I Classificazione Binaria dei Voxel Queste tecniche (comunemente note con il nome di cuberille) consistono nella classificazione del dataset in maniera binaria, ovvero nella suddivisione dei voxel in quelli che contengono una porzione della materia che interessa e quelli che non la contengono. La tecnica cuberille vera e propria, genera un insieme di cubi (delle dimensioni del voxel) opachi per ognuno dei voxel classificato pieno. Tali cubetti sono poi resi dal più distante al più vicino all'osservatore in maniera da eliminare automaticamente le superfici nascoste. Un'evoluzione della tecnica, che permette un notevole aumento della velocità d esecuzione, parte dal principio inverso di lanciare un raggio per ogni pixel e fermarsi non appena si trova un cubo opaco. In questo caso si può anche ottenere un miglioramento della qualità della scena finale analizzando in ogni voxel il gradiente del campo. Pur essendo relativamente facili da implementare, queste tecniche risentono, come nel caso di estrazione di iso-superfici, della difficoltà di campionare esattamente in maniera binaria il dataset volumetrico. I Direct Volume Rendering In letteratura con il termine Direct Volume Rendering è individuata una famiglia di metodi per visualizzare in modo diretto campi scalari tridimensionali. Dal punto di vista generale queste tecniche generano le immagini finali associando a ciascun voxel un colore ed un opacità parziale e,successivamente, miscelando ( blending) assieme i vari contributi, di colore e opacità, resi dai voxel proiettati sullo stesso pixel del piano immagine. Queste proiezioni possono essere eseguite sia in image-order (raycasting) che in object-order (splatting). Il modello fisico su cui si basano le tecniche Direct VolumeRendering è quello di una gelatina colorata semi-trasparente che mantiene in sospensione delle particelle riflettive allineate in modo tale da dare 21

31 CAPITOLO I DIAGNOSTICA PER IMMAGINI l'apparenza delle superfici racchiuse. Drebin [DREBIN] fu uno dei primi ad utilizzare questo tipo di metodo per visualizzare dati volumetrici medicali. La tecnica proposta consiste nello stimare la frazione di occupazione in un voxel per ciascun materiale che dovrebbe essere presente all'interno del voxel stesso. Da queste informazioni è possibile calcolare un colore ed un opacità parziale per ciascun voxel, trasformando geometricamente ciascuna slice di valori dallo spazio oggetto allo spazio immagine proiettandolo sul piano immagine e miscelando assieme con le porzioni formate dalle precedenti slice. Altre interessanti tecniche sono state proposte da Upson e Keeler [UPSKEEL] e Levoy [LEVOY]. Un dato comune le caratterizza: tutte eseguono l'operazione di blending (cioè la miscelazione dei colori) utilizzando l'algebra per la composizione delle immagini proposta da Porter e Duff [PORDUF] producendo globalmente delle immagini simili. Il principale problema di queste tecniche è l'alto costo computazionale che le rende al momento impraticabili per la visualizzazione interattiva. I.4.4 Visualizzazione finale La fase finale del processo di trattamento dei dati consiste nella loro effettiva presentazione all'utente. Per far questo si deve tener presente di quali sono le risorse che l'utente ha a disposizione per vedere i dati. Se possiede solo una workstation con limitate risorse di hardware grafico, probabilmente si limiterà a visualizzare immagini bidimensionali, eventualmente istantanee di una scena tridimensionale. Se é dotato di risorse grafiche più potenti potrà cercare di avere una sessione interattiva con il modello tridimensionale, generato da un programma di estrazione di isosuperfici, che gli permetta di cambiare il punto di vista, le dimensioni dell'oggetto ed eventualmente operare delle operazioni di selezione, tagliando e modificando l'apparenza. Se invece non ha a disposizione hardware grafico potente, ma, comunque, risorse 22

32 CAPITOLO I DIAGNOSTICA PER IMMAGINI di calcolo adeguate (magari collegandosi in rete con supercalcolatori remoti), sarà più facile ottenere dei buoni risultati usando delle tecniche di visualizzazione diretta. Risultati ancora più significativi si possono avere se si hanno a disposizione dei dispositivi specializzati, come ad esempio degli occhiali a cristalli liquidi che permettono di avere una visione stereoscopica della scena tridimensionale. Ancora più sofisticati possono essere dei dispositivi, come l'head Mounted Display, che permettono di immergersi nei dati ottenendo l'effetto noto come realtà virtuale. I.5 Software per l analisi di immagini medicali su tablet In questa sezione verranno presi in considerazioni solo alcuni fra i migliori software odierni per l analisi e l elaborazione di immagini medicali su tablet, i cui display, si ricorda, essendo sprovvisti della certificazione appropriata, non sono idonei alla refertazione medica. In particolare, si presenteranno applicazioni per Apple IOS 8 e Android 9. L applicazione Osirix HD, disponibile per ios, anche se non è adatta ad un uso professionale, è da considerarsi per certi versi uno dei software di riferimento per il settore mobile e, per questo motivo, verrà trattata in maniera più ampia. Successivamente si descriveranno brevemente le applicazioni ENDEAVOR Mobile 3.0 e LEADTOOLS DICOM Viewer disponibili rispettivamente per Android e Windows 8. Osirix HD OsiriX HD è un visualizzatore di immagini medicali per il sistema operativo Apple ios. Questa piattaforma permette il download, la 8 ios (precedentemente iphone OS) è un sistema operativo sviluppato da Apple per iphone, ipod touch e ipad. Come Mac OS X è una derivazione di UNIX (famiglia BSD) e usa un microkernel XNU Mach basato su Darwin OS. 9 Android è un sistema operativo sviluppato da Google (ma ancora prima dalla Android Inc.) e lanciato per la prima volta nel Diversamente dai sistemi concorrenti principali, come ios (Apple) e Windows Phone (Microsoft), Android poggia le basi su una struttura open-source, presa a piene mani dal sistema Linux. 23

33 CAPITOLO I DIAGNOSTICA PER IMMAGINI visualizzazione e la manipolazione direttamente sul dispositivo di serie di immagini provenienti da ogni tipo di sorgente (ecografia, TAC, RMN, PET, ecc.) nel formato standard DICOM. Sono supportati diversi protocolli di rete tramite i quali è possibile ricevere immagini da qualsiasi dispositivo di imaging che utilizzi tale standard. Integrati nel sistema, sono disponibili strumenti di manipolazione delle immagini medicali veloci ed interattivi come lo zoom, il pan e la regolazione del contrasto delle immagini attraverso l'interfaccia touchscreen multipoint. Questa applicazione può essere utilizzata anche come supporto per altre applicazioni ios in quanto permette di leggere DICOM dataset ricevuti in messaggi di posta elettronica, in Safari 10 o memorizzati in una cartella Dropbox 11. Inoltre, supporta il protocollo URL built-in OsiriX per l integrazione in HIS 12, RIS 13 o in un ambiente PACS 14 [OSIRIXHD]. Figura 5 Splash screen di Osirix HD 10 Safari è un browser web sviluppato da Apple Inc. per il sistema operativo Mac OS X, ios e, tra il 2007 e il 2012, reso disponibile in versioni aggiornate anche per Windows. 11 Dropbox è un software di cloud storage multipiattaforma, che offre un servizio di file hosting e sincronizzazione automatica di file tramite web. Il programma è disponibile per Windows, Mac OS X, Linux, ios, BlackBerry OS e Android. 12 HIS (Hospital Information System) è l'insieme integrato di strumenti informatici utilizzati in ambito sanitario per gestire i flussi amministrativi e clinici di un ospedale. 13 RIS (Radiology Information System) è un sistema informatico radiologico utilizzato per gestire il flusso dei dati legati ai pazienti. 14 PACS (Picture archiving and communication system) è un sistema hardware e software dedicato all'archiviazione, trasmissione, visualizzazione e stampa delle immagini diagnostiche digitali. 24

34 CAPITOLO I DIAGNOSTICA PER IMMAGINI Questa applicazione è priva di certificazioni appropriate e quindi non è adatta ad un uso professionale. Le caratteristiche tecniche permettono comunque un ottima visualizzazione delle immagini TC e RM mentre qualche limite si avverte con le immagini CR e DR non tanto per la risoluzione di 3MP (che corrisponde a quella dei monitor medicali), ma per la dimensione delle immagini che obbliga ad effettuare frequenti zoom. Dalle impostazioni di ios si può accedere al setup di Osirix HD inserendo i parametri di comunicazione con il PACS oppure attivare il protocollo Bonjour per lo scambio di immagini con la versione di Osirix per Mac. Figura 6 Osirix HD: setup La schermata principale all avvio di OsiriX HD è relativa alla sezione Database ed è divisa in due frame; in quello di sinistra sono elencati i nomi dei pazienti, mentre in quello di destra, che occupa i tre quarti dello schermo, sono visualizzati i dati anagrafici e le serie delle immagini dell esame. In questa disposizione grafica si può riconoscere una realizzazione del design pattern split view. Questo è un approccio progettuale che viene spesso utilizzato su molte applicazioni desktop e web e prevede che, mentre sul lato sinistro dello schermo siano visualizzate le categorie di livello superiore, sul lato destro sia mostrata una scheda dettagliata della selezione effettuata. 25

35 CAPITOLO I DIAGNOSTICA PER IMMAGINI Figura 7 Osirix HD: schermata principale Accedendo alla sezione Viewer dalla toolbar inferiore è possibile visualizzare le immagini. Le icone della toolbar superiore servono da sinistra verso destra per scegliere la serie da visualizzare, il formato di visualizzazione (1:1 o 2:1) e i valori window level e window width, per ruotare l immagine, effettuare misure lineari, creare una ROI circolare, visualizzare i Metadati e inviare immagini ai nodi DICOM. Figura 8 Osirix HD: sezione Viewer 26

36 CAPITOLO I DIAGNOSTICA PER IMMAGINI La sezione Q&R (Query&Retrieve) della toolbar inferiore consente di recuperare esami dai nodi DICOM tramite il protocollo bonjour oppure preconfigurati mediante il tasto modifica della toolbar superiore. Figura 9 Osirix HD: sezione Q&R La ricerca di un esame può avvenire secondo i seguenti Tag DICOM: paziente, # acc., descrizione, ID paziente, ref physician, institution, nascita, modalità, data. Figura 10 Osirix HD: ricerca di esami in PACS Infine la sezione Aiuto? contiene un breve manuale localizzato in italiano molto efficace [OSIRIXHDIT]. 27

37 CAPITOLO I DIAGNOSTICA PER IMMAGINI ENDEAVOR Mobile 3.0 ENDEAVOR Mobile 3.0 è una piattaforma teleradiografica per android creata da Computer Vision Research Group USM. Questa vanta una serie di funzioni avanzate per la diagnostica per immagini e, rispetto alla versione originale per desktop, offre un'interfaccia utente completamente ridisegnata per il touch. Figura 11 ENDEAVOR Mobile 3.0: splash screen e voice dictation report Questa applicazione consente agli utenti di recuperare, archiviare e visualizzare immagini mediche (TAC, PET, MR, raggi X, ecc.), direttamente sui dispositivi Android. L applicazione ENDEAVOR Mobile 3.0 include le seguenti funzionalità: Un avanzato DICOM Viewer integrato Capacità di raccolta di immagini centralizzata Strumenti di annotazione standard Strumenti di manipolazione delle immagini medicali come lo scrolling, il panning e lo zoom attraverso l'interfaccia touchscreen multipoint. Capacità di Window Level Modalità di visualizzazione CLUT Visualizzazione dettagliata dei metadati DICOM Reporting a dettatura vocale 28

38 CAPITOLO I DIAGNOSTICA PER IMMAGINI Accesso ai PAC Live Collaboration Technology (Collaborative Annotation) Download e upload di immagini dal Box cloud storage Figura 12 ENDEAVOR Mobile 3.0: PACS e DICOM Viewer Una grossa limitazione di questo software è dovuta al mancato supporto per le immagini DICOM non compresse. LEADTOOLS DICOM Viewer L'applicazione LEADTOOLS DICOM Viewer è un visualizzatore di immagini DICOM disponibile per Windows 8. Questa può essere utilizzata non solo per visualizzare, ma anche per modificare, annotare e salvare immagini DICOM. Figura 13 LEADTOOLS DICOM Viewer: strumenti (1) 29

39 CAPITOLO I DIAGNOSTICA PER IMMAGINI Questa applicazione è costruita utilizzando il LEADTOOLS Medical Imaging SDK e rappresenta una delle applicazioni di esempio che vengono fornite ai programmatori. Le applicazioni di esempio LEADTOOLS si pongono l obiettivo di mostrare agli sviluppatori alcune delle capacità che possono integrare nelle proprie applicazioni. Figura 14 LEADTOOLS DICOM Viewer: strumenti (2) L'applicazione LEADTOOLS DICOM Viewer include le seguenti funzionalità: Visualizzare i file DICOM (immagini e metadati) Eseguire il Window Leveling Visualizzare e modificare i metadati DICOM (tag) Creare, visualizzare e salvare annotazioni di immagine Salvare file DICOM Visualizzare riproduzioni CINE (per le immagini a fotogrammi multipli) I.6 Attività di ricerca presso il CNR In questa sezione posta al termine di questo primo capitolo, si descriveranno alcune delle attività di ricerca del CNR di interesse per lo studio e la definizione di questo scritto. 30

40 CAPITOLO I DIAGNOSTICA PER IMMAGINI Il mio progetto, come già annunciato, si pone all interno del settore di ricerca di supporto alla diagnostica per immagini dell ICAR CNR. In questo settore sono molteplici le attività di interesse e ne verranno descritte alcune solo in minima parte. Della necessità di disporre di un ambiente software Open Source e Cross Platform per l analisi e l elaborazione avanzata di immagini medicali nasce la piattaforma MITO (Medical Imaging TOolkit) che sarà il tema centrale del Capitolo II in cui verrà ampiamente trattata. Questa piattaforma si pone all avanguardia nel suo settore per diversi aspetti e funzionalità in fase di sviluppo ed integrazione. Oltre ad offrire sofisticati strumenti per la gestione di dataset DICOM, per l interazione con un sistema PACS e l elaborazione di immagini in due dimensioni, offre anche Tecniche di ricostruzione 3D (Ray Casting, Maximum Intensity Projection, Surface Rendering) e funzionalità in realtà virtuale. In questo ambito, infatti, è stata sviluppata un interfaccia di controllo avanzata che fa uso del Nintendo Wiimote 15 come dispositivo di input e funziona in diverse modalità. Figura 15 Interfaccia Wiimote: uni-modal 15 Wiimote è il controller senza fili, il cui nome è formato da una crasi di Wii e Remote della console pre videogiochi Wii, prodotta dall azienda Nintendo 31

41 CAPITOLO I DIAGNOSTICA PER IMMAGINI Figura 16 Interfaccia Wiimote: multi-modal Un altra interfaccia di controllo avanzata che è stata sviluppata fa uso di un Data Glove 16 come dispositivo di input ed è gesture-based (basata su gesture). Figura 17 Interfaccia gesture-based: Data Glove Uno degli obiettivi della ricerca inerente allo sviluppo della piattaforma MITO è quello di analizzare e sviluppare interfacce gestuali evolute per l interazione touchless. In questo modo è possibile un esplorazione pratica ed efficiente dei dati nelle sale operatorie mediante un'interfaccia senza controller. 16 Data Glove è un dispositivo di input per l' interazione uomo-computer indossato come un guanto 32

42 CAPITOLO I DIAGNOSTICA PER IMMAGINI Figura 18 Sala operatoria informatizzata Questa tecnologia è in grado di ridurre notevolmente la durata dell'operazione eliminando i tempi relativi al lavaggio necessario per accedere al computer in modo sicuro. La pulizia per prevenire la contaminazione batterica dopo aver utilizzato un computer può richiedere fino a 20 minuti. A volte può aggiungere un'ora intera all operazione. I chirurghi, non potendo lasciare il campo sterile attorno al paziente, hanno bisogno di visualizzare immagini mediche senza dover toccare fisicamente alcun controllo [LAW]. È stata sviluppata un interfaccia gesture-based che fa uso di Microsoft Xbox Kinect 17 come unico dispositivo di input. Quest ultimo è adatto per l'utilizzo in sale operatorie poiché l'interfaccia utente che ne deriva è touch-free e non richiede passi di calibrazione complessi. Figura 19 Interfaccia gesture-based: touchless 17 Microsoft Kinect è un accessorio per Xbox 360 sensibile al movimento del corpo umano 33

43 CAPITOLO II MITO MEDICAL IMAGING TOOLKIT Capitolo II MITO Medical Imaging TOolkit In questo capitolo verrà presentato il software MITO (Medical Imaging TOlkit) e saranno illustrate le sue funzionalità. Successivamente, dopo una breve descrizione dei vantaggi dell utilizzo di software Open Source e Cross Platform, saranno introdotte le librerie utilizzate per la gestione della GUI e della logica di interfacciamento del software: ITK per l elaborazione delle immagini, VTK per la visualizzazione e wxwidgets per la creazione dell interfaccia grafica. Verranno poi analizzate diverse strategie implementative per il porting su dispositivi mobile e l implementazione di interazioni touch. Per approfondimenti consultare [VTK], [VTKWEB], [ITK] e [ITKpdf] II.1 Introduzione MITO (Medical Imaging TOolkit) è un ambiente software evoluto designato per la visualizzazione e la navigazione di immagini biomedicali. (quali CT, MRI, PET, ). La piattaforma vanta numerose capacità innovative fra cui l elaborazione di modelli tridimensionali per la creazione di una realtà virtuale immersiva. Oltre a gestire un album, consente l anonimizzazione di uno studio e la comunicazione con un sistema PACS attraverso il protocollo DICOM per scaricare ed inviare immagini biomedicali. Il software offre un sofisticato set di funzionalità per l image processing come la selezione ed estrazione di ROI (Region Of Interest), la segmentazione (Region Growing), la fusione di immagini multimodali e la ricostruzione tridimensionale. Molte funzionalità implementate su questa piattaforma non sono presenti in noti ambienti quali OsiriX (un infrastruttura MAC-based). 34

44 CAPITOLO II MITO MEDICAL IMAGING TOOLKIT Dopo aver presentato l architettura del software, si analizzeranno i diversi moduli integrati nel sistema. II.2 Architettura software L architettura di MITO (Medical Imaging TOolkit) è costituita da un variegato set di componenti Open Source e Cross Platform. Le numerose librerie per la gestione e la visualizzazione di immagini medicali sono state integrate con la libreria per la creazione dell interfaccia grafica wxwidgets che si occupa della gestione degli eventi. Figura 20 Architettura di MITO Al fine di presentare la piattaforma si riporta una breve descrizione di ciascun componente software: wxwidgets: libreria di alto livello per la gestione di interfacce grafiche; VTK (Visualization ToolKit): libreria di alto livello per la visualizzazione grafica e l image processing; ITK (Insight ToolKit): libreria di alto livello che implementa algoritmi di registrazione e segmentazione; IJG JPEG: libreria di alto livello per la conversione di immagini DICOM in formato JPEG CTN: libreria di alto livello per la gestione dell interazione con i sistemi PACS 35

45 CAPITOLO II MITO MEDICAL IMAGING TOOLKIT OpenGL (Open Graphic Library): ambiente per lo sviluppo di applicazioni grafiche 2D e 3D 18. La libreria di basso livello consente, inoltre, di sfruttare l accelerazione hardware delle schede grafiche, che implementano funzionalità per il rendering 19 real-time 3D e compatibili con tale standard; II.3 Analisi delle funzionalità La piattaforma MITO vanta un considerevole numero di funzionalità che possono essere suddivise in diverse categorie. Le funzionalità base, accessibili dalla finestra principale, sono le seguenti: Caricamento/Salvataggio di studi DICOM Gestione di un album per la memorizzazione di studi aperti di recente Anonimizzazione di studi DICOM L interazione con un sistema PACS è gestita da alcune finestre dialog che permettono di effettuare queste operazioni: Send (Invio di immagini DICOM) Query/Retrieve (Interrogazione e recupero di immagini DICOM relative ad un particolare paziente/studio) All interno del Viewer 2D sono disponibili alcune funzionalità avanzate per l image processing: Interazione con un immagine (modifica window level/window width, traslazione, zoom, rotazione) Selezione ed estrazione di ROI (Region Of Interest) 18 Le OpenGL 3D consentono di realizzare applicazioni per la visualizzazione di una scena 3D. Quest'ultima contiene gli insiemi di dati che rappresentano gli oggetti tridimensionali e i dati relativi alle loro illuminazione e posizione rispetto all'osservatore [OPGL] 19 Processo di generazione di un'immagine a partire da una descrizione di un insieme di oggetti tridimensionali (scena tridimensionale). La descrizione è data in un linguaggio o in una struttura dati definiti rigorosamente e deve contenere la geometria, il punto di vista, le informazioni sulla mappatura delle superfici visibili e sull illuminazione. L'immagine è una immagine digitale; essa fornisce l'aspetto finale al modello o all'animazione illuminazione. 36

46 CAPITOLO II MITO MEDICAL IMAGING TOOLKIT Segmentazione (Region Growing) Fusione di più immagini multimodali (CT/PET, MRI/PET, ) Le funzionalità 3D sono accessibili mediante le finestre dedicate alla ricostruzione delle immagini e sono le seguenti: Tecniche di ricostruzione 3D (Ray Casting, Maximum Intensity Projection, Surface Rendering) Interazione con un volume (modifica window level/window width, traslazione, zoom, rotazione in senso orario e lungo i tre assi, applicazione di una CLUT) Selezione di VOI (Volume Of Interest) Infine, sono disponibili funzionalità per la realtà virtuale: Stereoscopia (Anaglifo, Polarizzazione passiva e attiva) Interazione con il volume stereoscopico attraverso uno o più dispositivi Wii Interazione con il volume stereoscopico attraverso Microsoft Xbox Kinect II.3.1 Funzionalità base L interfaccia utente principale è divisa in diverse sezioni. Nella parte superiore, dopo la barra del menù, è presente una toolbar che da accesso agli strumenti principali. Fra questi si trovano le funzioni import file, import study, export, anonymize, query, send, image fusion, 2D Viewer, Direct Volume Rendering, Indirect Volume Rendering e delete. Subito sotto si trova un album locale che consente di caricare studi DICOM presenti sul computer o precedentemente scaricati da un PACS. Nello stesso pannello è presente un viewer per visualizzare in anteprima le immagini e le thumbnails 20 relative alla serie selezionata. 20 Thumbnail (dalla parola dell'inglese per "miniatura") è il termine che viene usato normalmente in informatica per definire un'anteprima di un'immagine più grande, che quindi viene presentata in formato ridotto. Solitamente, cliccando sull'anteprima, attraverso un link verso l'immagine più grande, questa verrà visualizzata nelle sue dimensioni reali. 37

47 CAPITOLO II MITO MEDICAL IMAGING TOOLKIT Figura 21 MITO: interfaccia utente principale La dialog realtiva all anonimizzazione offre la possibilità di scegliere quali metadati DICOM modificare e di impostarli secondo le nuove esigenze. Successivamente, è possibile salvare uno studio con le nuove informazioni. Figura 22 MITO: anonymize 38

48 CAPITOLO II MITO MEDICAL IMAGING TOOLKIT II.3.2 Funzionalità per l interazione con un sistema PACS Apposite interfacce utente consentono la comunicazione con i sistemi PACS. Si possono richiedere informazioni relative ad uno studio effettuato da un paziente e scaricare immagini DICOM tramite la dialog PACS Query/Retrieve. Figura 23 MITO: dialog PACS Query/Retrieve La dialog Send to Pacs consente di scegliere una serie o un immagine DICOM singola e di inviarla ad un PACS. Figura 24 MITO: dialog Send to PACS 39

49 CAPITOLO II MITO MEDICAL IMAGING TOOLKIT II.3.3 Funzionalità 2D Dopo aver caricato uno studio, all interno del 2D Viewer è possibile visualizzare una slice ed interagire con essa attraverso operazioni di rotazione, traslazione, zoom e modifica del contrasto e della luminosità (window level/window width). Figura 25 MITO: 2D Viewer Per la definizione di una ROI (Region Of Interest) MITO consente di effettuare 2 tipi di misurazioni su una slice: Lunghezza di un segmento Angolo di un arco E altresì possibile selezionare ed estrarre regioni di interesse di una slice di forma rettangolare, poligonale chiusa o disegnate a mano libera. La piattaforma MITO comprende 3 tecniche di segmentazione appartenenti alla famiglia di algoritmi Region Growing: Connected Threshold A partire da un seme iniziale, vengono considerati tutti i pixel la cui intensità è compresa tra un limite inferiore ed uno superiore Neighborhood Connected 40

50 CAPITOLO II MITO MEDICAL IMAGING TOOLKIT E una variante del precedente: vengono considerati tutti i pixel il cui vicinato ha un intensità che cade in un intervallo specificato Confidence Connected Specificato un moltiplicatore f e calcolati la media m e la deviazione standard dei pixel dell immagine, vengono considerati tutti i pixel la cui intensità appartiene all intervallo [m-f,m+f ] Due immagini multimodali (CT/PET, MRI/PET, ) possono essere fuse in un unica immagine secondo 2 differenti approcci: Combinazione aritmetica La regola di fusione consiste in una media pesata dei pixel Combinazione basata su Wavelet Le trasformate Wavelet scompongono un immagine in componenti a bassa frequenza (approssimazioni) e ad alta frequenza (dettagli) che possono essere analizzate e combinate indipendentemente Sono state implementate 3 differenti regole di fusione Figura 26 MITO: regole di fusione Attraverso un interfaccia grafica un utente può scegliere quale algoritmo applicare. E inoltre possibile colorare una delle due immagini di partenza applicando una CLUT (Colour Look-Up Table). 41

51 CAPITOLO II MITO MEDICAL IMAGING TOOLKIT Figura 27 MITO: dialog Image Fusion Settings Il processo di image fusion descritto è illustrato in figura 26. A partire da due immagini multimodali viene creata una terza che corrisponde alla loro fusione. Questa funzione utilizza l interfaccia grafica del 2D Viewer per la visualizzazione e la navigazione del risultato ottenuto. Figura 28 MITO: processo di image fusion 42

52 CAPITOLO II MITO MEDICAL IMAGING TOOLKIT II.3.4 Funzionalità 3D Le ricostruzioni 3D di studi bidimensionali possono essere ottenute attraverso 2 approcci differenti: Volume Rendering: visualizza a video le informazioni direttamente contenute nel dataset di partenza o Ray Casting o Maximum Intensity Projection Surface Rendering: è un metodo indiretto che visualizza a video le superfici estratte dal dataset iniziale in base a particolari criteri Secondo la tecnica Ray Casting, dopo aver emesso una serie di raggi paralleli che oltrepassano il volume, questi vengono campionati, composti in RGBA e poi proiettati su un piano di vista 2D. Figura 29 MITO: Volume Rendering Il Maximum Intensity Projection (MIP) è una variante del Ray Casting: non è effettuata alcuna composizione in RGBA, ma sul piano di vista sono proiettati tutti i voxel con la massima intensità che cadono lungo i percorsi dei raggi paralleli. Un utente può interagire con il volume ricostruito attraverso operazioni di modifica del window level/window width, traslazione, zoom, rotazione in senso orario e lungo i tre assi e applicazione di una CLUT. 43

53 CAPITOLO II MITO MEDICAL IMAGING TOOLKIT Il Surface Rendering è un metodo indiretto per ottenere un immagine da un volume che può essere scomposto in 2 fasi: Costruzione delle isosuperfici a partire da un valore definito dall utente (che può in tal modo decidere di estrarre ad es. solo le superfici che attraversano le ossa, la pelle, ecc.) Visualizzazione delle isosuperfici Si può interagire con il volume ricostruito attraverso operazioni di traslazione, zoom, rotazione in senso orario e lungo i tre assi. Figura 30 MITO: Surface Rendering Un volume ottenuto applicando una tecnica di Volume Rendering può essere opportunamente tagliato in modo da permettere ad un utente di potersi concentrare solo una porzione del volume di suo interesse. II.3.5 Funzionalità in realtà virtuale MITO può essere impostato in modalità realtà virtuale in modo da poter interagire con l ambiente in maniera molto più intuitiva. Un volume può essere visualizzato in stereoscopia (presentando due diverse immagini ai due occhi) secondo 3 modalità: Anaglifo 44

54 CAPITOLO II MITO MEDICAL IMAGING TOOLKIT Le due immagini vengono trattate con due filtri di colore complementari (rosso e ciano) e la stereoscopia è ottenuta indossando appositi occhiali. Figura 31 Occhiali anaglifici Polarizzazione passiva Le due immagini vengono proiettate sovrapposte sullo stesso schermo da 2 proiettori, con due distinti fasci di luce polarizzata. Sono necessari occhiali che abbiano per lenti 2 filtri polarizzatori passivi. Figura 32 Occhiali e proiettori per polarizzazione passiva Polarizzazione attiva Le 2 immagini vengono proiettate alternativamente sullo stesso monitor ad una frequenza elevata. Sono necessari occhiali speciali (shutter glasses) con lenti che si oscurano alternativamente. Figura 33 Shutter glasses per la polarizzazione attiva Un utente può interagire con l ambiente in maniera più naturale ricorrendo a dispositivi Wii, che possono essere utilizzati in 2 differenti modalità: per interagire con il volume (rotazione, traslazione, VOI, ) come dispositivi di puntamento 45

55 CAPITOLO II MITO MEDICAL IMAGING TOOLKIT MITO consente anche un interazione multi-utente attraverso l uso combinato di più dispositivi Wii e gestisce automaticamente i conflitti del sistema. La piattaforma integra anche un interfaccia gesture-based che fa uso di Microsoft Xbox Kinect come unico dispositivo di input. Figura 34 Microsoft Xbox Kinect II.3.6 Confronto con OsiriX In figura 35 e 36 è mostrato un confronto del software descritto con l applicazione OsiriX. Come si evince dalle immagini, MITO dispone di alcune funzionalità non presenti nel suo diretto concorrente, come la fusione di immagini Wavelet-based, la stereoscopia mediante polarizzazione attiva e passiva e l interazione attraverso dispositivi Wii. Figura 35 Confronto con OsiriX (1) 46

56 CAPITOLO II MITO MEDICAL IMAGING TOOLKIT Figura 36 Confronto con OsiriX (2) II.4 API Open Source e Cross Platform Una Application Programming Interface (API) è un insieme di definizioni delle modalità grazie alle quali un software può mettere in comunicazione ogni parte di un elaboratore con un'altra. Con questo termine si indica ogni insieme di procedure disponibili al programmatore, di solito raggruppate a formare un set di strumenti specifici per l'espletamento di un determinato compito all'interno di un certo programma. E' un metodo per raggiungere un'astrazione, di solito, ma non necessariamente, tra software di basso-livello e software di altolivello. Le API sono essenziali per le funzionalità di un computer come lo sono gli standard elettrici per una casa. Chiunque può inserire la spina del tostapane nella presa a muro della sua casa o di un suo vicino perché entrambe le case sono conformi ad uno standard. Se non ci fosse una interfaccia standard, occorrerebbe avere un generatore di corrente elettrica per fare un toast. Quanto detto, tuttavia, non vieta che possano esistere diversi tipi di interfacce diverse. Ad esempio un tostapane europeo non può funzionare negli Stati Uniti senza un trasformatore 47

57 CAPITOLO II MITO MEDICAL IMAGING TOOLKIT come un programma scritto per Microsoft Windows non può essere eseguito direttamente su un sistema UNIX o Apple. II.4.1 Vantaggi dell'open Source e del Cross Platform Con l'avvento dei personal computer, l Informatica ha avuto una rapidissima diffusione ed ha modificato profondamente la vita personale e professionale delle persone. Questa velocità di sviluppo, tuttavia, ha fatto in modo che il settore dello sviluppo software fosse nelle mani di pochi grandi gruppi, che impongono i loro standard proprietari e guidano l'evoluzione in base alla loro convenienza piuttosto che al progresso della collettività. Come alternativa a tutto ciò è nato il movimento Open Source, divenuto popolare soprattutto grazie alla diffusione di Internet, che è stato ed è tuttora uno dei motori propulsivi dello sviluppo del web. Gran parte dell'infrastruttura tecnologica di Internet è basata su standard aperti e software open source, rilasciato con licenze non restrittive sia nella distribuzione che nell'uso, come GPL 21, LGPL 22, ecc [RALF]. Il più delle volte è utilizzabile gratuitamente, ma la cosa ancor più entusiasmante, soprattutto per i programmatori, è il codice, che può essere studiato, analizzato, modificato, ampliato ed esteso. Viene sviluppato in progetti collaborativi, che spesso coinvolgono sviluppatori da tutto il mondo, provenienti dalle esperienze più diverse. In molti casi questo tipo di software risulta essere più affidabile, e funzionale dell'analogo software proprietario e commerciale. Quale sia la piattaforma verso la quale gli utenti si indirizzeranno nei prossimi anni è una questione aperta. Al giorno d'oggi, la maggior parte degli utenti possiede prodotti Microsoft; allo stesso tempo però c'è la tendenza, oramai irreversibile, a sfruttare le applicazioni multi-piattaforma Open 21 GPL (General Public License) garantisce la libertà di condividere e modificare il software libero [GPL]. 22 LGPL (Lesser General Public License) è una licenza pubblica meno generale e usata soprattutto per le librerie [LGPL]. 48

58 CAPITOLO II MITO MEDICAL IMAGING TOOLKIT Source, soprattutto per ragioni di costi. Questa tendenza porterà probabilmente ad accantonare l'idea di un sistema operativo proprietario. Si può affermare quindi che il multi-piattaforma nasce come conseguenza dei software Open Source e che l'avvento di nuove piattaforme ha richiesto sempre più al software di essere multipiattaforma. Lo sviluppo condiviso del software permette di realizzare programmi di ottima qualità grazie al continuo testing che sviluppatori ed utilizzatori eseguono durante il ciclo di vita del progetto. Il software condiviso offre la possibilità di visionare il codice sorgente del programma. Questo consente ai programmatori di rilevare eventuali bug e segnalare possibili migliorie al codice. Molto frequentemente succede che, all'interno delle comunità di sviluppo, un programmatore identifichi un errore e lo segnali tempestivamente al responsabile del progetto con allegato il codice corretto. Questo meccanismo permette, quindi,la visione del codice a più persone contemporaneamente e contribuisce a produrre programmi di qualità. Del resto difficilmente chi ha scritto il programma o parti di esso è anche un buon tester del programma. Ecco perché chi sviluppa software all'interno di comunità Open Source oltre che disporre di buone competenze tecniche e di programmazione, accetta e condivide di buon grado la possibilità che altri programmatori possano segnalare errori o miglioramenti al programma che lui ha scritto. Nel modello Open Source, diversamente da quanto avviene nello sviluppo di software commerciale/proprietario, chi definisce le caratteristiche e l'evoluzione del software sono gli utenti della comunità di sviluppo. Questo implica che le applicazioni Open Source sono estremamente concrete in quanto devono rispondere a requisiti specifici segnalati dagli utilizzatori stessi del programma. Non esiste alcun vincolo di dover rendere disponibili nuovi aggiornamenti per 49

59 CAPITOLO II MITO MEDICAL IMAGING TOOLKIT giustificare una nuova versione del software a pagamento o un eventuale aumento del costo delle licenze. Le comunità di sviluppo sono spesso di respiro internazionale e a volte raggiungono dimensioni molto ampie. La comunità di sviluppo che riguarda il sistema operativo Linux, ad esempio, oltre ad essere una comunità di notevoli dimensioni, in pochi anni è riuscita a produrre uno dei sistemi operativi più affidabili e performanti, utilizzato in tutto il mondo da milioni di utenti. Il meccanismo proprio del modello Open Source è un ulteriore estensione di garanzie e diritti: il diritto di non essere soggetti alle scelte altrui, ma solo alle proprie [OPENSOURCE]. II.4.2 Caratteristiche comuni di ITK e VTK ITK (Insight Toolkit) è un toolkit software che offre funzionalità di segmentazione e registrazione, VTK (The Visualization Toolkit) offre funzionalità prettamente orientate alla visualizzazione delle immagini e dei modelli tridimensionali. Entrambi sviluppati in C++, Open Source e Cross Platform, utilizzano processi di wrapping per generare l'interfaccia tra C++ ed altri linguaggi interpretati quali Tcl, Java e Python. I toolkit forniscono, quindi, un supporto alla programmazione di basso e alto livello. Nella programmazione ad alto livello si costruiscono l'interfaccia dell'applicazione e la pipeline. Quest'ultima è composta usando le classi di VTK e ITK come blocchi elementari; a questo scopo si può usare un linguaggio interpretato senza compromettere le prestazioni. Nella programmazione di basso livello Per soddisfare particolari esigenze le librerie possono essere estese inserendo nuove classi. I due toolkit, inoltre, presentano alcune caratteristiche funzionali in comune. Alcuni algoritmi di segmentazione, ad esempio, sono implementati in entrambi i software. Altri algoritmi per l'elaborazione delle immagini, quali la rotazione, il ridimensionamento, i filtri per lo 50

60 CAPITOLO II MITO MEDICAL IMAGING TOOLKIT smoothing, ecc. sono implementati in entrambi i pacchetti. Oltre ad offrire funzionalità comuni, essi presentano anche caratteristiche architetturali del tutto identiche. In particolare, la gestione del flusso dei dati, presenta un'architettura a pipeline di seguito descritta. Le pipeline supportano la programmazione multithreading 23 e consentono di lavorare in streaming 24. Questa caratteristica consente di utilizzare al meglio, ovvero nel modo più efficiente, la memoria e le risorse dell'elaboratore. II Architettura Pipeline Una pipeline è costituita da una serie di process objects che operano su uno o più data objects. Contrariamente all'uso comune nella programmazione object oriented, in VTK ed ITK si è scelto di separare i dati dalle procedure che li elaborano. I dati sono incapsulati nei data objects, le procedure nei process objects. I data objects costituiscono le informazioni di partenza, pertanto il loro trattamento è particolarmente delicato, in quanto può dar luogo ad eliminazione o aggiunta di informazioni e può essere solo effettuato mediante metodi formali 25. Questo approccio è particolarmente importante nei sistemi in cui la riservatezza dei dati e la sicurezza sono determinanti e assicura che non siano introdotti errori nel processo di definizione delle specifiche, in quello di sviluppo, nel controllo dei risultati e nella progettazione dei benchmark. I dati differiscono in funzione della loro rappresentazione interna, che è influenzata dai metodi mediante i quali sono raccolti,memorizzati ed elaborati, e dai processi che interagiscono con gli stessi. I dati di partenza, pertanto, possono essere impiegati per ottenere rappresentazioni diverse o di diversa efficacia rappresentativa. 23 Il multithreading è una tecnica che permette di avere più flussi di esecuzione contemporanei (thread) di uno stesso programma in esecuzione, su CPU differenti o sulla stessa. 24 Lo streaming consente di suddividere, in modo trasparente, i dati in parti più piccole, che una volta elaborate, possono essere riassemblate per ottenere il risultato finale. 25 Tecniche basate sulla definizione matematica di specifiche, sviluppo e verifica di sistemi. 51

61 CAPITOLO II MITO MEDICAL IMAGING TOOLKIT I process objects si dividono in source, filter e sink objects in base alla presenza di uno o più input od output, come illustrato in Figura 37 [SCKR]. Figura 37 Tipi di Process Object nella pipeline di ITK E VTK I source objects sono oggetti che producono un data object leggendolo da un file (reader) oppure costruendolo mediante una procedura (procedural source). Gli oggetti di tipo filter possono avere più input e produrre più output, un singolo output può essere usato come input da più filtri (multiple fan out). I sink objects esportano data objects su di un file (writer) oppure verso il mapper che consente di esportare i dati verso altri sistemi. In Figura 38 sono illustrate alcuni esempi di molteplicità degli oggetti filter. Figura 38 Molteplicità degli ingressi e delle uscite delle pipeline di ITK e VTK 52

62 CAPITOLO II MITO MEDICAL IMAGING TOOLKIT La connessione tra due process object avviene di solito tramite l'istruzione: Filtro2->SetInput(Filtro1->GetOutput()); Per filtri con più entrate o uscite esistono forme di sintassi analoghe. Le connessioni sono tipizzate, si possono agganciare solo process object che si scambiano un data object di tipo compatibile. Anche la pipeline produca il risultato atteso occorre che tutti i process objects siano mandati in esecuzione, l'intero processo è chiamato esecuzione della pipeline. II Esecuzione della Pipeline Realizzata la pipeline, è necessario eseguire un processo che consente ad ogni process object di operare sui data objects. Il processo completo è chiamato execution. L'esecuzione delle varie istruzioni, che costituiscono la pipeline, è iterata più di una volta, per esempio quando devono essere modificati i parametri di input o di un process object, cosa che è spesso operata dall'interazione dell'operatore. In alcune reti di visualizzazione vi possono essere rami paralleli che non sono eseguiti se gli oggetti sono modificati localmente, per esempio in Figura 39 si può notare che se avviene un cambiamento dell'oggetto D, che è a valle della pipeline, devono essere eseguiti gli oggetti D, E e F, mentre C e G non sono eseguiti. Figura 39 Esecuzione parziale di una pipeline L'esecuzione delle reti di visualizzazione può essere o demand driven oppure event driven a seconda che il controllo avviene su richiesta 53

63 CAPITOLO II MITO MEDICAL IMAGING TOOLKIT dell'operatore o meno. La metodologia dell'event driven se, da una parte tiene costantemente aggiornato il sistema, appesantisce molto la computazione, invece il demand driven riduce la computazione ed è più interattivo. Poiché l'esecuzione deve avvenire solo quando tutti i process objects sono aggiornati, occorre disporre di un controllo di sincronizzazione che può essere esplicito o implicito. Nel caso di controllo esplicito, un sistema centrale executive controlla i cambiamenti dei parametri e degli input di ciascun object e i susseguenti cambiamenti della topologia della rete. Il vantaggio di quest approccio, particolarmente valido se si vuole scomporre la rete per parallel computing o distribuire l'esecuzione su una rete di computer, consiste principalmente nel fatto che l'analisi di sincronizzazione e il metodo di aggiornamento, sono locali rispetto al singolo object e inoltre si possono sviluppare dependency graphs e analisi di flusso dati, ogni volta che serva. Lo svantaggio consiste nel fatto che ogni process object diventa dipendente dal sistema executive, a cui deve comunicare ogni cambiamento. Questo approccio può essere demand driven oppure event driver, in quest'ultimo caso ad ogni cambiamento segue un esecuzione, nel primo caso i cambiamenti sono accumulati e, solo quando avviene la richiesta esplicita dell'utilizzatore avviene l'esecuzione. Nel caso di controllo implicito, l'esecuzione di un process object avviene solo quando si ha un cambiamento dell'input locale o dei parametri, attraverso due passaggi. Nel primo, quando è richiesto un output da un particolare object, lo stesso richiede gli input dai suoi input object e questo processo è ripetuto in maniera ricorsiva finché non s incontrano source objects, questi ultimi vanno in execute se essi stessi oi loro input hanno subito modifiche. Al passo successivo, il processo ricorsivo si svolge a ritroso in modo che ogni process object esamini gli input e decida se eseguire e il processo si ripete fino a quando il requesting object iniziale non passi in esecuzione e termini il processo. Questi due passi sono denominati update ed execution. L'esecuzione implicita è implementata normalmente 54

64 CAPITOLO II MITO MEDICAL IMAGING TOOLKIT utilizzando il controllo demand driver, ma può anche essere richiesta dal verificarsi di un evento (per esempio la variazione di un object parameter). Il vantaggio del controllo implicito consiste nella semplicità dovuta al fatto che ogni object deve conservare la sua storia, in compenso, lo svantaggio consiste nella difficoltà di distribuire l'attività su più computer o realizzare strategie più complesse. II.4.3 wxwidgets wxwidgets è una libreria C++ gratuita e Open Source che consente agli sviluppatori di creare applicazioni per Windows, OS X, Linux e UNIX su architetture a 32-bit e 64-bit e per diverse piattaforme mobili, tra cui Windows Mobile, iphone SDK e embedded GTK+. A differenza di altri toolkit Cross Platform che simulano l interfaccia grafica, wxwidgets da alle sue applicazioni un look nativo perché utilizza API native della piattaforma [WXWIDGETS]. La libreria wxwidgets è stata sviluppata per fornire un modo economico e flessibile per massimizzare gli investimenti nello sviluppo di applicazioni GUI. Prima dello sviluppo di questa applicazione esistevano diverse librerie commerciali per lo sviluppo Cross Platform, ma nessuna di queste aveva un prezzo economico, la disponibilità del codice sorgente, una certa semplicità di programmazione e un supporto per una vasta gamma di compilatori. Dopo il rilascio di wxwidgets, sono emersi molti framework GUI gratuiti o semi-gratuiti ma nessuno ha la gamma di funzionalità, la flessibilità, la documentazione e il team di sviluppo ben consolidato che ha questa libreria. wxwidgets ha diversi vantaggi rispetto ai suoi concorrenti commerciali perché ha beneficiato di commenti, idee, correzioni di bug e miglioramenti continui dovuti all'entusiasmo degli utenti. L'apertura e la disponibilità del codice sorgente sono particolarmente importanti quando il futuro di migliaia di righe di codice di un applicazione dipendono dalla longevità della libreria delle classi base. L'importanza 55

65 CAPITOLO II MITO MEDICAL IMAGING TOOLKIT di utilizzare una libreria di classi indipendente dalla piattaforma non può essere sottovalutata, in quanto lo sviluppo di applicazioni GUI richiede molto in termini di tempo, e la popolarità di una particolare GUI non può essere garantita. In questo modo il codice può diventare rapidamente obsoleto se si affronta la piattaforma o il pubblico sbagliato. Sebbene la libreria wxwidgets non può essere adatta per ogni applicazione, aiuta ad isolare il programmatore da questi cambiamenti e fornisce l'accesso alla maggior parte delle funzionalità che un programma con interfaccia grafica richiede normalmente. Inoltre, questa libreria, fornisce molti extra come la programmazione di rete, PostScript, e il rendering HTML e può ovviamente essere estesa a seconda delle esigenze. II.5 Porting di MITO su piattaforme mobili In questa sezione, dopo aver analizzato diverse strategie per il porting della piattaforma MITO su dispositivi mobili e aver scelto quella più conveniente secondo le esigenze, si confronteranno le metodologie per implementare le interazioni touch. II.5.1 Analisi e scelta della piattaforma In questo paragrafo, presa visione del rapporto tecnico N. RT- ICAR-NA Studio tecnologico per il porting di MITO (Medical Imaging TOolkit) su dispositivi mibili - [ICAR20128], si analizzeranno diverse soluzioni per il porting dell applicativo su alcune piattaforme mobili e per l implementazione di una GUI per interazioni touch. Verranno prese in considerazione strategie implementative su tablet Windows 8/Windows 8 RT based e dispositivi android/ios. II Sistemi Microsoft Windows 8/Windows 8 RT based Esistono in commercio tablet windows 8 e tablet windows 8 RT e bisogna fare una distinzione fra i due sistemi operativi. Windows RT, 56

66 CAPITOLO II MITO MEDICAL IMAGING TOOLKIT noto durante lo sviluppo come Windows on ARM o WOA, è la nuova edizione progettata per l'architettura ARM. Windows 8 supporta la maggior parte dei software compatibili con le precedenti versioni di Windows sui processori x86/x64. Windows 8 RT, al contrario, non supporta la portabilità delle esistenti applicazioni desktop x86/x64 sui processori ARM. La versione del sistema operativo RT supporta solo le applicazioni già incluse con il sistema, fornite tramite Windows Update o acquistate tramite Windows Store (Con Windows RT è possibile installare app direttamente da Windows Store, ma non è possibile installare le applicazioni desktop utilizzate con le versioni precedenti di Windows) [STVSDT]. II Porting come Desktop app di Windows 8 Su un tablet windows 8 con driver grafici aggiornati è possibile utilizzare la maggior parte delle librerie del software esistente. Per usufruire delle funzionalità intuitive di una GUI per interazioni touch, invece, bisognerà aggiornare una parte del codice e integrare una tecnica di codifica del touch. Ci sono tre modi per integrare l input touch e i gesti in una Windows 8 Desktop app: WM_POINTER è il più semplice e supporta la più ricca serie di gesti, ma funziona solo su Windows 8. WM_GESTURE è compatibile con Windows 7, ma ha alcune limitazioni nei gesti implementabili. WM_TOUCH è compatibile con Windows 7, ma richiede più codice, perché è necessario scrivere il proprio gesto e i propri riconoscitori di manipolazione di Touch Events di basso livello. 57

67 CAPITOLO II MITO MEDICAL IMAGING TOOLKIT Figura 40 Windows 8 Desktop app gesture Si può valutare, inoltre, se ridefinire l interfaccia grafica Windows Form secondo i nuovi requisiti. Di seguito si riportano i vantaggi di questa soluzione: - E la soluzione migliore per recuperare quanto più codice possibile e utilizzare la maggior parte delle librerie già implementate. - Supporto per la libreria grafica OpenGL per Desktop apps - Il porting, in questo caso, può essere visto come un upgrade del software esistente atto a renderelo facilmente utilizzabile anche su dispositivi mobili con controllo Touch. - Il software potrà essere utilizzato, oltre che su tablet, anche su computer desktop con schermo sensibile al tocco. Sarà disponibile un solo applicativo funzionante sia su computer desktop che su tablet. In questo modo, si incrementa notevolmente la portabilità del software e si rende più semplice la sua manutenzione. Di seguito si riportano gli svantaggi di questa soluzione: - Windows 8, ad oggi, non è il sistema operativo più diffuso sul mercato dei tablet. Negli ultimi rilevamenti di Strategy Analytics [STRATEGY] relativi ai primi tre mesi del 2013, la quota di Microsoft è pari solo al 7,5% (Android 43,4%, IOS 48,2%). Questa valutazione potrebbe inibire la diffusione del software nel settore. 58

68 CAPITOLO II MITO MEDICAL IMAGING TOOLKIT II Porting come app Metro Style di Windows Store Il nuovo standard di sviluppo Microsoft per app di Windows Store mira a ridefinire delle applicazioni basate su un input utente sensibile al tocco e ai gesti. Le app sviluppate per essere acquistate su Windows Store saranno disponibili sia per Windows 8 che Windows 8 RT. Ridefinire MITO e renderla disponibile all interno di Windows Store richiede di ristrutturare il software secondo gli standard delle applicazioni WinRT. Ci sono due opzioni per implementare un app per il nuovo Windows Store: DirectX or XAML. Lo standard OpenGL e gli standard OpenGL ES non sono supportati. Per ovviare a questa problematica bisognerà riscrivere il codice in questione oppure prevedere l utilizzo di una libreria che implementi una versione delle API che instradi le chiamate a OpenGL ai loro equivalenti DirectX [GL2DX]. In alternativa si può utilizzare OpenGL for Windows Store Apps [OGLWST]. Figura 41 Windows Store Di seguito si riportano i vantaggi di questa soluzione: - Il software sarà disponibile sia per i dispositivi Windows 8 che per i dispositivi Windows 8 RT. - Si può abbandonare il Windows Form in favore di una interfaccia ottimizzata per una vera e propria app WinRT. 59

69 CAPITOLO II MITO MEDICAL IMAGING TOOLKIT Di seguito si riportano gli svantaggi di questa soluzione: - Le app Metro Style di Windows Store non supportano gli standard OpenGL né OpenGL ES. Per questo si rende necessario riscrivere del codice o utilizzare API di conversione. - La piattaforma Windows RT ha un mercato, ad oggi, ancora più limitato di quello del settore tablet di Windows 8 (A causa degli scarsi risultati commerciali, alcune recenti indiscrezioni sul nuovo sistema operativo RT dichiarano una possibile retrocessione di Microsoft dal settore dei tablet con architetture ARM). II Sistemi Android/IOS based Per ipotizzare un porting su piattaforme mobili come Android e IOS bisogna pensare a come implementare librerie fondamentali per il rendering e la visualizzazione. Verranno prese in esame, per una prima analisi, le librerie VTK e DCMTK. La libreria VTK può essere sostituita da VES (VTK OpenGL ES Rendering Toolkit). Quest ultima, è una libreria di rendering per dispositivi mobili e utilizza OpenGL ES 2.0. Questa libreria è disponibile sia Per Android che per IOS e costituisce una comoda base di sviluppo. Per quanto riguarda il sistema operativo Android, in particolare, è possibile programmare applicazioni con il JDK utilizzando il linguaggio Java, oppure con l NDK per implementare codice C/C++. L IDE di default prevede l utilizzo del primo e integra un ADT plugin per Eclipse per facilitare la configurazione dell ambiente di sviluppo. Il sito disponibile per gli sviluppatori Android [DEVANDR] offre un notevole supporto per lo sviluppo di applicazioni in Java. Per lo sviluppo, invece, con linguaggio C/C++, offre un ridotto supporto e ne sconsiglia l utilizzo se non necessario. Per utilizzare la suddetta libreria bisognerà sviluppare con l ausilio dell NDK. 60

70 CAPITOLO II MITO MEDICAL IMAGING TOOLKIT Un discorso simile può essere fatto per la libreria DCMTK. Questa, come per la libreria VES, può essere usata tramite l NDK. Si può utilizzare, in alternativa, anche la libreria Java DCM4CHE (Open Source Clinical Image and Object Management) [DCM4CHE]. Quest ultima è una collezione di applicazioni Open Source per la visualizzazione di immagini medicali Figura 42 Esempio di GUI Android Di seguito si riportano i vantaggi di questa soluzione: - Maggiore diffusione delle piattaforme - Maggiore supporto per gli sviluppatori - Piattaforme pensate originariamente per l ambito mobile per l integrazione nativa di input utente sensibile al tocco Di seguito si riportano gli svantaggi di questa soluzione: - Si rende necessaria una ridefinizione dell analisi dei requisiti e del design dell intero software. - La maggior parte del codice dovrà essere riscritto. In questo modo, il codice riutilizzabile sarà soltanto una piccola parte. - Bisogna ripensare il software in funzione dell utilizzo di nuove librerie per la gestione delle immagini medicali e del rendering. - L interfaccia deve essere necessariamente riscritta completamente. 61

71 CAPITOLO II MITO MEDICAL IMAGING TOOLKIT II Scelte implementative Porting di MITO come Vantaggi Svantaggi Desktop app di Windows 8 - Riutilizzo del codice esistente - Supporto per OpenGL - Porting come upgrade del Software - Un solo applicativo per desktop e tablet app Metro Style - Software disponibile di Windows Store sia per Windows 8 che per Windows RT - Ridefinizione completa interfaccia e applicazione standard WinRT app Android/IOS - Maggiore diffusione delle piattaforme - Maggiore supporto per gli sviluppatori - Piattaforme progettate originariamente per l ambito mobile - Scarsa diffusione del Sistema Operativo per tablet - Mancato supporto per OpenGL e OpenGL ES - Scarsa diffusione de Sistema Operativo per tablet con architettura ARM - Ridefinizione analisi dei requisiti e design dell intero software - Riscrittura di gran parte del codice - Utilizzo di nuove librerie - Ridefinizione dell interfaccia utente Figura 43 Porting di MITO: scheda riassuntiva 62

72 CAPITOLO II MITO MEDICAL IMAGING TOOLKIT Lo studio tecnologico, in questa sede affrontato, analizza diverse strategie per il porting del software su piattaforme mobili e mette in luce le proprietà delle soluzioni trattate. Scegliere di realizzare una nuova applicazione nativa per Android/IOS implicherebbe una riprogettazione completa del software e della sua architettura. I tempi di progettazione, sviluppo e testing, in questo caso, sarebbero notevolmente lunghi. Rendere disponibile il software su una di queste piattaforme, però, contribuirebbe notevolmente alla sua diffusione in ambito mobile. Sviluppare un applicazione seguendo il nuovo standard Windows Store sarebbe preferibile nel caso in cui si voglia assicurare una compatibilità con le due versioni del sistema operativo Windows 8. In questo modo, inoltre, l applicativo entrerebbe a far parte del nuovo ambiente windows progettato principalmente per l ambito mobile. Aggiornare il software con una versione che ne integri le funzionalità proprie di una GUI per interazioni touch è sicuramente la scelta da preferire per riutilizzare quanto più codice possibile. I tempi di sviluppo e in questo caso sono inferiori alle altre soluzioni proposte e si ha il vantaggio, inoltre, di disporre di un unica applicazione integrata con desktop e tablet che rende meno costosa la sua manutenzione. Per queste motivazioni è stato scelto di portare l applicazione su sistemi Windows 8. II.5.2 Implementazione di interazioni touch su Windows 8 Come già accennato, ci sono tre modi per implementare l'input touch e le gesture in una applicazione Microsoft Windows 8. Si possono infatti utilizzare i messaggi WM_POINTER, WM_GESTURE o WM_TOUCH. In questo paragrafo si analizzeranno alcuni codici di esempio. WM_POINTER è il più semplice da implementare e supporta la più ricca serie di gesti, ma funziona solo su Windows 8. WM_GESTURE è facile da implementare, ed è compatibile con 63

73 CAPITOLO II MITO MEDICAL IMAGING TOOLKIT Windows 7, ma ha alcune limitazioni nel set delle gesture disponibili. WM_TOUCH è anch esso compatibile con Windows 7, ma richiede molto codice in quanto è necessario scrivere il proprio gesto e i riconoscitori di eventi touch di basso livello. II WM_POINTER I messaggi WM_POINTER sono la scelta consigliata da Microsoft per gestire l input touch per Windows 8 e comprendono messaggi come WM_POINTERDOWN e WM_POINTERUP. Questi messaggi sono supportati solo su Windows 8 e, di conseguenza, se si richiede la compatibilità con Windows 7, sarà necessario scegliere una delle altre due tecniche di implmentazione disponibili. I messaggi WM_POINTER forniscono un accesso ad alto livello agli eventi touch e sono integrati con la gestione degli eventi del sistema operativo. Questa tecnica di implementazione non ha bisogno di alcun codice di inizializzazione in quanto ogni applicazione è nativamente abilitata alla ricezione di messaggi WM_POINTER. Solo nel caso in cui si desideri utilizzare il mouse come dispositivo input touch, sarà necessario chiamare questa funzione. //Enable mouse to be pointer type EnableMouseInPointer(TRUE); Questa chiamata permette al mouse di generare messaggi WM_POINTER e, consentendo una gestione unificata dei messaggi relativi agli eventi di input, rappresenta un notevole vantaggio. Un applicazione che utilizza WM_POINTER riceve molteplici eventi gesture. Solitamente la sequenza parte da un singolo messaggio WM_POINTERDOWN seguito da un certo numero di messaggi WM_POINTERUPDATE ed un unico messaggio WM_POINTERUP alla fine. Ci sono, inoltre, altri messaggi come ad esempio 64

74 CAPITOLO II MITO MEDICAL IMAGING TOOLKIT WM_POINTERCAPTURECHANGED che viene utilizzato dal sistema per indicare che una finestra ha perso il possesso del suo pointer. All interno della funzione WndProc, il codice per gestire i messaggi inizia con una chiamata a GetPointerInfo che inizializza una struttura POINTER_INFO. Quest ultima contiene informazioni per descrive una touch gesture. Di seguito si mostra un esempio per il messaggio WM_POINTERDOWN. case WM_POINTERDOWN: // Get frame id from current message if (GetPointerInfo(GET_POINTERID_WPARAM(wParam), &pointerinfo)) { // Iterate over objects, respecting z-order: from the one at // the top to the one at the bottom. for (int i = 0; i < DRAWING_OBJECTS_COUNT; i++) { int iz = g_zorder[i]; if (g_objects[iz].hittest(pointerinfo.ptpixellocation)) { // Object was hit, add pointer so Interaction Context can process hr = ddpointerinteractioncontext (g_objects[iz].getinteractioncontext(), GET_POINTERID_WPARAM(wParam)); if (SUCCEEDED(hr)) { // Bring the current object to the front MoveToFront(iz); g_objects[iz].addpointer(get_pointerid_wparam(wparam)); ProcessPointerFrames(wParam, pointerinfo, iz); break; else if (i == DRAWING_OBJECTS_COUNT-1) { // No objects found in hit testing. // Assign this pointer to background. hr = ddpointerinteractioncontext (g_background.getinteractioncontext(), GET_POINTERID_WPARAM(wParam)); if (SUCCEEDED(hr)) { g_background.addpointer(get_pointerid_wparam(wparam)); ProcessBackgroundPointerFrames(wParam, pointerinfo); break; Se un oggetto viene toccato, si utilizza AddPointerInteractionContext per aggiungerlo ad una lista di interazione. Una volta individuato un oggetto, teniamo traccia dell'id touch da GET_POINTERID_WPARAM (wparam). 65

75 CAPITOLO II MITO MEDICAL IMAGING TOOLKIT Le funzioni ProcessPointerFrames e ProcessBackgroundPointerFrames controllano se il touch è già stato gestito, ottengono l elenco di tutti gli eventi touch in un pointer frame e li elaborarano con ProcessPointerFramesInteractionContext. II WM_GESTURE Il sistema basato su messaggi WM_GESTURE fornisce un accesso ad alto livello agli eventi touch supportati dal sistema. Questo è stato implementato originariamente per Windows 7 e portato successivamente su Windows 8. Ha un set di gesture limitato rispetto a quello di WM_POINTER ed è possibile lavorare su un solo oggetto alla volta. Il sistema richiede una configurazione iniziale dei gesti da riconoscere. Di seguito si riporta un esempio di inizializzazione: // WM_GESTURE configuration DWORD panwant = GC_PAN GC_PAN_WITH_SINGLE_FINGER_VERTICALLY GC_PAN_WITH_SINGLE_FINGER_HORIZONTALLY GC_PAN_WITH_INERTIA; GESTURECONFIG gestureconfig[] = { { GID_PAN, panwant, GC_PAN_WITH_GUTTER, { GID_ZOOM, GC_ZOOM, 0, { GID_ROTATE, GC_ROTATE, 0, { GID_TWOFINGERTAP, GC_TWOFINGERTAP, 0, { GID_PRESSANDTAP, GC_PRESSANDTAP, 0 ; SetGestureConfig(hWnd, 0, 5, gestureconfig, sizeof(gestureconfig)); WM_GESTURE rappresenta il modo più semplice di implementare un supporto per l input touch su windows 8 che sia retro compatibile con windows 7. Inoltre, questo sistema supporta nativamente l inerzia. Nella funzione WndProc, le informazioni sulla gesture vengono scaricate tramite GetGestureInfo. GESTUREINFO gestureinfo; ZeroMemory(&gestureInfo, sizeof(gestureinfo)); gestureinfo.cbsize = sizeof(gestureinfo); GetGestureInfo((HGESTUREINFO)lParam, &gestureinfo); 66

76 CAPITOLO II MITO MEDICAL IMAGING TOOLKIT Con queste informazioni siamo in grado di controllare i dettagli della gesture. Come succede con altri sistemi per la gestione delle touch gesture, viene inviato un messaggio iniziale, una sequenza di messaggi intermedia e un messaggio finale. switch(gestureinfo.dwid) { case GID_BEGIN: p.x = gestureinfo.ptslocation.x; p.y = gestureinfo.ptslocation.y; to for (int i=0; i<drawing_objects_count; i++) { int iz = g_zorder[i]; if (g_objects[iz].hittest(p)) { MoveToFront(iz); g_objects[iz].addpointer (gestureinfo.dwinstanceid); break; else if (i == DRAWING_OBJECTS_COUNT-1) { // No objects found in hit test, assign break; // background g_background.addpointer (gestureinfo.dwinstanceid); II WM_TOUCH WM_TOUCH fornisce una soluzione completa per la gestione delle touch gesture ma richiede una discreta quantità di codice in più rispetto ai due sistemi analizzati in precedenza. A differenza di questi, non utilizza notifiche per le gesture in quanto richiede una implementazione di basso livello. Per ricevere messaggi WM_TOUCH bisogna registrare la finestra con RegisterTouchWindow. Se si omette questa chiamata il sistema operativo invierà messaggi WM_GESTURE or WM_POINTER. Di seguito si mostra un codice di esempio per creare un processo di manipolazione ed inerzia. 67

77 CAPITOLO II MITO MEDICAL IMAGING TOOLKIT hr = CoCreateInstance(CLSID_ManipulationProcessor, NULL, CLSCTX_INPROC_SERVER, IID_IUnknown, (VOID**)(&g_pIManipulationProcessor[i])); hr = CoCreateInstance(CLSID_InertiaProcessor, NULL, CLSCTX_INPROC_SERVER, IID_IUnknown, (VOID**)(&g_pIInertiaProcessor[i])); g_pinertiaeventsink[i] = new CManipulationEventSink( g_piinertiaprocessor[i], hwnd, &g_objects[i], NULL); g_pmanipulationeventsink[i] = new CManipulationEventSink( g_pimanipulationprocessor[i] g_piinertiaprocessor[i], g_pinertiaeventsink[i], hwnd, &g_objects[i], NULL); Nella funzione WndProc, una volta ricevuto un messaggio WM_TOUCH, bisogna chiamare GetTouchInput per conoscere il set completo di tutti i contatti touch. Durante la manipolazione, viene chiamato ManipulationStarted che farà partire un timer per poter rilevare quando un input touch è stato trattenuto abbastanza da poter essere ritenuto in hold (impostato a 1000 millisecondi o 1 secondo). I dettagli di tale manipolazione sono fatte con ManipulationDelta, che uccide ogni timer hold esistente. Con ManipulationCompleted viene segnalato che una manipolazione è terminata [TOUCHCOD]. II Scelte implementative Dopo aver analizzato le alternative disponibili ed averle confrontate come è mostrato in Figura 44, al fine di implementare un supporto per interazioni touch, si preferisce utilizzare WM_GESTURE. Questa scelta è legata, oltre che alle esigenze di retro compatibilità con windows 7, alla sufficiente disponibilità di gesture implementabili. 68

78 CAPITOLO II MITO MEDICAL IMAGING TOOLKIT Figura 44 Confronto tra i diversi tipi di messaggi 69

79 ANALISI E PROGETTAZIONE DELL APPLICAZIONE Capitolo III Analisi e progettazione dell applicazione In questo capitolo, si analizzeranno gli aspetti funzionali della nuova applicazione, si descriveranno le classi coinvolte e si progetterà l aspetto grafico della nuova GUI con l ausilio di mockup. III.1 Introduzione Al fine di rendere disponibile la piattaforma MITO su dispositivi tablet, è necessaria una riprogettazione dell interfaccia grafica preesistente secondo le nuove esigenze. Gli eventi che gestiscono l interazione con la nuova GUI dovranno poi essere integrati ed ottimizzati per riceve ed elaborare interazioni touch che modifichino la visualizzazione delle immagini. Dopo aver definito i requisiti funzionali attraverso i diagrammi dei casi d uso e i relativi template di Cockburn, si individueranno le classi coinvolte. Una progettazione visuale attraverso mockup definirà l aspetto e le caratteristiche della nuova GUI in fase di sviluppo. III.2 Requisiti funzionali In questo paragrafo sono formalizzati i requisiti funzionali dell'applicazione. I diagrammi dei casi d'uso sono il punto di partenza della fase di analisi per la progettazione del nuovo software e vengono utilizzati per comprendere i requisiti del sistema e definire il dominio applicativo, le funzionalità che deve offrire e gli attori coinvolti. 70

80 ANALISI E PROGETTAZIONE DELL APPLICAZIONE III.2.1 Diagramma dei casi d uso L utente finale deve poter utilizzare il considerevole numero di funzionalità preesistenti e poter disporre di una nuova modalità di interazione semplice ed intuitiva attraverso il touch. Per questo scopo, saranno definiti i diagrammi dei casi d uso relativi ad ogni interfaccia grafica principale: Main GUI, 2D GUI, Volume Rendering GUI, Surface Rendering GUI. Ogni diagramma dei casi d uso sarà poi descritto attraverso i template di Cockburn definiti, per motivo di spazio, solo per alcuni casi rilevanti. Main GUI Figura 45 Diagramma dei casi d uso: Main GUI Use case #1 Goal in Context Precondition Success and Condition Importa uno studio Importare un nuovo studio Il sistema mostra un messaggio di errore Un nuovo studio è stato importato Failed and Condition Primary Actor Utente 71

81 ANALISI E PROGETTAZIONE DELL APPLICAZIONE Trigger L'Utente seleziona il bottone per importare uno studio Descrizione Step # Utente Sistema 1 Seleziona il bottone per importare un nuovo studio 2 Mostra la dialog realtiva alla scelta di un file o una cartella 3 Seleziona un file o una cartella e preme il bottone OK Subvariation A : bottone cancella 4 Mostra la dialog realtiva al caricamento 5 Mostra lo studio caricato e i dati relativi e visualizza nuovi bottoni Step # Utente Sistema 3a Seleziona il bottone cancella 4a Torna allo stato iniziale Use case #2 Goal in Context Interroga e recupera immagini da un PACS Recuperare uno studio da un PACS Precondition Success and Condition Un nuovo studio è stato recuperato da un PACS Failed and Condition Primary Actor Trigger Utente L'Utente seleziona il bottone Query/Retrieve Descrizione Step # Utente Sistema 1 Seleziona il bottone Query/Retrieve 2 Mostra la dialog realativa al download da PACS 72

82 ANALISI E PROGETTAZIONE DELL APPLICAZIONE 3 Seleziona uno studio da scaricare e preme il bottone download Extension A: 4 Mostra la dialog realtiva al caricamento 5 Mostra lo studio caricato e i dati relativi e visualizza nuovi bottoni Step # Utente Sistema Impossibile stabilire una connessione Subvariation A : bottone query Subvariation A : bottone cancella 4a Mostra a video un messaggio di errore e torna allo stato iniziale Step # Utente Sistema 3a 4a 5a 6a Seleziona il bottone query Imposta l interrogazione e preme il bottone OK Mostra la dialog relativa all interrogazione Mostra la dialog realtiva al caricamento 7 Mostra lo studio caricato e i dati relativi e visualizza nuovi bottoni 3b Seleziona il bottone cancella 4b Torna allo stato iniziale Use case #3 Goal in Context Invia immagini a un PACS Inviare immagini a un PACS 73

83 ANALISI E PROGETTAZIONE DELL APPLICAZIONE Precondition Success and Condition Failed and Condition Primary Actor Trigger Le immagini sono state inviate al PACS Il sistema mostra un messaggio di errore Utente L'Utente seleziona il bottone Send to PACS Descrizione Step # Utente Sistema 1 Seleziona il bottone Send to PACS Extension A: Impossibile stabilire una connessione Subvariation A : bottone cancella 2 Mostra la dialog realativa all upload a PACS 3 Seleziona il bottone Choose a series 4 Mostra la dialog realtiva alla scelta di un file o una cartella 5 Seleziona un file o una cartella e preme il bottone OK 6 Ritorna alla dialog realtiva all upload 7 Seleziona il bottone Send 8 Il sistema invia lo studio al PACS e torna allo stato iniziale Step # Utente Sistema 8a Mostra a video un messaggio di errore e torna allo stato iniziale Step # Utente Sistema 3a Seleziona il bottone cancella 4a Torna allo stato iniziale 74

84 ANALISI E PROGETTAZIONE DELL APPLICAZIONE Use case #4 Goal in Context Utilizza funzione Image Fusion Fondere immagini e visualizzarle Precondition Success and Condition Il sistema mostra il 2D Viewer con le immagini fuse Failed and Condition Primary Actor Trigger Utente L'Utente seleziona il bottone Image Fusion Descrizione Step # Utente Sistema 1 Seleziona il bottone Image Fusion 2 Mostra la dialog realtiva alla fusione delle immagini 3 Seleziona l algoritmo di fusione, le serie e il peso e preme il bottone OK Extension A: Immagini non selezionate 4 Mostra la dialog realtiva caricamento 5 Apre il visualizzatore 2D con le immagini fuse Step # Utente Sistema 3a Preme il bottone OK Subvariation A : bottone cancella Mostra a video il messaggio di errore Step # Utente Sistema 3a Seleziona il bottone cancella 4a Torna allo stato iniziale 75

85 ANALISI E PROGETTAZIONE DELL APPLICAZIONE Use case #5 Goal in Context Cancella uno studio Cancellare uno studio Precondition Success and Condition Uno studio è stato cancellato Failed and Condition Primary Actor Trigger Utente L'Utente seleziona uno studio e preme il bottone cancella Descrizione Step # Utente Sistema 1 Seleziona uno studio e preme il bottone cancella 2 Mostra la dialog realtiva alla scelta 3 Preme il bottone OK Subvariation A : bottone cancella Cancella lo studio dall hard drive Step # Utente Sistema 3a Seleziona il bottone NO Subvariation A : bottone cancella 4a Cancella lo studio dall album Step # Utente Sistema 3a Seleziona il bottone Annulla 4a Chiude la dialog relativa alla scelta e torna allo stato iniziale Use case #6 Goal in Context Precondition Success and Condition Vai al 2D Viewer Aprire il 2D Viewer L utente ha selezionato una serie Il sistema apre il 2D Viewer Failed and Condition 76

86 ANALISI E PROGETTAZIONE DELL APPLICAZIONE Primary Actor Trigger Utente L'Utente seleziona il bottone 2D Viewer Descrizione Step # Utente Sistema 1 Seleziona il bottone 2D Viewer 2 Apre il 2D Viewer con le immagini della serie selezionata Viene descritto solo il caso d uso Vai al 2D Viewer perché Vai alla Volume Rendering GUI e Vai alla Surface Rendering GUI si riducono perfettamente al caso descritto. Use case #7 Goal in Context Precondition Success and Condition Failed and Condition Primary Actor Trigger Esporta uno studio L'utente risulta loggato L utente ha selezionato una serie Uno studio è stato esportato Il sistema mostra un messaggio di errore Utente L'Utente seleziona il bottone per esportare uno studio Descrizione Step # Utente Sistema 1 Seleziona il bottone per esportare uno studio 2 Mostra la dialog relativa alla scelta di una cartella 3 Seleziona una cartella e preme il bottone OK 4 Esporta la serie Subvariation A : bottone cancella Step # Utente Sistema 3a Seleziona il bottone Annulla 77

87 ANALISI E PROGETTAZIONE DELL APPLICAZIONE 4a Chiude la dialog relativa alla scelta e torna allo stato iniziale Use case #8 Goal in Context Precondition Success and Condition Utilizza funzione Anonymize Anonimizzare una serie L utente ha selezionato una serie Una serie è stata anonimizzata Failed and Condition Primary Actor Trigger Utente L'Utente seleziona il bottone Anonymize Descrizione Step # Utente Sistema 1 Seleziona il bottone Anonymize 2 Mostra la dialog relativa all anonimizzazio ne 3 Seleziona i campi da anonimizzare e preme OK 4 Mostra la dialog relativa alla scelta di una cartella 5 Sceglie una cartella e preme il bottone OK Subvariation A : bottone cancella 6 Anonimizza e salva la serie Step # Utente Sistema 3a Seleziona il bottone Annulla 4a Chiude la dialog relativa all anonimizzazio ne e torna allo stato iniziale Subvariation B : Step # Utente Sistema 78

88 ANALISI E PROGETTAZIONE DELL APPLICAZIONE bottone cancella 3a Seleziona il bottone Annulla 4a Chiude la dialog relativa alla scelta e torna al passo 2 2D GUI Figura 46 Diagramma dei casi d uso: 2D GUI Use case #1 Goal in Context Precondition Success and Condition Torna alla Home di MITO Tornare alla pagina principale 2D Viewer è aperto Il sistema ritorna alla pagina principale Failed and Condition Primary Actor Trigger Utente L'Utente seleziona il bottone MITO Descrizione Step # Utente Sistema 1 seleziona il bottone MITO 2 Chiude il 2D Viewer e ritorna alla pagina principale 79

89 ANALISI E PROGETTAZIONE DELL APPLICAZIONE Use case #2 Goal in Context Precondition Success and Condition Effettua una touch gesture Fondere immagini e visualizzarle Il 2D Viewer è aperto Il sistema modifica la visualizzazione dell immagine Failed and Condition Primary Actor Trigger Utente L'Utente effettua una gesture Descrizione Step # Utente Sistema 1 Effettua una gesture (pinch to zoom, pan, rotate) 2 Modifica la visualizzazione dell immagine Use case #3 Goal in Context Precondition Success and Condition Crea una ROI Creazione di una ROI Il 2D Viewer è aperto Il sistema mostra una ROI Failed and Condition Primary Actor Trigger Utente L'Utente seleziona un bottone per la creazione delle ROI Descrizione Step # Utente Sistema 1 Seleziona un bottone per la creazione delle ROI 2 Modifica la modalità di interazione 3 Crea la ROI 4 Visualizza la ROI 80

90 ANALISI E PROGETTAZIONE DELL APPLICAZIONE Volume rendering GUI Figura 47 Diagramma dei casi d uso: Volume Rendering GUI Use case #1 Goal in Context Precondition Success and Condition Seleziona la modalità di rendering Seleziona La Volume Rendering GUI è aperta Il sistema Failed and Condition Primary Actor Trigger Utente L'Utente seleziona il box relativo alla scelta della modalità di rendering Descrizione Step # Utente Sistema 1 Seleziona il box relativo alla scelta della modalità di rendering 2 Mostra le possibili scelte 3 Seleziona una opzione 4 Visualizza la ricostruzione secondo il tipo di rendering impostato 5 Imposta la qualità 81

91 ANALISI E PROGETTAZIONE DELL APPLICAZIONE 6 Visualizza la ricostruzione secondo la qualità impostata Use case #2 Goal in Context Precondition Success and Condition Effettua uno shading Seleziona La Volume Rendering GUI è aperta Il sistema visualizza le immagini con lo shading Failed and Condition Primary Actor Trigger Utente L'Utente seleziona il bottone change Descrizione Step # Utente Sistema 1 Seleziona il bottone change 2 Mostra la dialog relativa alla configurazione dello shading 3 Configura lo shading e preme il bottone Apply 4 Visualizza la ricostruzione secondo il tipo di shading impostato 5 Imposta la qualità Subvariation A : bottone cancella 6 Visualizza la ricostruzione secondo la qualità impostata Step # Utente Sistema 3a Seleziona il bottone Close 4a Chiude la dialog relativa alla configurazione dello shading e torna al visualizzatore 82

92 ANALISI E PROGETTAZIONE DELL APPLICAZIONE Use case #2 Goal in Context Precondition Success and Condition Seleziona tissue Visualizzare tissue La Volume Rendering GUI è aperta Il sistema visualizza le immagini elaborate Failed and Condition Primary Actor Trigger Utente L'Utente seleziona il box relativo al CLUT Descrizione Step # Utente Sistema 1 Seleziona il box relativo al CLUT 2 Mostra le possibili scelte 3 Seleziona una opzione 4 Visualizza la ricostruzione secondo il tipo di CLUT impostato 5 Seleziona il bottone WL/WW Trascina il dito sullo schermo per impostare i parametri 6 Visualizza la ricostruzione secondo i nuovi parametri 83

93 ANALISI E PROGETTAZIONE DELL APPLICAZIONE Surface Rendering GUI Figura 48 Diagramma dei casi d uso: Surface Rendering GUI Use case #2 Goal in Context Precondition Success and Condition Imposta le proprietà del Surface Rendering Seleziona La Surface Rendering GUI è aperta Il sistema visualizza le immagini con le proprietà impostate Failed and Condition Primary Actor Trigger Utente L'Utente seleziona il bottone change Descrizione Step # Utente Sistema 1 Seleziona il bottone change 2 Mostra la dialog relativa alla configurazione del Surface Rendering 3 Configura le proprietà e preme il bottone Apply Subvariation A : bottone cancella 4 Visualizza la ricostruzione secondo le proprietà impostate Step # Utente Sistema 3a Seleziona il bottone Close 84

94 ANALISI E PROGETTAZIONE DELL APPLICAZIONE 4a Chiude la dialog relativa alla configurazione dello shading e torna al visualizzatore III.3 Classi individuate In questo paragrafo sono trattate le classi fondamentali utilizzate per lo sviluppo della nuova GUI e delle nuove funzionalita di interazione touch. III.3.1 Interfaccia grafica La classe wxmitoapp in Figura 49 deriva direttamente da wxapp e si occupa della creazione della nuova applicazione. Figura 49 Class Diagram: wxmitoapp 85

95 ANALISI E PROGETTAZIONE DELL APPLICAZIONE Figura 50 Class Diagram: wxmaingui 86

96 ANALISI E PROGETTAZIONE DELL APPLICAZIONE La classe wxmaingui in Figura 50 si occupa della creazione e gestione della nuova interfaccia utente principale. Figura 51 Class Diagram: wx2dgui La classe wx2dgui si occupa della crezione e gestione del nuovo visualizzatore 2D. 87

97 ANALISI E PROGETTAZIONE DELL APPLICAZIONE Figura 52 Class Diagram: wxvolumerenderinggui 88

98 ANALISI E PROGETTAZIONE DELL APPLICAZIONE La classe wxvolumerenderinggui si occupa della creazione e gestione della nuova interfaccia per la ricostruzione tramite il Direct Volume Rendering. Figura 53 Class Diagram: wxsurfacerenderinggui 89

99 ANALISI E PROGETTAZIONE DELL APPLICAZIONE La classe wxsurfacerenderinggui si occupa della creazione e gestione della nuova interfaccia per la ricostruzione tramite il Direct Volume Rendering. III.3.2 Interazioni touch Le touch gesture disponibili per la nuova interazione saranno tre: pinch to zoom, pan e rotate. Attraverso questi semplici comandi gestuali sarà possibile comandare le funzioni di image processing del 2D Viewer, della Volume Rendering GUI e della Surface Rendering GUI. In Figura 54 sono illustrate le touch gesture da implementare. Il Panning with Inertia, che in figura è rappresentato sia con un dito che con due dita, sarà configurato per funzionare esclusivamente con 2 dita. Questa scelta è dovuta alla necessità di riservare la gesture ad un solo dito per altre funzionalità di image processing del sistema. Figura 54 Touch gesture La classe appwxvtkinteractor si occupa dell interazione dell interfaccia grafica con la libreria VTK responsabile della visualizzazione delle immagini medicali. deriva da appwxvtkrenderwindowintercator 90

100 ANALISI E PROGETTAZIONE DELL APPLICAZIONE Figura 55 Class Diagram: appwxvtkinteractor 91

101 ANALISI E PROGETTAZIONE DELL APPLICAZIONE III.4 Mockup dell interfaccia grafica La nuova interfaccia grafica dovrà essere ottimizzata per un utilizzo su dispositivi tablet e quindi sarà rinnovata e semplificata. In aggiunta alle interfacce grafiche già descritte, sarà creato uno splash screen da visualizzare all avvio dell applicazione. Uno splash screen è l'immagine che viene visualizzata quando un'applicazione è in fase di caricamento. Figura 56 Mockup: splash screen Figura 57 Mockup: Main GUI (1) 92

102 ANALISI E PROGETTAZIONE DELL APPLICAZIONE Figura 58 Mockup: Main GUI (2) La Main GUI presenta a sinistra gli strumenti disponibili e a destra l album. Inizialmente, come in Figura 58 sono presenti solo 5 bottoni. Successivamente, dopo aver selezionato una serie, come in Figura 59, vengono visualizzati altri 5 bottoni relativi alle operazioni effettuabili su una serie. Figura 59 Mockup: 2D GUI La 2D GUI presenta a sinistra le funzionalità disponibili e a destra il visualizzatore di immagini medicali. Toccando l icona di MITO è possibile tornare alla Main GUI. 93

Studio tecnologico per il porting di MITO (Medical Imaging TOolkit) su dispositivi mobili

Studio tecnologico per il porting di MITO (Medical Imaging TOolkit) su dispositivi mobili Consiglio Nazionale delle Ricerche Istituto di Calcolo e Reti ad Alte Prestazioni Studio tecnologico per il porting di MITO (Medical Imaging TOolkit) su dispositivi mobili Alessio Pierluigi Placitelli

Dettagli

Applicazioni 3D avanzate

Applicazioni 3D avanzate Azienda Ospedaliera Card. G. Panico Applicazioni 3D avanzate VR e segmentazione delle articolazioni: campi applicativi Indice Applicazioni 3D avanzate Articolazioni e grandi macchine 1. Definizioni 2.

Dettagli

SISTEMA DI MISURAZIONE, SISTEMA DI RICOSTRUZIONE, SISTEMA DI VISUALIZZAZIONE

SISTEMA DI MISURAZIONE, SISTEMA DI RICOSTRUZIONE, SISTEMA DI VISUALIZZAZIONE LA TOMOGRAFIA COMPUTERIZZATA: MODALITA DI FORMAZIONE DELL IMMAGINE SISTEMA DI MISURAZIONE, SISTEMA DI RICOSTRUZIONE, SISTEMA DI VISUALIZZAZIONE SISTEMA DI MISURAZIONE: ACQUISIZIONE DELL IMMAGINE TC Un

Dettagli

Teleradiologia: la larga banda nei servizi di rete per la telemedicina

Teleradiologia: la larga banda nei servizi di rete per la telemedicina Teleradiologia: la larga banda nei servizi di rete per la telemedicina Mario Magliulo - Marco Salvatore IBB - Consiglio Nazionale delle Ricerche Università degli Studi di Napoli Federico II Mario Magliulo

Dettagli

Corso di Informatica

Corso di Informatica CdLS in Odontoiatria e Protesi Dentarie Corso di Informatica Prof. Crescenzio Gallo crescenzio.gallo@unifg.it Immagini radiologiche!2 PACS PACS è l'acronimo anglosassone di Picture archiving and communication

Dettagli

Reti avanzate su IP per applicazioni sanitarie

Reti avanzate su IP per applicazioni sanitarie Reti avanzate su IP per applicazioni sanitarie C era una volta. I cambiamenti nel mondo della medicina hanno consentito passi in avanti impensabili solo alcuni anni fa. La cura del paziente ha beneficiato

Dettagli

Tecniche di Post-processing. Tsrm Dr. Daniele Di Di Feo Dir U.O. Dr C.Fonda A.O.U. Meyer Firenze

Tecniche di Post-processing. Tsrm Dr. Daniele Di Di Feo Dir U.O. Dr C.Fonda A.O.U. Meyer Firenze Tecniche di Post-processing Tsrm Dr. Daniele Di Di Feo Dir U.O. Dr C.Fonda A.O.U. Meyer Firenze introduzioni Gli algoritmi di visualizzazione tridimensionale richiedono l uso di dati di tipo volumetrico,,

Dettagli

Integrazione di Sistemi Informativi Sanitari attraverso l uso di Middleware Web Services

Integrazione di Sistemi Informativi Sanitari attraverso l uso di Middleware Web Services Consiglio Nazionale delle Ricerche Istituto di Calcolo e Reti ad Alte Prestazioni Integrazione di Sistemi Informativi Sanitari attraverso l uso di Middleware Web Services I. Marra M. Ciampi RT-ICAR-NA-06-04

Dettagli

Interazione luce - materia

Interazione luce - materia Interazione luce - materia 1 Modelli di illuminazione Il modello di illuminazione descrive l interazione tra la luce e gli oggetti della scena Descrive i fattori che determinano il colore di un punto della

Dettagli

Fusione di immagini PET, CT, MR: dalla clinica alle applicazioni avanzate. Dott. Roberto Sghedoni Dott.ssa Federica Fioroni Servizio di Fisica Medica

Fusione di immagini PET, CT, MR: dalla clinica alle applicazioni avanzate. Dott. Roberto Sghedoni Dott.ssa Federica Fioroni Servizio di Fisica Medica Fusione di immagini PET, CT, MR: dalla clinica alle applicazioni avanzate Dott. Roberto Sghedoni Dott.ssa Federica Fioroni Servizio di Fisica Medica L evoluzione tecnologica ha reso disponibili numerose

Dettagli

UNIVERSITÀ - OSPEDALE di PADOVA MEDICINA NUCLEARE 1. Lezione 12: Nozioni su IHE. D. Cecchin, F. Bui DEFINIZIONI : IHE

UNIVERSITÀ - OSPEDALE di PADOVA MEDICINA NUCLEARE 1. Lezione 12: Nozioni su IHE. D. Cecchin, F. Bui DEFINIZIONI : IHE UNIVERSITÀ - OSPEDALE di PADOVA MEDICINA NUCLEARE 1 Lezione 12: Nozioni su IHE D. Cecchin, F. Bui DEFINIZIONI : IHE IHE (Integrating the Healthcare Enterprise) e un progetto internazionale che ha lo scopo

Dettagli

Fusione delle Immagini in Radioterapia Riccardo Ragona Università di Torino

Fusione delle Immagini in Radioterapia Riccardo Ragona Università di Torino Fusione delle Immagini in Radioterapia Riccardo Ragona Università di Torino Introduzione Transformazioni Algoritmi Visualizzazione Validazione Applicazioni Conclusioni Perche la Fusione delle Immagini?

Dettagli

Sistemi Digitali per le Radiologie RIS & PACS

Sistemi Digitali per le Radiologie RIS & PACS Sistemi Digitali per le Radiologie RIS & PACS dr.ssa Michelina Graziano Responsabile Tecnologico di Sistema ASP di Cosenza Sistemi Digitali per le Radiologie RIS &PACS L avvento dell imaging diagnostico

Dettagli

1.3a: La Codifica Digitale delle Immagini

1.3a: La Codifica Digitale delle Immagini 1.3a: La Codifica Digitale delle Immagini Bibliografia Curtin, 4.7 e 4.9 (vecchie edizioni) Curtin, 3.7 e 3.9 (nuova edizione) CR pag. 14-18 Questi lucidi La codifica delle immagini: Pixel Un immagine

Dettagli

suite suite Piattaforma di Gestione della Diagnostica per Immagini

suite suite Piattaforma di Gestione della Diagnostica per Immagini suite 3D 2D 4D suite Piattaforma di Gestione della Diagnostica per Immagini suite Piattaforma di Gestione della Diagnostica per Immagini Piattaforma integrata basata su tecnologia web, ideata per ottimizzare

Dettagli

Lezione1. Cos è la computer grafica. Lezione del 10 Marzo 2010. Michele Antolini Dipartimento di Ingegneria Meccanica Politecnico di Milano

Lezione1. Cos è la computer grafica. Lezione del 10 Marzo 2010. Michele Antolini Dipartimento di Ingegneria Meccanica Politecnico di Milano Lezione1 Informatica Grafica Cos è la computer grafica Lezione del 10 Marzo 2010 Grafica OpenGL vs Direct Dipartimento di Ingegneria Meccanica Politecnico di Milano 1.1 Tubo a Raggi Catodici Cathode Ray

Dettagli

OsiriX: Architettura e Use Cases

OsiriX: Architettura e Use Cases Consiglio Nazionale delle Ricerche Istituto di Calcolo e Reti ad Alte Prestazioni OsiriX: Architettura e Use Cases I. Marra M. Ciampi RT-ICAR-NA-06-08 03-2006 Consiglio Nazionale delle Ricerche, Istituto

Dettagli

TOMOGRAFIA TIPI DI TOMOGRAFIA

TOMOGRAFIA TIPI DI TOMOGRAFIA TOMOGRAFIA Il termine tomografia deriva dal Greco antico e significa rappresentazione di un corpo tridimensionale (3D) mediante una serie di sue sezioni trasverse bidimensionali (2D). Nell imaging medico

Dettagli

Improvements in quality and quantification of 3D PET images

Improvements in quality and quantification of 3D PET images Università degli Studi di Milano Bicocca Facoltà di Scienze Matematiche, Fisiche e Naturali Dottorato di Ricerca in Fisica e Astronomia Coordinatore: Prof. Giberto Chirico Tesi di Dottorato di Ricerca

Dettagli

Informatica. Prof. Pierpaolo Vittorini. University of L Aquila Dep. of Life, Health and Environmental Sciences

Informatica. Prof. Pierpaolo Vittorini. University of L Aquila Dep. of Life, Health and Environmental Sciences Informatica Prof. Pierpaolo Vittorini University of L Aquila Dep. of Life, Health and Environmental Sciences Pierpaolo Vittorini (UnivAQ) Informatica 1 / 22 Imaging Pierpaolo Vittorini (UnivAQ) Informatica

Dettagli

Sistemi informatici in ambito radiologico. Architettura dei sistemi RIS-PACS RIS. Radiology Information System

Sistemi informatici in ambito radiologico. Architettura dei sistemi RIS-PACS RIS. Radiology Information System Sistemi informatici in ambito radiologico Dott. Ing. Andrea Badaloni A.A. 2015-2016 Architettura dei sistemi RIS-PACS Radiology Information System RIS Un sistema informatico dedicato all ambito radiologico

Dettagli

L informatica nella Sanità

L informatica nella Sanità L informatica nella Sanità Perché usare l informatica nella Sanità? Continuità assistenziale Centralità del paziente Trasparenza negli atti amministrativi e sanitari Migliore gestione delle linee guida

Dettagli

MRA VERSUS CTA Tecniche a Confronto

MRA VERSUS CTA Tecniche a Confronto MRA VERSUS CTA Tecniche a Confronto L IMMAGINE ANGIOGRAFICA TC Firenze, 5-65 6 Dicembre 2008 GENERAZIONI DI TOMOGRAFI COMPUTERIZZATI I generazione Le tappe evolutive dei tomografi computerizzati dal 1973

Dettagli

Ricostruzione e visualizzazione 3D di un cervello da acquisizioni manuali di sezioni istologiche

Ricostruzione e visualizzazione 3D di un cervello da acquisizioni manuali di sezioni istologiche Ricostruzione e visualizzazione 3D di un cervello da acquisizioni manuali di sezioni istologiche Sergio Demelio e Enrico Gobbetti CRS4 Centro di Ricerca, Sviluppo e Studi Superiori in Sardegna VI Strada

Dettagli

Imaging. Informatica. Prof. Pierpaolo Vittorini pierpaolo.vittorini@univaq.it

Imaging. Informatica. Prof. Pierpaolo Vittorini pierpaolo.vittorini@univaq.it pierpaolo.vittorini@univaq.it Università degli Studi dell Aquila Dip.to di Medicina Interna, Sanità Pubblica, Scienze della Vita e dell Ambiente Codifica di segnali I segnali provenienti da un apparato

Dettagli

Cosa dovrebbero sapere i genitori sulla sicurezza delle radiazioni per uso medico

Cosa dovrebbero sapere i genitori sulla sicurezza delle radiazioni per uso medico Cosa dovrebbero sapere i genitori sulla sicurezza delle radiazioni per uso medico Gli esami radiologici consentono ai medici di effettuare la diagnosi e decidere il corretto iter terapeutico dei loro pazienti.

Dettagli

CORSO di LAUREA per TECNICI SANITARI di RADIOLOGIA MEDICA

CORSO di LAUREA per TECNICI SANITARI di RADIOLOGIA MEDICA CORSO di LAUREA per TECNICI SANITARI di RADIOLOGIA MEDICA TECNICA DI RADIOLOGIA SCHELETRICA CRANIO COLONNA VERTEBRALE SCHELETRO TORACICO ARTO SUPERIORE BACINO ARTO INFERIORE Il cammino nel tempo dei raggi

Dettagli

Applicazione dei principi e delle metodologie della Fisica alla medicina. F. Paolo Gentile FISICA MEDICA. Canale Monterano (RM)

Applicazione dei principi e delle metodologie della Fisica alla medicina. F. Paolo Gentile FISICA MEDICA. Canale Monterano (RM) F. Paolo Gentile Canale Monterano (RM) FISICA MEDICA Applicazione dei principi e delle metodologie della Fisica alla medicina 1 Chi è il Fisico medico? Il Fisico medico è una figura professionale che applica

Dettagli

Corso di Laurea in Tecniche di Radiologia Medica, per Immagini e Radioterapia TRMIR

Corso di Laurea in Tecniche di Radiologia Medica, per Immagini e Radioterapia TRMIR Corso di Laurea in Tecniche di Radiologia Medica, per Immagini e Radioterapia TRMIR Prof. Paolo Randaccio Dott.ssa Antonella Fais Dott. Giovanni Angelo Porcu Corso di Laurea in Tecniche di Radiologia Medica,

Dettagli

Le tecnologie: schede tecniche

Le tecnologie: schede tecniche Le tecnologie: schede tecniche Il nuovo reparto di Radioterapia del Polo Oncologico Businco e Microcitemico di Cagliari si configura come un sistema altamente integrato per l implementazione di tecniche

Dettagli

Sistemi Elettronici e informatici in ambito Radiologico // Informatica Medica parte c A.A. 2014-15

Sistemi Elettronici e informatici in ambito Radiologico // Informatica Medica parte c A.A. 2014-15 Sistemi Elettronici e informatici in ambito Radiologico // Informatica Medica parte c A.A. 2014-15 Agostino ACCARDO Dipartimento di Ingegneria e Architettura 040-5587148 accardo@units.it Testi di riferimento:

Dettagli

Workstation Diagnostica

Workstation Diagnostica Workstation Diagnostica Workstation Diagnostica I tuoi vantaggi:» facilità d uso e incremento della produttività» velocità nel caricamento immagini, anche da CD» imaging processing avanzato e professionale»

Dettagli

ITALIANO. Planmeca Romexis

ITALIANO. Planmeca Romexis ITALIANO Planmeca Romexis Tutto in un software Imaging dentale raffinato Planmeca Romexis è un software completo per l acquisizione, la visualizzazione e l elaborazione di immagini 2D e 3D. Tutte le immagini

Dettagli

Information Visualization

Information Visualization Information Visualization Introduzione alla CG Prof. Andrea F. Abate abate@unisa.it http://www.unisa.it/docenti/andreafrancescoabate/index CG e VR: cosa sono e a cosa servono Con il termine Computer Graphics,

Dettagli

Sistema Informativo Sanitario PACS/RIS e Cartella Clinica Elettronica. Studio Systema srl

Sistema Informativo Sanitario PACS/RIS e Cartella Clinica Elettronica. Studio Systema srl Sistema Informativo Sanitario PACS/RIS e Cartella Clinica Elettronica Studio Systema srl Sistema Informativo Sanitario: i moduli SIS - Sistema Informativo Sanitario modulo base PACS - Picture Archiving

Dettagli

Innovazione, in modo accessibile. 9000 3D. Sistema di radiografia extraorale KODAK 9000 3D

Innovazione, in modo accessibile. 9000 3D. Sistema di radiografia extraorale KODAK 9000 3D Innovazione, in modo accessibile. 9000 3D Sistema di radiografia extraorale KODAK 9000 3D Il futuro è arrivato Tecnologia 3D disponibile subito La radiografia dentale si è evoluta; la tecnologia del futuro

Dettagli

Tavolo tecnico per il Governo della spesa pubblica dei dispositivi medici

Tavolo tecnico per il Governo della spesa pubblica dei dispositivi medici FEDERCHIMICA CONFINDUSTRIA AISPEC Gruppo prodotti sensibili Introduzione Tavolo tecnico per il Governo della spesa pubblica dei dispositivi medici Considerazioni del Gruppo Prodotti Sensibili Settore diagnostica

Dettagli

PACS. ( Sistemi di archiviazione e comunicazione dell immagine ) Nicola H. Strickland Pubblicato su Archives of Disease in Childhood 2000; 83:82-86

PACS. ( Sistemi di archiviazione e comunicazione dell immagine ) Nicola H. Strickland Pubblicato su Archives of Disease in Childhood 2000; 83:82-86 PACS ( Sistemi di archiviazione e comunicazione dell immagine ) Radiologia senza pellicola Nicola H. Strickland Pubblicato su Archives of Disease in Childhood 2000; 83:82-86 * Giugno 2000 * 1 Introduzione

Dettagli

L NFORMATICA APPLICATA ALLA RADIOLOGIA. Anna Angeloni

L NFORMATICA APPLICATA ALLA RADIOLOGIA. Anna Angeloni L NFORMATICA APPLICATA ALLA RADIOLOGIA Anna Angeloni Gli strumenti utilizzati in radiologia digitale Modalità digitali Rete telematica ( LAN) Applicativo per la gestione della cartella radiologica (RIS)

Dettagli

Presentazione soluzione medicale OKI DICOM: ES6410DM (A4) ES7411DM (A4) ES8431DM (A3) ES9410DM (A3+)

Presentazione soluzione medicale OKI DICOM: ES6410DM (A4) ES7411DM (A4) ES8431DM (A3) ES9410DM (A3+) Presentazione soluzione medicale OKI DICOM: ES6410DM (A4) ES7411DM (A4) ES8431DM (A3) ES9410DM (A3+) Lo standard DICOM (Digital Imaging and COmmunications in Medicine, immagini e comunicazione digitali

Dettagli

Un modo completamente nuovo di vedere i vostri pazienti. Sistema di radiografia digitale 3D a fascio conico (Cone Beam) per applicazione dentale

Un modo completamente nuovo di vedere i vostri pazienti. Sistema di radiografia digitale 3D a fascio conico (Cone Beam) per applicazione dentale Un modo completamente nuovo di vedere i vostri pazienti. Sistema di radiografia digitale 3D a fascio conico (Cone Beam) per applicazione dentale Riduzione dei costi e produzione di immagini ad alto contenuto

Dettagli

SISTEMI RIS/PACS: AGGIORNAMENTI SUL TEMA

SISTEMI RIS/PACS: AGGIORNAMENTI SUL TEMA SISTEMI RIS/PACS: AGGIORNAMENTI SUL TEMA Verso l integrazione delle immagini e i CAD Giovanna Rizzo IBFM-CNR, Milano Milano, 18 gennaio 2007 WORKSTATION DI REFERTAZIONE EVOLUZIONI Elaborazione Integrazione

Dettagli

La Diagnostica Radiologica Emergente: Mammografia Digitale

La Diagnostica Radiologica Emergente: Mammografia Digitale Controversie e Innovazioni in Senologia Bari 23-25 Febbraio 2005 HOTEL AMBASCIATORI - BARI La Diagnostica Radiologica Emergente: Mammografia Digitale Marcello Viterbo Studio Radiologico Viterbo - Di Carlo

Dettagli

La codifica delle immagini

La codifica delle immagini Lettere e numeri non costituiscono le uniche informazioni utilizzate dagli elaboratori ma si stanno diffondendo sempre di più applicazioni che utilizzano ed elaborano anche altri tipi di informazione:

Dettagli

TAC SPIRALE MULTISTRATO DA ALMENO 32 STRATI COMPLETA DI WORKSTATION DI POST-ELABORAZIONE INDIPENDENTE

TAC SPIRALE MULTISTRATO DA ALMENO 32 STRATI COMPLETA DI WORKSTATION DI POST-ELABORAZIONE INDIPENDENTE TAC SPIRALE MULTISTRATO DA ALMENO 32 STRATI COMPLETA DI WORKSTATION DI POST-ELABORAZIONE INDIPENDENTE CARATTERISTICHE TECNICHE E FUNZIONALI MINIME PENA L ESCLUSIONE SARANNO VALUTATI I SEGUENTI REQUISITI

Dettagli

Guida di Brother Image Viewer per Android

Guida di Brother Image Viewer per Android Guida di Brother Image Viewer per Android Versione 0 ITA Definizioni delle note Nella presente Guida dell utente viene utilizzata la seguente icona: NOTA Le note forniscono istruzioni da seguire in determinate

Dettagli

Codifica dell informazione

Codifica dell informazione Codifica Cosa abbiamo visto : Rappresentazione binaria Codifica dei numeri (interi positivi, interi con segno, razionali.) Cosa vedremo oggi: Codifica dei caratteri,codifica delle immagini,compressione

Dettagli

I formati dei file immagine

I formati dei file immagine I formati dei file immagine Le immagini vettoriali Le immagini vettoriali sono caratterizzate da linee e curve definite da entità matematiche chiamate vettori I vettori sono segmenti definti da un punto

Dettagli

Interstudio L INGEGNERE NELLE NUVOLE. App, WEB App e Cloud. ing. Sauro Agostini. Architectural & Engineering Software. venerdì 11 ottobre 13

Interstudio L INGEGNERE NELLE NUVOLE. App, WEB App e Cloud. ing. Sauro Agostini. Architectural & Engineering Software. venerdì 11 ottobre 13 Architectural & Engineering Software L INGEGNERE NELLE NUVOLE App, WEB App e Cloud ing. Sauro Agostini Mitterand 1981 Reagan Battaglin Alice IBM PC 5150 Alonso C ERA UNA VOLTA IL DOS Non è una rivoluzione,

Dettagli

CAPITOLATO SIMULATORE

CAPITOLATO SIMULATORE AZIENDA OSPEDALIERA PUGLIESE - CIACCIO AREA ACQUISIZIONE BENI E SERVIZI Sede legale: Via V. Cortese, 10 88100Catanzaro Via V. Cortese, 25-88100 CATANZARO Tel. 0961.883582 Fax 0961.883505 P.IVA 01991520790

Dettagli

TOMOGRAFO COMPUTERIZZATO MULTISLICE DI ALTA GAMMA A 64 SLICE

TOMOGRAFO COMPUTERIZZATO MULTISLICE DI ALTA GAMMA A 64 SLICE Allegato H OGGETTO: RISTRUTTURAZIONE DI ALCUNI LOCALI SITI AL PIANO SEMINTERRATO DELL OSPEDALE SAN CAMILLO DE LELLIS DI RIETI PER L ACQUISIZIONE E L INSTALLAZIONE DELLA DIAGNOSTICA TAC A SERVIZIO DEL PRONTO

Dettagli

Informatica Grafica. Prof. Massimiliano Dellisanti Fabiano Vilardi. (2a parte) a.a. 2011/2012

Informatica Grafica. Prof. Massimiliano Dellisanti Fabiano Vilardi. (2a parte) a.a. 2011/2012 Informatica Grafica (2a parte) a.a. 2011/2012 Prof. Massimiliano Dellisanti Fabiano Vilardi 1 Grafica 3D Con Grafica 3D si indicano quelle tecniche informatiche finalizzate alla descrizione (e rappresentazione

Dettagli

1st page. Cosa dovrebbero sapere i genitori a proposito della sicurezza radiologica nella Radiologia Interventistica Pediatrica

1st page. Cosa dovrebbero sapere i genitori a proposito della sicurezza radiologica nella Radiologia Interventistica Pediatrica 1st page Cosa dovrebbero sapere i genitori a proposito della sicurezza radiologica nella Radiologia Interventistica Pediatrica 1 2nd page Le tecniche di produzione di immagini aiutano i medici a vedere

Dettagli

Universita degli Studi di Napoli Federico II. Scansione Tridimensionale con Metodi a Luce Debolmente Strutturata

Universita degli Studi di Napoli Federico II. Scansione Tridimensionale con Metodi a Luce Debolmente Strutturata Universita degli Studi di Napoli Federico II Facolta di Ingegneria Corso di laurea in Ingegneria Elettronica Tesi di Laurea Scansione Tridimensionale con Metodi a Luce Debolmente Strutturata Relatore:

Dettagli

Struttura Complessa Fisica Sanitaria

Struttura Complessa Fisica Sanitaria Struttura Complessa Fisica Sanitaria DIPARTIMENTO AD ATTIVITA INTEGRATA DI DIAGNOSTICA PER IMMAGINI Direttore: prof.ssa Maria Assunta Cova STRUTTURA COMPLESSA DI FISICA SANITARIA Direttore: dott. Mario

Dettagli

LA CODIFICA DELLE IMMAGINI

LA CODIFICA DELLE IMMAGINI asdf LA CODIFICA DELLE IMMAGINI 3 March 2012 Premessa L'articolo che segue vuole essere, senza alcuna pretesa di rigore scientifico e di precisione assoluta, in quanto non ne possiedo le competenze, una

Dettagli

SISTEMA DIAGNOSTICO GAMMA CAMERA 1

SISTEMA DIAGNOSTICO GAMMA CAMERA 1 ALLEGATO A Azienda USL n. 8 Cagliari SISTEMA DIAGNOSTICO GAMMA CAMERA 1 Descrizione della fornitura ed esigenze cliniche: 1 Apparecchiature da fornire ed esigenze cliniche: 1 Esigenze cliniche 1 Caratteristiche

Dettagli

Potente semplicità. Sorprendentemente conveniente.

Potente semplicità. Sorprendentemente conveniente. Potente semplicità. Sorprendentemente conveniente. Kodak 8000/8000C Sistema per esami panoramici e cefalometrici digitali Un grande prodotto, reso ancora migliore Il nostro impegno è rivolto a migliorare

Dettagli

Convegni on-line. Descrizione dell Offerta. 25 novembre 2009. ver. 1.1. Sintresis s.r.l. tel: 0125/627026. 10015 Ivrea email: info@sintresis.

Convegni on-line. Descrizione dell Offerta. 25 novembre 2009. ver. 1.1. Sintresis s.r.l. tel: 0125/627026. 10015 Ivrea email: info@sintresis. Convegni on-line Descrizione dell Offerta 25 novembre 2009 ver. 1.1 Sintresis s.r.l. tel: 0125/627026 via Castiglia, 4 http://www.sintresis.it 10015 Ivrea email: info@sintresis.it Indice 1. Introduzione...3

Dettagli

Manuale istruzioni. Software Vimar By-web per dispositivi mobili Android Manuale per l'uso

Manuale istruzioni. Software Vimar By-web per dispositivi mobili Android Manuale per l'uso Manuale istruzioni Software Vimar By-web per dispositivi mobili Android Manuale per l'uso Contratto di licenza Vimar con l'utente finale VIMAR SPA con sede in Marostica (VI), Viale Vicenza n. 14 (http://www.vimar.com),

Dettagli

MONITOR DEGLI EVENTI PER SISTEMI MOBILI

MONITOR DEGLI EVENTI PER SISTEMI MOBILI UNIVERSITÀ DEGLI STUDI DI ROMA TOR VERGATA Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Informatica Progetto per il corso di Sicurezza dei Sistemi Informatici MONITOR DEGLI EVENTI

Dettagli

Società Italiana Sistemi 118 Accreditamento all Eccellenza dei Sistemi 118 CONGRESSO NAZIONALE. Perugia 8-10 maggio 2003

Società Italiana Sistemi 118 Accreditamento all Eccellenza dei Sistemi 118 CONGRESSO NAZIONALE. Perugia 8-10 maggio 2003 Società Italiana Sistemi 118 Accreditamento all Eccellenza dei Sistemi 118 CONGRESSO NAZIONALE Perugia 8-10 maggio 2003 LA TELEMEDICINA NEL TRAUMA SYSTEM Dott. Francesco Scomazzoni Dirigente medico di

Dettagli

Lezione 20: La grafica 3D ed il WEB. La grafica 3D ed il WEB. La grafica 3D ed il WEB. Contenuti non interattivi. Contenuti interattivi

Lezione 20: La grafica 3D ed il WEB. La grafica 3D ed il WEB. La grafica 3D ed il WEB. Contenuti non interattivi. Contenuti interattivi La grafica 3D ed il WEB Lezione 20: La grafica 3D ed il WEB Lo sviluppo che ha avuto Internet negli ultimi anni e' principalmente dovuto al WWW. Uno dei punto di forza del WWW e' la possibilita' di distribuire

Dettagli

Mammografia digitale e RIS-PACS in Regione Emilia Romagna

Mammografia digitale e RIS-PACS in Regione Emilia Romagna Mammografia digitale e RIS-PACS in Regione Emilia Romagna Modena 27 novembre 2008 Silvia Salimbeni in collaborazione con Rita Bisognin .un po di storia Fine anni 90 in tutta la Regione Emilia Romagna si

Dettagli

RADIATION DOSE MONITOR. Il DACS per Costruire la cultura della Bassa Dose

RADIATION DOSE MONITOR. Il DACS per Costruire la cultura della Bassa Dose RADIATION DOSE MONITOR Il DACS per Costruire la cultura della Bassa Dose Radiation Dose Monitor / COSA È UN DACS? / Il DACS (Dose Archiving and Communication System) rappresenta per il dato di dose quello

Dettagli

INDAGINE DI MERCATO. b) N.6 Licenza di collegamento a ecografi o workstation DICOM (anche di terze parti).

INDAGINE DI MERCATO. b) N.6 Licenza di collegamento a ecografi o workstation DICOM (anche di terze parti). UNIVERSITÀ DEGLI STUDI DELL AQUILA DIPARTIMENTO DI MEDICINA INTERNA E SANITÀ PUBBLICA Prot. 626 L Aquila 06. 06. 2012 AVVISO INDAGINE DI MERCATO Il Dipartimento di Medicina Interna e Sanità Pubblica ha

Dettagli

LA TOMOGRAFIA COMPUTERIZZATA: LA TECNOLOGIA SLIP RING LA TECNOLOGIA SPIRALE E LA TC MULTISTRATO. www.slidetube.it

LA TOMOGRAFIA COMPUTERIZZATA: LA TECNOLOGIA SLIP RING LA TECNOLOGIA SPIRALE E LA TC MULTISTRATO. www.slidetube.it LA TOMOGRAFIA COMPUTERIZZATA: LA TECNOLOGIA SLIP RING LA TECNOLOGIA SPIRALE E LA TC MULTISTRATO www.slidetube.it INTRODUZIONE Le prestazioni della TC precedentemente illustrate non sono ben rispondenti

Dettagli

La codifica delle Immagini. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132Sesto San Giovanni

La codifica delle Immagini. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132Sesto San Giovanni La codifica delle Immagini Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132Sesto San Giovanni Lettere e numeri non costituiscono le uniche informazioni utilizzate dagli elaboratori, infatti

Dettagli

Imaging con raggi X e rivelatori a microstrip

Imaging con raggi X e rivelatori a microstrip Laboratorio di Fisica Biomedica Imaging con raggi X e rivelatori a microstrip L. Ramello Universita del Piemonte Orientale Argomenti trattati Fasci di raggi X Tecniche di rivelazione dei raggi X Qualita

Dettagli

Un importante risparmio di tempo, che l'operatore può dedicare a ciò che è veramente importante il paziente!

Un importante risparmio di tempo, che l'operatore può dedicare a ciò che è veramente importante il paziente! il sistema radiografico polivalente specificatamente progettato per ottimizzare l'utilizzo dei moderni detettori a stato solido il suo design innovativo supera le classiche limitazioni della meccanica

Dettagli

10 argomenti a favore dell over IP

10 argomenti a favore dell over IP Quello che i fornitori di telecamere analogiche non dicono 10 argomenti a favore dell over IP Le telecamere di rete non sono certo una novità, infatti il primo modello è stato lanciato nel 1996. Nei primi

Dettagli

Indice generale. Introduzione...xv. Parte I Per iniziare Capitolo 1 Introduzione allo sviluppo ios con tecnologie web...3

Indice generale. Introduzione...xv. Parte I Per iniziare Capitolo 1 Introduzione allo sviluppo ios con tecnologie web...3 Introduzione...xv A chi si rivolge questo libro...xv Gli argomenti trattati...xv Com è organizzato il libro...xvi Cosa occorre per utilizzare il libro...xvii Convenzioni adottate...xvii Il codice sorgente...xviii

Dettagli

E evidente che il sistema di protezione sarà diverso a seconda del tipo di esposizione. Non vi è alcun beneficio diretto dell individuo

E evidente che il sistema di protezione sarà diverso a seconda del tipo di esposizione. Non vi è alcun beneficio diretto dell individuo RISCHIO DA ESPOSIZIONE L attenzione, la valutazione e la conseguente gestione del rischio va posta con la moderna pratica clinica anche al di fuori dei reparti solitamente ritenuti a rischio di Radiazioni

Dettagli

Il mondo della diagnostica per immagini ha visto il concludersi del

Il mondo della diagnostica per immagini ha visto il concludersi del DIAGNOSTICA PER IMMAGINI I controlli di qualità sui sistemi per la visualizzazione di immagini mediche: il nuovo protocollo dell Associazione Italiana di Fisica Medica Giacomo Belli U.O.C. Fisica Sanitaria,

Dettagli

Classificazione del software

Classificazione del software Classificazione del software Classificazione dei software Sulla base del loro utilizzo, i programmi si distinguono in: SOFTWARE Sistema operativo Software applicativo Sistema operativo: una definizione

Dettagli

Corso di Web programming Modulo T3 A2 - Web server

Corso di Web programming Modulo T3 A2 - Web server Corso di Web programming Modulo T3 A2 - Web server 1 Prerequisiti Pagine statiche e dinamiche Pagine HTML Server e client Cenni ai database e all SQL 2 1 Introduzione In questa Unità si illustra il concetto

Dettagli

CARATTERISTICHE DEL SOFTWARE DISO. Il software DISO è una procedura che permette la ricostruzione della dose nel punto di

CARATTERISTICHE DEL SOFTWARE DISO. Il software DISO è una procedura che permette la ricostruzione della dose nel punto di CARATTERISTICHE DEL SOFTWARE DISO Il software DISO è una procedura che permette la ricostruzione della dose nel punto di isocentro del trattamento con fasci 3D-CRT statici di raggi x erogati dai linac

Dettagli

Facoltà di Ingegneria

Facoltà di Ingegneria Università degli studi di Roma Tor Vergata Facoltà di Ingegneria Laurea in Ingegneria Informatica Creazione e animazione interattiva di grafica tridimensionale Relatore Ing. Francesco Martinelli Candidato

Dettagli

IMMAGINE BITMAP E VETTORIALI

IMMAGINE BITMAP E VETTORIALI BITMAP VETTORIALE VETTORIALE BITMAP IMMAGINE BITMAP è una immagine costituita da una matrice di Pixel. PIXEL (picture element) indica ciascuno degli elementi puntiformi che compongono la rappresentazione

Dettagli

IL SISTEMA INFORMATICO IN UN SERVIZIO DI NEURORADIOLOGIA PEDIATRICA

IL SISTEMA INFORMATICO IN UN SERVIZIO DI NEURORADIOLOGIA PEDIATRICA IL SISTEMA INFORMATICO IN UN SERVIZIO DI NEURORADIOLOGIA Dr. Luca Pazienza Dr. Nicola Zarrelli San Giovanni Rotondo (FG) 22-23 Ottobre 2004 PEDIATRICA Unità Operativa di Radiologia Poliambulatorio Giovanni

Dettagli

NetCrunch 6. Server per il controllo della rete aziendale. Controlla

NetCrunch 6. Server per il controllo della rete aziendale. Controlla AdRem NetCrunch 6 Server per il controllo della rete aziendale Con NetCrunch puoi tenere sotto controllo ogni applicazione, servizio, server e apparato critico della tua azienda. Documenta Esplora la topologia

Dettagli

Sommario PREMESSA... 2 1 RILIEVO LASER SCANNING... 2. 1.1 La tecnica... 2 1.2 La campagna... 6 1.3 Elaborazione dei dati... 10

Sommario PREMESSA... 2 1 RILIEVO LASER SCANNING... 2. 1.1 La tecnica... 2 1.2 La campagna... 6 1.3 Elaborazione dei dati... 10 REL D Rilievi topografici e studio di inserimento urbanistico Pag 1 Sommario PREMESSA... 2 1 RILIEVO LASER SCANNING... 2 1.1 La tecnica... 2 1.2 La campagna... 6 1.3 Elaborazione dei dati... 10 REL D Rilievi

Dettagli

LA GESTIONE DI IMMAGINI E VIDEO BIOMEDICALI NELLA RICERCA CLINICA. Nhan NGO DINH Direttore Ricerca e Sviluppo / Linkverse 20 maggio 2015

LA GESTIONE DI IMMAGINI E VIDEO BIOMEDICALI NELLA RICERCA CLINICA. Nhan NGO DINH Direttore Ricerca e Sviluppo / Linkverse 20 maggio 2015 LA GESTIONE DI IMMAGINI E VIDEO BIOMEDICALI NELLA RICERCA CLINICA Nhan NGO DINH Direttore Ricerca e Sviluppo / Linkverse 20 maggio 2015 Agenda Immagini e video medicali La lettura centralizzata La gestione

Dettagli

L ECCELLENZA NEI CONTROLLI NON DISTRUTTIVI

L ECCELLENZA NEI CONTROLLI NON DISTRUTTIVI L ECCELLENZA NEI CONTROLLI NON DISTRUTTIVI TOMOGRAFIA INDUSTRIALE M. Reggiani - M. Moscatti TEC Eurolab Srl - Campogalliano (MO) Nel 1979 l'ingegnere inglese Godfrey Hounsfield e il fisico sudafricano

Dettagli

Dr. med. dent. Viktoria Kalla, Dr. med. dent. Robert Kalla

Dr. med. dent. Viktoria Kalla, Dr. med. dent. Robert Kalla CS 9000 3D Vantaggi e benefici della radiologia 3D per i clinici e per i pazienti nella diagnosi, pianificazione e trattamento: Dr. med. dent. Viktoria Kalla, Dr. med. dent. Robert Kalla Introduzione:

Dettagli

I sistemi RIS PACS in diagnostica per immagini : un supporto alla gestione e alla sicurezza

I sistemi RIS PACS in diagnostica per immagini : un supporto alla gestione e alla sicurezza I sistemi RIS PACS in diagnostica per immagini : un supporto alla gestione e alla sicurezza II^ Forum Risk Management in Sanità Applicazione delle tecnologie alla sicurezza del paziente Arezzo, Centro

Dettagli

La ricerca di standard

La ricerca di standard Pisa Odontoiatrica Roberto Trivelli Consigliere CAO Pisa - Presidente ANDI Pisa Radiologia e odontoiatria: raccomandazioni La ricerca di standard qualitativi sempre più alti nella diagnosi e nel trattamento

Dettagli

La Gestione della Immagini all'interno dei Sistemi Informativi Sanitari

La Gestione della Immagini all'interno dei Sistemi Informativi Sanitari Appuntamenti a Fisica Gestione delle Immagini in Medicina La Gestione della Immagini all'interno dei Sistemi Informativi Sanitari Andrea Bo Sistemi Informativi A.O. Ordine Mauriziano Il Sistema Informativo

Dettagli

3D Digital Days 2.0 Genova 4 5 6 Ottobre 2012

3D Digital Days 2.0 Genova 4 5 6 Ottobre 2012 3D Digital Days 2.0 Genova 4 5 6 Ottobre 2012 PROGRAMMA DEFINITIVO GIOVEDI 4 OTTOBRE 14.00 14.30 Saluto delle autorità e introduzione dell evento 14.30 16.00 Tavola rotonda - titolo: Stato dell'arte e

Dettagli

TECNOLOGIA SENZA VINCOLI. SEMPLICE E TRASPARENTE. Vue. Cloud Services

TECNOLOGIA SENZA VINCOLI. SEMPLICE E TRASPARENTE. Vue. Cloud Services Vue Cloud Services SEMPLICE E TRASPARENTE. Clinici e medici curanti necessitano di una libertà di accesso rapido ed efficiente ai dati dei pazienti. Ma le restrizioni di costo e la complessità legata al

Dettagli

Requisiti Specifici per l accreditamento delle Strutture di Fisica Sanitaria

Requisiti Specifici per l accreditamento delle Strutture di Fisica Sanitaria 8.25 Requisiti Specifici per l accreditamento delle Strutture di Fisica Sanitaria 1 Premessa Nell ambito dell Azienda Sanitaria il Servizio di Fisica Sanitaria è una struttura che svolge attività specialistiche

Dettagli

Algoritmo per il rilevamento di targhe

Algoritmo per il rilevamento di targhe Algoritmo per il rilevamento di targhe 19 maggio 2008 Nell affrontare il problema del riconoscimento delle targhe sono stati sviluppati due algoritmi che basano la loro ricerca su criteri differenti. Lo

Dettagli

Publishing & Editing Immagini

Publishing & Editing Immagini Publishing & Editing Immagini Un'immagine digitale è la rappresentazione numerica di una immagine bidimensionale. La rappresentazione può essere di tipo vettoriale oppure raster (altrimenti detta bitmap);

Dettagli

Paleontologia. Archeologia. Radioisotopi. Industria. Biologia. Medicina

Paleontologia. Archeologia. Radioisotopi. Industria. Biologia. Medicina Paleontologia Industria Radioisotopi Archeologia Medicina Biologia I radioisotopi I radioisotopi (o radionuclidi), sono dei nuclidi instabili che decadono emettendo energia sottoforma di radiazioni, da

Dettagli

Applicazioni e considerazioni conclusive

Applicazioni e considerazioni conclusive Applicazioni e considerazioni conclusive 8.1 La telecamera tridimensionale Il sistema di scansione a luce debolmente strutturata permette di scandire un oggetto e di ricavarne un immagine tridimensionale

Dettagli

PET. Radionuclidi più utilizzati nella PET. Elemento prodotto T 1/2 in minuti primi B5 20 C6 10 N7 2 F 9 O8 110

PET. Radionuclidi più utilizzati nella PET. Elemento prodotto T 1/2 in minuti primi B5 20 C6 10 N7 2 F 9 O8 110 PET L acronimo PET sta per Positron Emission Tomography. Come per la SPECT, anche in questo caso si ha a che fare con una tecnica tomografica d indagine di tipo emissivo in quanto la sorgente di radiazione

Dettagli

IL PROGETTO NIGUARDAONLINE

IL PROGETTO NIGUARDAONLINE IL PROGETTO NIGUARDAONLINE A CURA DI : Luciana Bevilacqua Responsabile Ufficio M.C.Q. Gianni Origgi Responsabile Sistemi Informativi Aziendali Azienda Ospedaliera Niguarda Cà Granda di Milano Da oggi i

Dettagli

new Per l innesto osseo... I prodotti 3D M e d sono creati per rendere il lavoro del professionista più semplice e più veloce.

new Per l innesto osseo... I prodotti 3D M e d sono creati per rendere il lavoro del professionista più semplice e più veloce. new Per l innesto osseo... I prodotti 3D M e d sono creati per rendere il lavoro del professionista più semplice e più veloce. Combinano un elevata usabilità ad una curva di apprendimento estremamente

Dettagli

PaperPort 12 comprende molte nuove e utili funzioni che consentono di gestire i documenti.

PaperPort 12 comprende molte nuove e utili funzioni che consentono di gestire i documenti. Benvenuti! Nuance PaperPort è un pacchetto software desktop per la gestione di documenti che consente di acquisire, organizzare, accedere, condividere e gestire i documenti cartacei e digitali sul personal

Dettagli

CAPITOLATO LINAC AREA ACQUISIZIONE BENI E SERVIZI AZIENDA OSPEDALIERA PUGLIESE - CIACCIO

CAPITOLATO LINAC AREA ACQUISIZIONE BENI E SERVIZI AZIENDA OSPEDALIERA PUGLIESE - CIACCIO AZIENDA OSPEDALIERA PUGLIESE - CIACCIO AREA ACQUISIZIONE BENI E SERVIZI Sede legale: Via V. Cortese, 10 88100Catanzaro Via V. Cortese, 25-88100 CATANZARO Tel. 0961.883582 Fax 0961.883505 P.IVA 01991520790

Dettagli