Università degli studi di Napoli Federico II Facoltà di ... · tutti i possibili piani obliqui al...
Transcript of Università degli studi di Napoli Federico II Facoltà di ... · tutti i possibili piani obliqui al...
Sviluppo di un ambiente software Sviluppo di un ambiente software per la visualizzazione multiplanare per la visualizzazione multiplanare
di immagini biomedicali di immagini biomedicali
Università degli studi di Napoli Federico IIFacoltà di Ingegneria
Corso di Laurea in Ingegneria Informatica
Candidato: Fabio FoggiaRelatore: Ch.mo Prof. Antonio CoronatoCorrelatore: Ing. Mario Ciampi
Sviluppo di un ambiente software per la Sviluppo di un ambiente software per la visualizzazione multiplanare di immagini biomedicalivisualizzazione multiplanare di immagini biomedicali
ProgettazioneProgettazione di un ambiente software atto a visualizzare ed interagire con piani di vista diversi di una stessa immagine biomedicale
ImplementazioneImplementazione di un ambiente open source e portabile in ogni piattaforma
ObiettiviObiettivi
Il medical imaging e la ricostruzione multiplanare (MPR)
Sviluppo di un modulo software per la ricostruzione multiplanare
Confronto con altri ambienti
Sviluppi futuri
SommarioSommario
Sviluppo di un ambiente software per la Sviluppo di un ambiente software per la visualizzazione multiplanare di immagini biomedicalivisualizzazione multiplanare di immagini biomedicali
E’ una tecnica di visualizzazione nell’ambito del Medical Imaging, che si pone come obiettivo quello di fornire all’utente finale (generalmente il medico) uno strumento il più possibile affidabile e sicuro di supporto al processo diagnostico.
Le differenti tecniche di visualizzazione delle immagini di uso corrente permettono la ricostruzione 3D dell'immagine da visualizzare, non consentendo tuttavia la consultazione simultanea di tutti i piani interni all'immagine.
La Ricostruzione Multiplanare (MPR)La Ricostruzione Multiplanare (MPR)
Il medical imaging e la ricostruzione multiplanare Il medical imaging e la ricostruzione multiplanare (MPR)(MPR)
L’immagine 3D viene scomposta e visualizzata nei tre piani principali (assiale, sagittale, coronale) .
A partire dalla visualizzazione dell'immagine nei piani principali è possibile ricostruire uno qualsiasi dei piani di interesse.
La Ricostruzione Multiplanare (MPR)La Ricostruzione Multiplanare (MPR)
Il medical imaging e la ricostruzione multiplanare Il medical imaging e la ricostruzione multiplanare (MPR)(MPR)
Il modulo software sviluppato è basato su un’architettura a componenti, altamente scalabile e performante e in grado di connettere dispositivi eterogenei
Requisito essenziale della struttura modulare dell’architettura è l’utilizzo di librerie e strumenti open source e cross platform
Per lo sviluppo del modulo di ricostruzione multiplanare si è scelto l'utilizzo delle librerie VTK e wxWidgets.
Architettura softwareArchitettura software
Sviluppo di un modulo software per l'MPRSviluppo di un modulo software per l'MPR
È una libreria open source di alto livello per la visualizzazione grafica e l’image processing
Il linguaggio base della libreria è il C++, ma è possibile costruire applicazioni anche usando Tcl, Java o Python.
Contrariamente ai principi della programmazione object oriented, VTK separa i dati (data objects) dalle procedure che li elaborano (process objects)
The Visualizzation ToolKitThe Visualizzation ToolKit
Sviluppo di un modulo software per l'MPRSviluppo di un modulo software per l'MPR
Ha una struttura architetturale basata sui concetti di pipeline e multithreading.
Mapperinterfaccia actor con un dataset
RenderWindowInteractorfornisce un semplice supporto
all'interazione
RenderWindowfinestra dell'applicativo,
puo' visualizzare piu' scene
Lightposizione e caratteristiche
di una luce
Cameracontrolla le impostazione
della prospettiva
Rendererrenderizza la scena che puo'
contenere piu' actor e piu' luci
Propertycontrolla l'aspetto dell'actor
Transformcontrolla la posizione
dell'actor
Actorentita' nella scena
dataset
É d’uso comune nella computer grafica descrivere una scena tridimensionale mediante la metafora del set cinematografico, così anche in VTK troviamo gli oggetti Actor, Light e Camera.
The Visualizzation ToolKitThe Visualizzation ToolKit
Sviluppo di un modulo software per l'MPRSviluppo di un modulo software per l'MPR
E’ stata sviluppata utilizzando la libreria wxWidgets, un framework per linguaggio C++ atto a costruire GUI multipiattaforma
Per sviluppare la GUI sono stati utilizzati tradizionali controlli, derivati dalle classi appartenenti a wxWidgets (wxFrame e WxWindow)
L’interfaccia creata permette di selezionare assi e linee per la ricostruzione dei piani
L’interfaccia graficaL’interfaccia grafica
Sviluppo di un modulo software per l'MPRSviluppo di un modulo software per l'MPR
Fase di progettazione Fase di progettazione
mprFilter definisce le azioni inerenti la scelta del piano di vista.
wxVtkInteractor definisce invece tutte le funzioni che creano interazione all'interno della scena.
Nella progettazione del software si è seguito il design pattern Model-View-Controller
vtkImageData Definisce i dati e le operazioni che possono essere eseguite sui dati
wxMprFilterGui Gestisce la costruzione della GUI
Sviluppo di un modulo software per l'MPRSviluppo di un modulo software per l'MPR
AA
BBCC
Toolbar
L’interfaccia grafica sviluppataL’interfaccia grafica sviluppata
Interagendo con l’asse z e col cerchietto di B si ottengono piani di vista diversi in A e C
Nella situazione di partenza, nei tre visualizzatori sono rappresentati tre piani ortogonali tra loro.
Interagendo con gli assi x ed y ed il cerchietto del visualizzatore A si ottengono piani di vista diversi in B e C.
Sviluppo di un modulo software per l'MPRSviluppo di un modulo software per l'MPR
I cerchietti indicano sempre lo stesso punto ma in due piani di vista differenti
Muovendo in A il cerchietto si ha una traslazione dei piani in B (piano xz) e C (piano yz).
Muovendo in B il cerchietto, si può avere una traslazione del piano in A (piano xy) e C (piano yz)
Operazioni: MovimentoOperazioni: Movimento
L’operazione di movimento consente di visualizzare tutti i piani paralleli a quelli di partenza
Sviluppo di un modulo software per l'MPRSviluppo di un modulo software per l'MPR
Operazioni: Rotazione degli assi in AOperazioni: Rotazione degli assi in A
rotate Con questa operazione si otterranno tutti i possibili piani ortogonali al piano contenuto in A
Sviluppo di un modulo software per l'MPRSviluppo di un modulo software per l'MPR
Dopo una rotazione di 90° rispetto a z i piani B e C risulteranno invertiti
Ruotando rispetto a z i piani B e C ruotano con gli assi.
rotate
Operando operazioni composite di move e rotate sugli assi, si possono ottenere tutti i piani di interesse. Ruotando l'asse in B rispetto a y, C ruota con gli assi.
Con questa operazione si otterranno tutti i possibili piani obliqui al piano contenuto in A
Operazioni: Rotazione dell’asse in BOperazioni: Rotazione dell’asse in B
Sviluppo di un modulo software per l'MPRSviluppo di un modulo software per l'MPR
Ruotando l'asse in B rispetto a y, C ruota con gli assi.
Definisce il contrasto dell'immagine nei tre piani di vista
Avvicina la camera verso il piano di vista desiderato
Permette di muovere l'intero contenuto di un visualizzatore
Permette di ruotare l'intero contenuto di un visualizzatore
Effettua lo zoom di tutti e tre i piani di vista
La slidebar permette di scorrere le slices dell'immagine acquisita
ToolbarToolbar
Sviluppo di un modulo software per l'MPRSviluppo di un modulo software per l'MPR
Sono i pulsanti di interazione con gli assi. Il primo permette di effettuare l'operazione di movimento ed il secondo di rotazione
Amide :Amide : Software open–source che permette l'interazione tra i piani di vista pricipali (assiale,coronale,sagittale) di un'immagine, ma non permette la visualizzazione di piani obliqui
Confronto con altri ambientiConfronto con altri ambienti
Software relativi all'MPRSoftware relativi all'MPR
MRIMRI MRIcro:MRIcro: Software open–source e cross platform. Permette
l'interazione tra piani ortogonali nonché la visualizzazione dei piani obliqui, ma ha un interfaccia grafica poco intuitiva
Confronto con altri ambientiConfronto con altri ambienti
Software relativi all'MPRSoftware relativi all'MPR
Osirix:Osirix: Software open-source che permette l'interazione tra tutti i piani di vista siano essi anche piani obliqui. Il software però è sviluppato solo su piattaforme MAC
Software relativi all'MPRSoftware relativi all'MPR
Confronto con altri ambientiConfronto con altri ambienti
Software sviluppato:Software sviluppato: Software open-source e cross platform. Permette l'interazione tra tutti i piani di vista, siano essi anche piani obliqui.
Software relativi all'MPRSoftware relativi all'MPR
Confronto con altri ambientiConfronto con altri ambienti