Complexity Results and Reconstruction Algorithms for Discrete Tomography Tesi di: Frosini Andrea Coordinatore della ricerca: Prof. Alberto Del Lungo 1 Tomografia TOMOGRAFIA COMPUTERIZZATA: il processo mediante il quale è possibile ottenere informazioni circa la distribuzione di densità di una struttura fisica a partire da un insieme di proiezioni ottenute tramite raggi X. Matematicamente si vuole ricostruire una funzione di densità (x), con x R2 o R3, a partire dalla conoscenza dei suoi integrali di linea L (x) dx. Caratteristiche: la struttura da ricostruire ha, in generale, una grande quantità di valori di densità il numero delle proiezioni varia tra 480 e 1000 2 Tomografia TOMOGRAFIA DISCRETA: area della Tomografia Computerizzata che si occupa di strutture fisiche aventi un piccolo numero di valori di densità diversi. Matematicamente: si vuole ricostruire una funzione di densità (x), con x Z2 o Z3, a partire dalla conoscenza del numero di atomi/molecole della struttura presenti su linee discrete. Caratteristiche: la struttura esaminata è spesso costituita da uno o al massimo due tipi diversi di atomi/molecole; il numero delle proiezioni varia tra 2 e 4; l’indagine utilizza strumenti basati principalmente sulla matematica discreta, geometria e combinatoria. 3 Applicazioni Tomografia computerizzata industriale: si effettuano test non distruttivi su materiali omogenei per verificarne l’integrità. L’immagine ricostruita contiene solo due valori: 0 per l’aria ed un valore associato al materiale. Compressione e codifica di dati: si considerano le proiezioni come codifica di un oggetto. Difficoltà di ricostruzione possono garantirne la sicurezza, mentre risultati di unicità la perfetta compressione. Applicazioni mediche: nelle angiografie per la ricostruzione e, successivamente, per la visualizzazione delle camere ventricolari a partire da sezioni planari di queste. Nell’indagine si associa alla presenza del mezzo di contrasto il valore 1, all’assenza il valore 0. Analisi di strutture cristalline: in particolare nella ricostruzione della disposizione degli atomi all’interno di strutture cristalline. Lo scopo è quello di utilizzare tali informazioni per fare controlli di qualità su larga scala nell’ambito delle tecnologie VLSI (Very Large-Scale Integration). 4 Il modello generale Componente elementare della struttura fisica Struttura fisica Punto x di Z3 Sottoinsieme S finito di Z3 Direzione di proiezione Vettore v in Z3 Proiezione di S lungo la linea l (v) di direzione v PS (l (v))=| S l (v) | Per lo studio di STRUTTURE CRISTALLINE privilegiamo: Strutture bidimensionali Le direzioni orizzontale e verticale: v1=(1,0) e v2=(0,1) 5 Rappresentazione del modello per reticoli cristallini 3 4 1 3 0 6 5 2 3 4 1 2 x l (1,0) 1 1 0 0 0 0 1 0 1 1 0 1 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 l (0,1) v1= (1,0) v2= (0,1) 6 Problemi principali Sia una classe di insiemi di Z2 e sia = (v1,v2). Definiamo Consistenza ( , ) Dati: due vettori H e V Domanda: esiste un insieme S avente H e V come proiezioni lungo v1 e v2 ? Ricostruzione ( , ) Dati: due vettori H e V Compito: costruire un insieme S avente H e V come proiezioni lungo v1 e v2 ? Unicità ( , ) Dati: un elemento S della classe Domanda: esiste un insieme S’ equivalente ad S rispetto alle proiezioni lungo v1 e v2 ? 7 Alcuni risultati Sia la classe dei sottoinsiemi finiti di Z2. Ryser, Gale (1957): Ricostruzione ( , ) può essere eseguito in tempo polinomiale. Consistenza ( , ) ammette soluzione in tempo polinomiale. Unicità ( , ) ammette soluzione in tempo polinomiale. Spesso il numero di matrici che soddisfano una coppia di soluzioni è molto grande e queste possono risultare estremamente diverse l’una dall’altra. 8 Eliminare le soluzioni equivalenti AUMENTANDO IL NUMERO DI PROIEZIONI: Gardner, Gritzmann, Prangerberg (1999): Se 3, allora Ricostruzione ( , ) è NP-hard. Consistenza ( , ) è NP-completo. Unicità ( , ) è NP-completo. In tempo polinomiale possono essere ottenute solo soluzioni approssimate cioè soluzioni le cui proiezioni sono “vicine” a quelle del sistema di partenza. Sfortunatamente, se i dati in input non sono tali da determinare l’unicità della soluzione, anche in questo caso il sistema ricostruito può essere molto diverso da quello di partenza! 9 Eliminare le soluzioni equivalenti UTILIZZANDO INFORMAZIONI A PRIORI: Gli algoritmi di ricostruzione possono trarre vantaggio da proprietà geometriche della struttura quali connessione o convessità. Queste informazioni vengono sfruttate per ridurre l’ampiezza della classe alla quale la soluzione deve appartenere: ad esempio Barcucci, Del Lungo, Nivat, Pinzani (1996): Se = (p), (h), (v), (p,h), (p,v), (h,v) e = (v1,v2), allora Ricostruzione ( , ) è NP-hard. Consistenza ( , ) è NP-completo. Se = (p,h,v), allora Ricostruzione ( , ) può essere eseguito in tempo polinomiale. Consistenza ( , ) ammette soluzione in tempo polinomiale. 10 La tesi propone una serie di risultati volti alla caratterizzazione di strutture piane con forti proprietà geometriche tramite le loro proiezioni lungo due direzioni discrete. Lo studio è stato condotto in sintonia con quelli che sembrano essere attualmente i canoni metodologici della Tomografia Discreta. Introduzione Definizioni e notazioni generali Parte I Studio di strutture periodiche Parte II Studio di strutture a partire da proiezioni con assorbimento Parte III Studio di strutture composte da dimeri 11 Parte I: studio di strutture periodiche VINCOLO DI PERIODICITÀ Una struttura si dice (p,q)-periodica se la matrice Am x n ad essa associata è tale che ai,j=1 ( ai+q,j+p=1 ) e ( ai-q,j-p=1 ) In A si definisce linea li,j : l’insieme degli elementi ai’,j’ =1 tali che i’= i+kq , j’ = (j+kp) modn con k Z; inizio e fine di una linea: i due elementi della linea che occupano la minima e massima riga rispettivamente; linea lunga: una sequenza di linee tali che due di esse consecutive hanno inizio e fine distanti p modn lungo le colonne; loop: una linea lunga nella quale l’inizio e la fine distano p modn lungo le colonne. 12 Parte I: studio di strutture periodiche ESEMPIO: MATRICI CON PERIODICITÀ (1,2) T1 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 0 Due linee e tre punti non appartenenti ad alcuna linea. T2 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 Un loop composto da due linee. Sono evidenziati i punti di inizio e fine di ciascuna linea. 13 Parte I: studio di strutture periodiche FORMALIZZAZIONE DELLA TEORIA DEGLI SWITCHES Si definisce switch ogni operatore che modifica gli elementi di una matrice mantenendone inalterate le proiezioni lungo un insieme di direzioni prescelte. Switches lungo la direzione orizzontale: a) spostamento di una intera riga; b) spostamento di punti isolati all’interno della stessa zona T1 o T2. Siano A e B due matrici aventi le stesse proiezioni orizzontali. Esiste una sequenza di switches del tipo a) e b) che trasformano A in B. Switches lungo le direzioni orizzontale e verticale: a) spostamento di elementi all’interno di una stessa linea lunga; b) scambio di linee lunghe formate della stessa lunghezza; c) scambio di elementi all’interno della stessa zona T1 o T2. Studi volti alla caratterizzazione di tutti e soli gli switches lungo due direzioni sono 14 attualmente in corso. Parte I: studio di strutture periodiche RISULTATI PRINCIPALI Sia la classe dei sottoinsiemi finiti di Z2 aventi periodicità (p,q) e = (v1). Ricostruzione ( , ), Consistenza ( , ) ed Unicità ( , ) ammettono soluzione in tempo polinomiale. Sia la classe dei sottoinsiemi finiti di Z2 aventi periodicità (1,q) e = (v1,v2). Ricostruzione ( , ) può essere eseguito in tempo polinomiale. Consistenza ( , ) ammette soluzione in tempo polinomiale. Unicità ( , ) ammette soluzione in tempo polinomiale. I tre problemi rimangono aperti nel caso generale. 15 Parte I: studio di strutture periodiche DETTAGLI SULLA RICOSTRUZIONE DI MATRICI (1,q)-PERIODICHE DA 2 PROIEZIONI Sia la classe dei sottoinsiemi finiti di Z2 aventi periodicità (1,q) e = (v1,v2). Ricostruzione ( , ): Input: due vettori H e V. Output: la matrice (1,q)-periodica A avente H e V come proiezioni orizzontali e verticali. Passo 1 - ricostruzione della parte fissa di A (preprocessing): vengono identificati gli elementi non appartenenti ad alcuna linea e vengono ricostruiti separatamente in una matrice F. I vettori H e V vengono aggiornati in H’ e V’. Passo 2 - creazione di una istanza I’ del problema di ricostruzione di un poliomino convesso su una superficie cilindrica da due proiezioni equivalente a Ricostruzione ( , ) con input H’ e V’. 16 Parte I: studio di strutture periodiche DETTAGLI SULLA RICOSTRUZIONE DI MATRICI (1,q)-PERIODICHE DA 2 PROIEZIONI Passo 3 - caratterizzazione di I’ tramite una formula Booleana appartenente a 2-SAT e sua soluzione (es. algoritmo di Aspvall, Plass e Tarjan, 1979). Passo 5 - passaggio alla soluzione del problema Ricostruzione ( , ) con input H’ e V’. Passo 4 - fusione della soluzione trovata con la matrice F per ottenere la soluzione finale A. Tale procedura necessita dell’applicazione dell’algoritmo di Ryser per la ricostruzione di una matrice da due proiezioni. N.B. qualora la periodicità ecceda le dimensioni della matrice, l’algoritmo precedente si riduce al solo algoritmo di Ryser. 17 Parte I: studio di strutture periodiche CORRISPONDENZA MATRICE PERIODICA - POLIOMINO CONVESSO 0 0 0 M: 1 0 0 1 0 1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 1 0 0 1 0 1 1 0 0 1 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 P: 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 0 0 0 0 1 1 1 0 0 1 1 1 0 0 0 1 1 1 Ciascuna linea della matrice (1,2)-periodica M viene trasformata in una barra costituente il poliomino P. 18 Parte I: studio di strutture periodiche PRODUZIONE: A.Del Lungo, A.Frosini, M.Nivat, L.Vuillon, “Discrete Tomography: Reconstruction under periodicity constraints” Lecture Notes in Computer Science, No.2380, 38-56, Proceedings of Automata, Languages and Programming, 29th International Colloquium, ICALP 2002. A.Del Lungo, A.Frosini, M.Nivat, L.Vuillon, “Reconstructing binary matrices under periodical constraints from orthogonal X-rays” in preparazione. A.Frosini, “A characterization for the switches of periodical structures” in preparazione. 19 Parte II: modelli reali con assorbimento DEFINIZIONI Estendiamo il modello discreto alla situazione reale di un corpo che sia contemporaneamente emettitore ed assorbente immerso in ambiente assorbente e sia il coefficiente di assorbimento di entrambi gli elementi del sistema. -2 -1 + + -4 proiezioni emettitore -5 -5 ambiente -5 rilevatori A ciascun rilevatore posto al bordo del sistema, arriverà un segnale proporzionale al numero di emettitori sulla sua linea di influenza ed inversamente proporzionale alla -d lunghezza del cammino d che questo ha percorso, secondo la legge I = I0 20 Parte II: modelli reali con assorbimento DEFINIZIONI Sia 0 il valore del coefficiente di assorbimento tale che 0-1 = 0-2 + 0-3: 0 = (1+ 5-1/2)/2 . Chiamiamo 0 rappresentazione del numero r R una parola w = w1 … wk tale che: r = w10-1 +…+ wk 0-k . es. 010110100, 010110011 e 100000100 sono 0 rappresentazioni equivalenti. Le 0 rappresentazioni equivalenti possono essere considerate 1D switches! Data una parola w = w1 … wk definiamo rleft = w10-1 +…+ wk 0-k ed . rright = w10-k +…+ wk 0-1 21 Parte II: modelli reali con assorbimento 2D SWITCHES Uno switch lungo le direzioni orizzontale e verticale è definito come composizione degli switches base 011 E(0)= 1 0 0 100 100 E(1)= 0 1 1 011 100 011 es. E(1)*E(0)*E(0) = 0 1 x 1 x 1 1 10x00 10x00 Kuba, Nivat (2001): 1. 2. Una matrice binaria è determinata univocamente da H e V sse non ha switches. Date A e B matrici binarie che siano equivalenti rispetto ad H e V, esiste una sequenza di switches che trasformano A in B. 22 Parte II: modelli reali con assorbimento RISULTATI: RICOSTRUZIONE DI MATRICI DA PROIEZIONI ORIZZONTALI DESTRE E SINISTRE CON ASSORBIMENTO I due valori rleft ed rright determinano univocamente una sequenza di lunghezza fissata. Ogni matrice binaria è determinata dalle sue proiezioni orizzontali destre e sinistre. Sia la classe dei sottoinsiemi finiti di Z2 e = (v1left,v1right). Ricostruzione ( , ) può essere eseguito in tempo polinomiale. Consistenza ( , ) ammette soluzione in tempo polinomiale. Unicità ( , ) ammette soluzione in tempo polinomiale. L’algoritmo che ricostruisce una matrice binaria a partire dalle proiezioni orizzontali destre e sinistre ha complessità lineare nelle dimensioni della soluzione. 23 Parte II: modelli reali con assorbimento RISULTATI: RICOSTRUZIONE DI MATRICI DA PROIEZIONI ORIZZONTALI E VERTICALI CON ASSORBIMENTO 1. Le proiezioni orizzontali e verticali permettono di individuare tutti i possibili punti di inizio degli switches all’interno dell’eventuale matrice soluzione. 2. L’evoluzione di ciascuno switch all’interno della matrice soluzione può essere seguita utilizzando le proiezioni orizzontali e verticali, indipendentemente dagli altri switches che eventualmente sono presenti in essa. 3. Due switches che hanno una o più posizioni in comune coincidono. 4. Ogni switch ha un numero di configurazioni diverse che è lineare nelle sue componenti elementari Sia la classe dei sottoinsiemi finiti di Z2 e = (v1,v2). Ricostruzione ( , ) può essere eseguito in tempo polinomiale. Consistenza ( , ) ammette soluzione in tempo polinomiale. Unicità ( , ) ammette soluzione in tempo polinomiale. 24 Parte II: modelli reali con assorbimento DETTAGLI SULLA RICOSTRUZIONE DI MATRICI DA DUE PROIEZIONI CON ASSORBIMENTO Strategia: la matrice soluzione viene ricostruita colonna per colonna, individuando TUTTI i possibili punti di inizio di 2D switchings e seguendone ogni possibile evoluzione grazie a computazioni parallele. Ad ogni istante, il numero di linee di computazione attive è pari al massimo numero di possibili configurazioni per ciascun ipotetico switch ancora in fase di ricostruzione. Se, ad un dato istante, non ci sono switches in fase di ricostruzione, la computazione procede su una singola linea. Alla fine della ricostruzione di ciascuna colonna della matrice si procede alla riduzione del numero di linee di computazione, eliminando quelle non necessarie. 25 Parte II: modelli reali con assorbimento Fine switches INCONSISTENZA! Scambio delle configurazioni 26 Parte II: modelli reali con assorbimento PRODUZIONE E.Barcucci, A.Frosini, S.Rinaldi, “Reconstruction of discrete sets from two absorbed projections: an algorithm” accettato al 9th International Workshop in Combinatorial Image Analysis-2003. E.Barcucci, A.Frosini, A.Kuba, “An algorithm for reconstructing discrete sets from their horizontal and vertical absorbed projections” in preparazione. 27 Parte III: tilings con domini DEFINIZIONI L’estensione del modello discreto classico ai tilings di superfici rettangolari con domini viene proposta per lo studio di sistemi fisici composti da dimeri, cioè molecole la cui configurazione chimica si estende su due siti adiacenti. X X X X X 5 6 6 6 6 5 Conoscendo le dimensioni del tiling e le proiezioni orizzontali [verticali] è possibile ricavare il numero di domini verticali [orizzontali] che iniziano o terminano su ciascuna riga [colonna]. 28 Parte III: tilings con domini DEFINIZIONI Dividiamo un tiling con domini di dimensione m x n in k sotto-tilings completi, detti strisce, aventi minime dimensioni m1 x n , … , mk x n : Striscia di altezza 2 Striscia di altezza 4 (+3, 0) ( 0 ,-3) (+3, 0) (+2,-3) (+1,-2) ( 0 ,-1) Si definisce grado di un domino tiling il massimo tra le altezze m1 , … , mk delle strisce che lo compongono. 29 Parte III: tilings con domini RICOSTRUZIONE DI TILINGS CON DOMINI DA UNA PROIEZIONE: UN SEMPLICE ALGORITMO Sia la classe dei tilings con domini di dimensione n x m e = (v1). Ricostruzione ( , ): Input: un vettore H=(h1,…,hm). Output: un domino tiling T avente H come vettore delle proiezioni orizzontali. Strategia: si ricostruisce il tiling riga per riga sistemando, nella riga i-esima, n - hi domini orizzontali nelle posizioni più a sinistra possibili e completando le rimanenti con domini verticali. 30 Parte III: tilings con domini RICOSTRUZIONE DI TILINGS CON DOMINI DALLE PROIEZIONI ORIZZONTALI E VERTICALI: TILINGS DI GRADO TRE. Picouleau, (2001): Ogni tiling con domini di grado due è ricostruibile in tempo polinomiale utilizzando le proiezioni orizzontali e verticali. Ogni striscia di altezza tre è percorsa da una linea di domini orizzontali. Ogni tiling con domini di grado tre è ricostruibile in tempo polinomiale utilizzando le proiezioni orizzontali e verticali. 31 Parte III: tilings con domini RICOSTRUZIONE DI TILINGS CON DOMINI DALLE PROIEZIONI ORIZZONTALI E VERTICALI: TILINGS DI GRADO QUATTRO. Ogni striscia di altezza 4 può essere divisa in blocchi contenenti ciascuno zero o due domini verticali. Ogni striscia di altezza 4 ha un numero pari di domini verticali che iniziano nella seconda riga e può essere ridotta ad una coppia di strisce di altezza 2 alzando o abbassando di una posizione le coppie di domini verticali. CONSEGUENZA: Ogni tiling con domini di grado quattro è ricostruibile in tempo polinomiale utilizzando le proiezioni orizzontali e verticali. 32 Parte III: tilings con domini TILINGS CON DOMINI BICOLORATI: DEFINIZIONI I tilings composti da due tipi diversi di domini: risultano utili nello studio di strutture poliatomiche composte da dimeri; hanno forti connessioni con il problema 3-colors. X N.B. Le proiezioni NON danno informazioni sul numero di domini orizzontali e verticali di ciascun tipo. X X X X 3,2 4,2 4,2 3,3 5,1 5,0 Picouleau, (2000): If we know the horizontal and vertical projections, then ”the problem of deciding if a bicolored domino tiling exists is harder than the three colors reconstruction problem”. 33 Parte III: tilings con domini UNA PROVA DI NP-COMPLETEZZA Numerical Matching with Target Sums Istanza: tre vettori di numeri interi X=(x1,…,xk ); Y=(y1,…,yk ); S=(s1,…,sk ) Domanda: esistono due permutazioni e degli elementi di X e Y tali che X +Y = V ? X = (2,3,2,1,4) (9,0) (8,2) (7,2) (6,4) (4,4) (2,8) (1,8) (0,10) (0,10) Le proiezioni verticali sono sufficienti ad assicurare la “convessità” dei domini neri verticali! 34 Parte III: tilings con domini UNA PROVA DI NP-COMPLETEZZA Istanza I di NMTS: X = (2,3,2,1,4) Y = (1,1,3,1,2) S = (4,3,4,4,5) Soluzione di I: X = (1,2,3,2,4) Y = (3,1,1,2,1) Istanza I’ di Consistenza( , (v1,v2)): H = ((9,0), (8,2), … ,(8,2),(9,0)) V=((5,4), (5,4),…,(4,5),(4,5)) L’eventuale soluzione polinomiale di I’ darebbe luogo alla soluzione polinomiale di I. 35 Parte III: tilings con domini PRODUZIONE A.Frosini, G.Simi, “The reconstruction of a bicolored domino tiling from two projections” Lecture Notes in Computer Science, No. 2301, 136-144, Prooceedings of the 10th International Conference, DGCI 2002, Bordeaux, France, April 3-5, 2002. A.Frosini, G.Simi, “The NP-completeness of a tomographical problem on bicolored domino tilings” sottomesso. A.Frosini, G.Simi, “Reconstruction of low degree domino tilings” accettato al 9th International Workshop in Combinatorial Image Analysis-2003. 36