• No se han encontrado resultados

Uso de hardware gráfico para la aceleración de métodos algebraicos de recontrucción

N/A
N/A
Protected

Academic year: 2021

Share "Uso de hardware gráfico para la aceleración de métodos algebraicos de recontrucción"

Copied!
175
0
0

Texto completo

(1)

Curso 2006-2007.

Uso de hardware gráo para la

aeleraión de métodos algebraios de

reonstruión

Autores:

David Garía Soriano

Enrique Martín Martín

David Romero Laorden

Diretor del proyeto:

Christian Tenllado van der Reijden

(2)
(3)

os de reonstruión.

Memoria del proyeto de n de arrera

pre-sentado por David Garía Soriano, Enrique

Martín Martín y David Romero Laorden en

la Universidad Complutense de Madrid, y

realizado bajo la direión de Christian T

en-lladovan der Reijden.

Se autoriza a la Universidad Complutense a

difundir y utilizar on nes aadémios, no

omeriales, y menionando expresamente a

sus autores, tanto la propia memoria omo

el ódigo, la doumentaión y/o el prototipo

desarrollado.

Madrid, 6 de julio de 2007.

DavidGaría Soriano

Enrique Martín Martín

(4)
(5)

El objetivo de este proyeto ha sido implementarun algoritmode

reons-truión algebraia(en partiular SART, Simultaneous Algebrai

Reonstru-tion Tehnique) y aelerar su ejeuión utilizando los reursos paralelos que

ponenadisposiióndelprogramadorlasunidadesde proesamientográode

hoy en día.Para ello,primerosehan desarrolladodos variantes delalgoritmo

que sólo utilizan la CPU, en las que nos hemos basado para posteriormente

portara laGPUlas partessuseptiblesde obtener una mejorasubstanial de

veloidad.Porúltimo,sehaanalizadoen ambasvariantes laalidadde las

re-onstruiones yelspeedup obtenidorespetoalasimplementaionesenCPU,

asíomo elimpatoen laalidadde losdiversos parámetrosongurablesdel

algoritmo.

Summary

Theaimofourprojethasbeentheimplementationofanalgebrai

reons-trution algorithm (known as SART, Simultaneous Algebrai Reonstrution

Tehnique)and improvement ofits runningtimeby making use ofthe

massi-vely parallelomputationalresoures whih today's graphisproessingunits

providethe programmerwith.Tothis end,two variantsof thealgorithmhave

rst been developed whih are exeuted entirelyon the CPU, and upon

whi-h we have based our subsequent porting to the GPU of those parts having

the potential to enjoy a substantial inrease in speed. Finally, the quality of

both variants'reonstrutions has been analyzed,along withthe speedup

ob-tained over CPU implementations and the impat that various ustomizable

(6)
(7)

Ténias de reonstruión algebraia, GPGPU, reonstruión

tridimen-sional, tomografía omputerizada, CT, CT de rayos paralelos, ART, SART,

hardware gráo, CUDA.

Keyword list

Algebrai reonstrution tehniques, GPGPU, three-dimensional

reons-trution,omputedtomography,CT,parallel-beamCT,ART,SART,graphis

(8)
(9)

Queremos mostrar nuestra gratitud a Christian Tenlladovan der Reijden

y a Manuel Prieto Matías por habernos dado laoportunidad de elaborar este

proyeto y porlaayuda que nos han proporionado.

También queremosaprovehar esta oasión paraagradeer aCarlosÓsar

Sánhez Sorzano, del CNB, la doumentaión amablemente edida y el alto

(10)
(11)

Índie de guras v

Índie de tablas ix

1. Introduión 1

2. Los algoritmosde reonstruión algebraia 7

2.1. Introduióna latomografía . . . 7

2.2. Desripión delproblema . . . 8

2.3. Representaión delvolumen . . . 12

2.4. Formalizaión delproblema . . . 15

2.5. El métodoKazmarz . . . 17

2.5.1. Fases delmétodo. Proyeión y bakproyeión. . . 21

2.6. ART . . . 23

2.6.1. Fatores del modelo que afetan a la alidad de la re-onstruión . . . 24

2.6.1.1. Funiones base . . . 24

2.6.1.2. Fatorde relajaión . . . 27

2.7. SIRT . . . 28

2.8. SART . . . 29

3. Unidades de proesamiento gráo (GPUs) 33 3.1. Generalidades . . . 33

3.2. Pipeline gráo . . . 34

(12)

3.2.2. Etapa de rasterizaión . . . 37

3.3. Computaiónde Propósito Generalen GPUs (GPGPU) . . . . 39

3.3.1. Stream Proessing . . . 40

3.3.2. Caraterístias de rendimiento . . . 42

3.3.2.1. Ventajas einonvenientes de laGPGPU . . . 44

3.3.2.2. ComparativaGPU-CPU . . . 44

3.4. CUDA . . . 46

3.4.1. Introduióna CUDA . . . 46

3.4.1.1. Evoluión de lasGPU's . . . 46

3.4.1.2. Una nueva arquitetura . . . 47

3.4.2. Modelo de programaión . . . 49 3.4.3. Thread Bathing . . . 49 3.4.3.1. Bloques de hilos . . . 50 3.4.3.2. Rejillas de hilos . . . 51 3.4.3.3. Modelo de memoria . . . 51 3.4.4. Implementaiónhardware . . . 52 3.4.4.1. Modelo de ejeuión . . . 53

3.4.5. Serie Nvidia GeFore 8800 . . . 54

3.4.6. Fatoresinuyentes en elrendimiento . . . 55

3.4.6.1. Instruiones aritmétias y de ontrol . . . 55

3.4.6.2. Instruiones de aesoa memoria . . . 57

3.4.6.3. Tamañode bloque . . . 58

3.4.7. Reomendaiones para el rendimiento . . . 59

3.4.8. Limitaiones . . . 60

4. Implementaión en CPU 63 4.1. Formato de los arhivos. . . 64

4.2. Supuestos previos . . . 65

4.3. Esquema genério . . . 67

4.4. Problemas de laimplementaión inmediata . . . 67

4.5. Proyeión . . . 74

(13)

4.5.1.1. Algoritmo de Cohen-Sutherland generalizado

a tres dimensiones . . . 75

4.5.1.2. Pseudoódigo de la proyeión por rayos . . . 78

4.5.2. Proyeión dirigidapor vóxeles . . . 80

4.6. Cálulo de laorreión . . . 83

4.7. Bakproyeión . . . 83

4.8. Orden de las proyeiones . . . 84

5. Implementaión en GPU 87 5.1. Estrutura general . . . 89

5.2. Proyeión y álulode lasorreiones . . . 92

5.2.1. Proyeión dirigidaporrayos . . . 93

5.2.2. Proyeión dirigidaporvóxeles . . . 95

5.3. Bakproyeión . . . 98

5.4. Consideraiones nales . . . 98

6. Resultados experimentales 101 6.1. Calidad de lasreonstruiones . . . 101

6.1.1. Calidad visual . . . 101

6.1.2. Error uadrátio medio . . . 105

6.2. Speedup . . . 110

6.2.1. Anaión de los algoritmos. . . 111

6.2.2. Comparaión de tiempos . . . 115

6.3. Parámetros delalgoritmoque afetan ala alidad . . . 120

6.3.1. Fatorde relajaión

λ

. . . 120

6.3.2. Número de iteraiones . . . 124

6.3.3. Ordenaión de las proyeiones . . . 127

7. Conlusiones y trabajo futuro 131 7.1. Conlusiones. . . 131

7.2. Trabajofuturo . . . 134

A. Instalaión y uso 137 A.1. Instalaión . . . 137

(14)

A.2. Uso . . . 139

B. Visualizador de volúmenes Chimera 141 B.1. Instalaión . . . 141

B.2. Uso general . . . 142

B.2.1. Visualizaiónde un volumenonreto . . . 143

B.2.1.1. Display Styles . . . 143

B.2.1.2. Coloreado . . . 145

C. Introduión a la mirosopía eletrónia de transmisión 147

(15)

1.1. Isosuperie delantígeno T . . . 2

1.2. Superie delantígeno T, vista inferior y superior . . . 2

1.3. Planos de lareonstruión del antígenoT . . . 2

2.1. Obtenión de imágenes tomográas . . . 9

2.2. Ángulos de Euler . . . 12

2.3. Representaión de la proyeión . . . 14

2.4. Representaión delmétodoKazmarz . . . 18

2.5. Osilaión en elmétodoKazmarz. . . 20

2.6. Perl transversal de dos blobs tridimensionales . . . 26

2.7. Efeto delfator de relajaión . . . 28

3.1. Etapas prinipales delpipeline gráo . . . 34

3.2. Estrutura básia delpipeline gráo . . . 36

3.3. Etapas de lafase de geometría . . . 38

3.4. Rasterizaión . . . 38

3.5. Evoluiónde lasoperaiones de punto otante en CPU y GPU 46 3.6. Capas software de CUDA . . . 48

3.7. Operaiones de leturay esritura en memoriaen CUDA . . . 49

3.8. Thread Bathing en CUDA . . . 50

3.9. Modelo de memoriaen CUDA . . . 52

3.10.Modelo hardware de CUDA . . . 53

4.1. Pseudoódigo delSART . . . 68

(16)

4.3. Pseudoódigo de la orreión . . . 70

4.4. Pseudoódigo de la bakproyeión . . . 71

4.5. Gráo de los 4posiblespíxeles veinos . . . 73

4.6. Proyeión porrayos . . . 75

4.7. Algoritmo de Cohen-Sutherland en 3D . . . 76

4.8. Detallede una de las seis regiones posibles . . . 77

4.9. Pseudoódigo de la proyeión dirigidaporrayos. . . 79

4.10.Proyeión porvóxeles . . . 81

4.11.Pseudoódigo de la proyeión dirigidaporvóxeles. . . 82

5.1. División en gruposde

2

×

2

píxeles . . . 94

5.2. Splatting . . . 96

5.3. Paso de reduión . . . 97

6.1. Volumenoriginal delantígeno T . . . 103

6.2. AntígenoT reonstruidoutilizandola suite Xmipp. . . 104

6.3. Reonstruión del antígenoT usando vóxeles . . . 105

6.4. Reonstruión del antígenoT usando blobs . . . 106

6.5. Volumenoriginal delomplejo DnaB-DnaC . . . 107

6.6. DnaB-DnaC reonstruido utilizandola suite Xmipp . . . 108

6.7. DnaB-DnaC reonstruido usandovóxeles . . . 109

6.8. DnaB-DnaC reonstruido usandoblobs . . . 110

6.9. AntígenoT: tiempos proyetando porrayos en GPU . . . 112

6.10.AntígenoT: tiempos proyetando porvóxeles en GPU . . . 113

6.11.DnaB-DnaC:tiempos proyetando por rayos en GPU . . . 114

6.12.DnaB-DnaC:tiempos proyetando por vóxeles . . . 115

6.13.Sphereblob:tiemposproyetando por rayos en GPU . . . 116

6.14.Sphereblob:tiemposproyetando por vóxelesen GPU . . . 117

6.15.Calidad de Cuboloid (blobs)según

λ

. . . 121

6.16.Calidad de Cuboloid (vóxeles) según

λ

. . . 122

6.17.Calidad de DnaB-DnaC (blobs)según

λ

. . . 122

6.18.Calidad delantígeno T(vóxeles) según

λ

. . . 123

6.19.Calidad de TwoRings (blobs)según lasiteraiones . . . 124

(17)

6.21.Calidad de Sphereblob (blobs) segúnlas iteraiones. . . 125

6.22.Calidad de Sphereblob (vóxeles) según lasiteraiones . . . 126

6.23.Calidad de Sphereblob (vóxeles) ordenando proyeiones . . . . 128

6.24.Calidad de TwoRings (blobs)ordenando proyeiones . . . 128

6.25.Calidad delantígeno T(vóxeles) sin ordenarproyeiones . . . 129

6.26.Calidad delantígeno T(vóxeles) ordenando proyeiones . . . 129

B.1. Pantallaprinipalde UCFS Chimera . . . 142

B.2. Apliaiónde un ltro de suavizado . . . 144

B.3. Ventana Surfae Color . . . 145

B.4. Coloreado de efeto radial . . . 146

C.1. Mirosopio eletrónio de transmisión . . . 149

(18)
(19)

3.1. Evoluiónde lasGPUs frente alas CPUs . . . 45

6.1. Error uadrátio medio para reonstruiones en CPU . . . 111

6.2. Error uadrátio medio para reonstruiones en GPU. . . 111

6.3. Tiempode usuario para reonstruiones en CPU . . . 118

6.4. Tiempode usuario para reonstruiones en GPU . . . 118

6.5. Speedup para distintas reonstruiones . . . 119

6.6. Speedup frente aXmipp . . . 119

(20)
(21)

Introduión

Este doumento tiene el objetivo de dar una visión a distintos niveles sobre

nuestro proyeto de Sistemas Informátios, pudiéndose enontrar en él

infor-maiónsobrelosdistintosaspetosqueloforman.Enesteapítulosepretende

introduirbrevementeuáles son nuestrosobjetivos, lasherramientasque

he-mos utilizadoy la estruturadel resto de la memoria.

El área de apliaión del proyeto es el de la Tomografía

Compute-rizada, uyo propósito es la reonstruión de la estrutura tridimensional

interna de un objeto a partir de una serie de proyeiones bidimensionales

digitalizadas obtenidas al iluminarlo desde diversas direiones. Las

proye-iones medidasontienen loqueseonoe omo latransformada de rayos X

delobjeto(estoserá preisado másadelante,perolaidea ateneren uenta es

que adavalormedidoen un puntode laimagendependede todos lospuntos

del objeto que ha atravesado un rayo, inuyendo más los puntos on mayor

densidad). Estas imágenes son proesadasporun omputador,y lasalida del

proeso es una modelizaión delvolumen que onuerde lomejor posible on

los datos experimentales (idealmente, una funión real que a ada punto del

espaio le asigne, por ejemplo, la densidad del objeto en él). Un ejemplo de

reonstruión delantígeno Tse muestra en lasguras 1.1, 1.2 y 1.3.

(22)

Figura 1.1:RepresentaióndelaisosuperiedelantígenoT.Fuente:[Sor02℄

Figura 1.2:RepresentaióndelasuperiedelantígenoT,vistadesdelaparteinferiory

superiorrespetivamente.Fuente:[Sor02℄

Figura 1.3:Algunos planos de la reonstruión del antígeno T tomados desde arriba.

Fuente:[Sor02℄

Wil00℄; itaremos tres de ellas a modode ejemplo (y sin pretender en modo

alguno ubrir todas las posibilidades):

Enmediinasonindispensablesomoherramientadediagnóstioen

hos-pitales,alpermitirlaobservaióndelosórganosinternosdelospaientes

on una preisiónsinpreedentes.

Enbiologíamoleularseutilizanparaladeterminaiónexperimentalde

la estrutura de omplejos maromoleulares.

En astronomíase aplianala determinaiónde ladistribuiónde brillo

(23)

transmisión) tiene una serie de limitaiones (rango de tamaños del objeto,

máxima resoluión alanzable, nivel de ruido...), y por tanto los algoritmos

de reonstruión se adaptan en funión delmétodoempleado para la

adqui-siión de datos,on eln de tratar de superar estas limitaiones.

Nosotros nos hemos entrado en los llamados métodos algebraios de

re-onstruión, de naturaleza iterativa. Engeneral, nonos preoupamos por la

naturaleza exata de los objetos a reonstruir, ni de los detalles del

proe-so físio de obtenión de datos; en su lugar hemos abordado el problema de

reonstruión desde un punto de vista matemátio, teniendo en uenta el

signiado real de los datos de entrada y la presenia de ruido en las

pro-yeiones medidas.Sin embargo,sehan utilizadodatosproporionadosporel

Centro Naional de Biotenología (CNB-CSIC), y la alidadde los

resulta-dos hasido omparadaonlosproduidosporlasuitede apliaionesXmipp

(X-Windows-based MirosopyImage Proessing Pakage,paquetede

proe-samientode imágenesde mirosopíabasado enX-Windows), desarrolladoen

el CNB y de libre distribuión,bajo lieniaGPL [SMVM

+

04,MMM

+

96℄.

Laprinipaldesventaja delasimplementaionesen software de estos

algo-ritmosesquesetratade unproeso omputaionalmenteintensivo.Debido al

gran número de proyeiones neesario para obtener reonstruiones de alta

alidad,quejuntoalaneesidaddeonseguirlamayorresoluiónposiblehae

reer demasiado el volumen de datos a tratar, el proeso aree de la

velo-idad quesería deseable en muhas apliaiones. Como ejemplo, elprograma

de reonstruión de Xmipptardaunos

24

minutosen reonstruirun objetoa partir de

1000

imágenes de

128

×

128

píxelesen una CPUde altagama(Intel Core duo 6600a 2.4Ghz).

Este problema se aentúa partiularmente el aso de los algoritmos

ite-rativos, uyo uso es preferible sobre otras alternativas (las que trabajan en

(24)

pro-yeiones no están distribuidas uniformemente en ángulo o no ubren todas

las orientaiones). Esto provoa que la veloidad a la ual la reonstruión

puede ser obtenida se vea limitada y es lo que ha impedido su uso rutinario

en apliaiones línias en tiempo real. Existen, por tanto, dos vías por las

que afrontar esta situaión: disminuir la omplejidad omputaional global

pormedio de lasténias algorítmias y/outilizar hardware espeializadode

alto rendimiento.

Hay ierto número de implementaiones en hardware de estos algoritmos

disponiblesomerialmente, bienusandoiruitosintegrados de apliaión

es-peía(ASIC) obienmedianteFPGAs (FieldProgrammableGate Arrays).

Este enfoque,sinembargo,sufre de unaserie de importantes desventajas,

en-tre lasqueseenuentransuelevadoosteysufaltade exibilidad(elhehode

que el algoritmo esté ya implementado en hardware hae muy difíil

modi-arlo o generalizarlo,y supone un obstáulo para desarrollos posteriores).Así

pues, esdeseable busarotra soluiónsipretendemos quesuuso sea prátio,

tanto para investigadores omopara línios.

AunquehoyendíalasnuevasCPUs hanalanzadoelsuientepoderpara

ser ompetitivas en el terreno de la reonstruión bidimensional, no se

pue-de armar lo mismo en lo referente a las reonstruiones tridimensionales.

Afortunadamente, existe una soluión intermedia entre una implementaión

software en CPU y eluso de hardware espeío: el empleode hardware

grá-o programable.Trataremos de expliar brevemente a ontinuaión porqué

esta idea esapliable anuestro problema.

Losproesadores gráos (Graphial Proessing Units, GPUs)son

proe-sadores diseñados para el renderizado de gráos, on el objetivo de realizar

la mayoríade las operaiones neesarias en hardware, aligerando así laarga

de trabajo delproesadorentral.Esta esuna funionalidaden prinipiomuy

espeía, pero on eltiempolosfabriantes han idoañadiendo posibilidades

de programaión on el n de permitir iertos efetos espeiales,

(25)

los meanismos de ahing resultan menosefetivos,y areen de ténias de

prediión de saltos o ejeuión espeulativa), pero on una ventaja muy

im-portanteparanosotros:dadoqueelproesode renderizadotieneunaltogrado

de paralelismo, lasGPUs ofreen una gran poder de ómputo para

apliaio-nes paralelasy omputaionalmenteintensivas.

Igualmenteimportanteeselhehode quelosproesadoresgráos

progra-mables ofreen una relaiónentre preioy apaidad de ómputo inigualada;

atualmente es posible adquirir GPUs muy potentes para uso doméstio en

ordenadores personales.

Todo esto haimpulsado enormemente eldesarrollode lasténias

onoi-das omo GPGPU (General Purpose Computation on Graphial Proessing

Units, o omputaión de propósito general en GPUs) durante los últimos

años. Estos métodos han sido apliados on éxito en una gran variedad de

ampos(proesamientode imágenes y señales,visiónporomputador,

odi-aión/deodiaióndevídeo,reonoimientodevoz...),ysonespeialmente

exitosos en aquellas apliaiones que se enajen dentro delmodelo de Stream

Proessing (que detallaremos más adelante, en la seión 3.3.1), y al que los

algoritmos iterativos de reonstruión se ajustan razonablementebien.

Portanto,elobjetivode nuestroproyeto esonseguir unaaeleraión

sig-niativa del proeso de reonstruión tomográa, sin sariar por ello la

preisión obtenida, medianteténias de GPGPU. Enpartiular, nos

entra-remos en las variantes del método onoido omo Algebrai Reonstrution

Tehnique (ART), queatúa de formaiterativa,partiendo de una estimaión

iniialdelvolumenyproediendoaorregirlodeauerdoalasdifereniasentre

las proyeiones que sealularían on esa estimaión y las proyeiones

me-didas. Como ya hemos menionado,el programa de reonstruión de Xmipp

es nuestra prinipal referenia on la que omparar resultados y tiempos de

(26)

Laformulaiónmatemátia delproblema de tomografía,así omolos

dis-tintos métodos de reonstruión algebraia y las ténias relativas a ellos

serán el objeto delsegundo apítulo.

En el terer apítulo se profundiza en el interior de un unidad de

pro-esamiento gráo, detallando la estrutura del pipeline gráo y su

funio-namientoyademás,analizaremosde manerageneralla arquiteturautilizada

pornosotros(Compute UniedDevieArhiteture,CUDA),introduidapor

NVIDIA para lafamiliade tarjetas GeFore 8800.

En los apítulos uarto y quinto se desriben las implementaiones

lleva-das a abo (en CPU y en GPU, respetivamente), analizando sus ventajas e

inonvenientes; y en el sexto apítulo se detallan los resultados obtenidos de

manera experimental teniendo en uenta laspruebas realizadas.

Entre las onlusiones detalladas en el séptimo, y último, apítulo, abe

destaarquenuestraimplementationenGPUonsiguemejorasdeunordende

magnitud en lostiemposde reonstruión on respeto a las

implementaio-nes existentes en CPU,onlosmismosasos depruebay,loqueesigualmente

importante, onuna alidadde reonstruión quenotiene nadaqueenvidiar

(27)

Los algoritmos de reonstruión

algebraia

2.1. Introduión a la tomografía

Como ya hemos omentado en el apítulo anterior, existen prinipalmente

dos tipos de algoritmos de reonstruión: los que trabajan en el dominio de

Fourier,relaionandolosdatosde proyeión medidosonlatransformada de

Fourierbidimensionalde sus seiones; y losmétodosalgebraios, que

onsis-ten en asumir que las seiones deluerpo forman una matriz de inógnitas,

y onstruir y resolver el sistema de euaiones asoiado, repitiendo el

proe-so si es neesario hasta onseguir que la reonstruión enaje on todas las

proyeiones. Losprimerosson losmás utilizadosatualmenteen apliaiones

médias (dondepredomina la FBP, Filtered Bakprojetion o retroproyeión

ltrada), pero para ser apliados on la exatitud requerida neesitan una

distribuión uniforme de los ángulos de proyeión y una gran antidad de

proyeiones, loque en muhas situaiones noesposible. Cuando esto ourre

(porejemplo,uando faltanproyeiones en algunasorientaiones), los

méto-dos algebraiosson la mejoreleión. Eneste trabajo desribimos on detalle

(28)

mi-rosopía eletrónia 1

;elletorinteresado puedeenontrar informaiónsobre

los métodos basadosen transformaionesen [KS88℄.

2.2. Desripión del problema

Vamos a desribir on más preisión el problema que queremos resolver. El

primer paso es representar el volumen a reonstruir omo una funión real

f

:

R

3

R

denida en el espaio tridimensional,que sepretende determinar a partir de sus proyeiones bidimensionales. Esta funión representa la

in-tensidad de ierta magnitud físia dependientedel proeso onreto utilizado

para laobteniónde lasimágenes; porejemplo,en elasode latomografíade

rayosX,

f

representaunosoeientesdeatenuaión(opaidadalosrayosX); en el aso de la mirosopía eletróniarepresenta elpotenialeletrostátio.

En ualquier aso,

f

está relaionada de manera direta on la distribuión de masa en el espaio delobjetoonsiderado. Nuestro objetivo esreonstruir

los valores de esta funión on la mayorpreisión posible. Como es obvio, en

la prátia debemos obtener una representaión nita de la funión que la

aproxime adeuadamente.

En el proeso de obtenión de imágenes tomográas, se parte de una

fuentedesde la quese lanzanmúltiplesrayos(ver gura2.1). No nos

preou-paremosde momentode lageometríaexata dela distribuióndeestos rayos;

losdos asos másfreuentementeonsideradosson elusode proyeiónde

ra-yos paralelos(elaso más omún en mirosopía eletrónia,y el que hasido

onsiderado en este trabajo)o ónios (todos partiendo de un mismopunto).

De todas formaslaeleiónonretanoafetaaladisusión quesigueen este

apartado, por lo que el letor puede imaginaruna serie de rayos paralelos si

así lodesea.

Asumiremos, omo es usual, que los rayos viajan en línea reta. Para el

1

El letor que desee omprender on algo de detalle la mirosopía eletrónia, que

(29)

uso de losmétodos algebraiosesesenial onoer latrayetoriaexata de los

rayos; en otras ondiiones, los resultados normalmente areerán de

signi-ado. (Sin embargo, si los efetos de refraión y difraión existen pero son

suientemente pequeños, es posible [AK84℄ ombinar estos métodos on el

uso de ténias digitalesde seguimiento de rayoso ray-traing).

Al llegar los rayos al reeptor, la imagen resultante está en funión de la

Transformada de rayos X del objeto, que noes más que la integral de línea

de lafunión

f

alolargodelatrayetoriaquehaatravesadoelrayo.(Estamos asumiendo quelosrayostienengrosor nulo;en asoontrario,tendríamosque

tomar realmente laintegral de volumen de todo elrayo).

Figura2.1: Obtenióndeimágenestomográas

Por ejemplo, en el aso de los rayos X, la intensidad reoletada en un

punto deree exponenialmentesegún laintegralde línea:

I

=

I0

exp

Z

−∞

f(p0

+

t

·

~v) dt

(donde

p

0

es el origen del rayo y

~v

un vetor unitario que india su dire-ión), pero lo importante es que la relaión entre las intensidades medidas y

(30)

las originales están en funión de estas integrales,en ualquiera de los

méto-dos utilizados.Esta relaiónesademásinvertible,porloquedespués deierto

preproesamiento sobre los datos medidos podemos onsiderar que los datos

que tenemos a nuestra disposiión son diretamentelas transformadas de

ra-yos Xdel volumen.Nótese que,alontrarioque en una imagenfotográade

un objeto, las imágenes resultantes dependen de su interior y no sólo de su

frontera.

Naturalmente, una sola proyeión no basta para denir la forma de un

objeto tridimensional, por lo que es neesario tomar ierto número de

imá-genes desde distintas direiones; el objetivo es enontrar una funión

f

que onuerde on todas ellas (y, a ser posible, que la soluión sea únia, de tal

manera que se pueda asegurar que los datos obtenidos son suientes para

una reonstruión inequívoa). Claramenteesto no esposible en laprátia,

inluso aunque supusiéramos ausenia de ruido, pero existe un teorema muy

importante en tomografía que nos die qué informaión podemos obtener a

partir de una proyeión.

Esteresultado sedenomina Teoremade laseiónentral,yeslabaseen

la que se fundamentan la mayoría de los métodos basados en

transformaio-nes. Establee, en elaso que nos interesa,que latransformada de Fourier de

la proyeión de un volumen esigual auna seiónbidimensionalde la

trans-formada de Fourier del volumen entero, tomada según la misma direión.

Esto nos da una ondiión neesaria y suiente para onseguir uniidad en

la soluión en ausenia de ruido: lasproyeiones deben ser tales que ubran

ompletamenteelespaiodeFourierasoiadoalvolumen.Comoesobvio,esto

no se puede onseguir on un número nito de proyeiones, pero si se toma

un número suientemente grandeque ubra apropiadamente bien el espaio

se pueden interpolarlos valoresatodoel espaiotridimensionalonun ierto

grado de exatitud. Obsérvese que los métodos basados en una inversión

di-reta de lastransformadas de Fourierde lasproyeiones neesitan por tanto

ubrir lamayorantidadposiblede ángulosde manerauniforme,loqueomo

(31)

apli-aión.

Enuantoalosángulosdeproyeión,dependendiretamentedelproeso

on elquesehan obtenido lasimágenes, porlo quepodría pareer quedeben

ser onoidos. Enrealidad, en el ampo de la mirosopía eletrónia esto no

esasíde senillo,puestoquelasimágenestomadaspueden orrespondera

mo-léulasdistintas,porloqueseneesita realizarotroproesoiterativoenelque

se parte de ierta informaión relativa a los ángulos,se reonstruye el objeto

suponiendoqueestainformaiónesexata, yseajustade nuevo laestimaión

angular. En este trabajo nos oupamos úniamentede la reonstruión

asu-miendo que los ángulosson onoidos on exatitud, que es la parte integral

del proeso; una posible ampliaión(véase el apítulo7) onsistiría en llevar

a abo elproeso entero en laGPU.

Laformausual de espeiar laposiióny direión desde lasque hasido

obtenida una imagenes espeiar una matriz de rotaión que transforme la

direión del rayo en el eje

Z

, y el plano de la imagen (perpendiular a él) en el

XY

; de este modoel proeso de proyeión orresponde simplemente a una proyeión vertial (esto es, desehar la terera oordenada artesiana).

Tradiionalmente, en mirosopía eletrónia se ha utilizad la representaión

basada en ángulosde Euler. Elorigen delsistema de oordenadas se sitúa en

el entro del volumen a reonstruir, y se espeia una rotaiónalrededor de

un ejeualquieraquepaseporelorigenonuna ternadeángulos

(α, β, γ)

.Su signiado, ilustrado en lagura 2.2, es el siguiente:

α

(ángulo aimutal):india larotaión realizadaen torno al eje

Z

β

(ángulode inlinaión):rotaión respeto alnuevo eje

Y

γ

(ángulo de rotaiónen elplano): rotaiónrespeto al últimoZ

(32)

pro-Figura2.2:ÁngulosdeEuler

duto de lastres matries de rotaiónorrespondientes, es

cos

(

γ

)

cos

(

β

)

cos

(

α

)

sin

(

γ

)

sin

(

α

)

cos

(

γ

)

cos

(

β

)

sin

(

α

) +

sin

(

γ

)

cos

(

β

)

cos

(

γ

)

sin

(

β

)

sin

(

γ

)

cos

(

β

)

cos

(

α

)

cos

(

γ

)

sin

(

β

)

sin

(

γ

)

cos

(

β

)

sin

(

α

) +

cos

(

α

)

cos

(

β

)

sin

(

γ

)

sin

(

β

)

sin

(

β

)

cos

(

α

)

sin

(

β

)

sin

(

α

)

cos

(

β

)

En resumen, los datos de entrada para nuestro proeso onsisten en una

serie de proyeiones que ontienen las transformadas de rayos X del objeto,

onvenientementenormalizadas(onelobjetivodehomogeneizarlosnivelesde

densidad de grisde imágenes orrespondientes adistintasmirografías),junto

on la informaión de los ángulos de Euler asoiados a ada una de ellas; y

la salida es una representaión de la funión

f

que se pretendía determinar. Cómoexatamenteseráestarepresentaión,y uáleselfunionamientode los

métodos algebraios, es elobjetode lassiguientes seiones.

2.3. Representaión del volumen

Las ténias de reonstruión algebraia forman una familia de algoritmos

que utilizan un proeso iterativo de resoluión de sistemas de euaiones

li-neales para obtener la reonstruión busada. Para desribirlos, empezamos

(33)

vo-lumen onsuientepreisión, de talmaneraquelafuniónquebusamos (la

funión

f

omentada en la seión anterior) la podamos esribir, aproxima-damente, omo unasuma nita ponderada de funiones base; de esta manera

la salida de nuestro algoritmo será simplementelos oeientes de esta suma

ponderada:

f

(x) =

N

X

i

=1

f

i

·

g

i

(x)

donde

g

i

, i

1

. . . N

son lasfuniones base, uyo soporte está típiamente li-mitadoaunazonareduida delespaioyson normalmentetranslaionesunas

de otras.

Consideremos que el volumen está dividido en una rejilla ompuesta de

eldas formadas por ubos de lado unidad (que denominaremos vóxeles, ya

quesetratadelanálogotridimensionalalospíxelesde unaimagen).El

mode-lo más simplese basa en suponer que

f

toma un valoronstanteen ada una de las eldas; en este aso, podemos usar una funión base para ada elda,

de talmaneraque lafunión asoiada ala elda

i

tiene valor1 dentro de ella y fuera en el exterior. Llamaremos vóxeles también a estas funiones base (a

lo largo de este trabajo, el ontexto dejará laro si nos estamos reriendo a

las eldas en sí o a las funiones base asoiadas a ellas). De esta manera, la

euaión anteriorseinterpreta omoque

f

esonstante dentrodel vóxel (el-da)

i

, y toma elvalor

f

i

(ver gura 2.3, en laque semuestra elaso análogo bidimensional). Claramente, eluso de un número mayorde vóxeles supondrá

una mejorresoluión en el resultado obtenido.

A lolargode esta expliaiónusaremos vóxelesuyo lado eselmismoque

ladistaniaentredospíxelesadyaentesalaimagen.Porsupropianaturaleza,

el uso de vóxeles omo funiones base impide obtener volúmenes on bordes

suaves; en laseión2.6.1.1examinaremosotras posibilidades,omolosblobs,

que intentan soluionar este problema.Notemos, sinembargo,que laeleión

de lasfuniones base noinuye en gran medida sobre elalgoritmode

(34)

Figura 2.3:Representaióndelaproyeión.Fuente:[KS88℄

integralesde líneade ada una de las funionesbase paraada rayo).

En el proyeto ha sido onsiderada la utilizaión tanto de vóxeles omo

de blobs. En ualquiera de los asos, las funiones base son opias idéntias

unas de otras, on la únia difereniade que están desplazadas en el espaio.

Los blobs, sin embargo, gozan de otra araterístia deseable de la que

are-en losvóxeles, que essusimetríaesféria. Este heho, unido alaobservaión

anterior, permiteelpreálulo de lasintegralesde líneade un rayoen funión

(35)

2.4. Formalizaión del problema

La araterístia prinipaldel ART es que, una vez denida la rejilla en que

se divide el volumen y las funiones base que vamos a utilizar, se plantea un

sistema de euaiones lineales uyas inógnitas son los oeientes asoiados

a adaelda(elpesode sufuniónbase asoiada),yadaeuaión representa

la mediiónexperimentalde laintegral de línea de uno de los rayoslanzados.

La soluión aeste sistema será la modelizaióndel objeto reonstruido.

Deloquehemosdihohastaahorasedesprendequeadaeldaontribuye

al valorde un píxel on una antidad igual a la integral de la funión base a

lo largo del rayo. Para el aso de un vóxel, en el que la funión es onstante

dentrode laelda ynulafuerade él,esta integral oinideon lalongituddel

segmento interseión entre el rayo y el vóxel, multipliadapor el oeiente

orrespondientea esa elda.

Para enontrar el sistema de euaiones a resolver, onsideremos un

volu-men formado por

N

vóxeles y un onjunto de proyeiones formadas por

M

rayos (que identiaremoson sus píxeles asoiados).Estableemosportanto

la siguiente nomenlatura:

w

ij

i

1..N, j

1..M

: integralde línea de la porióndelrayo

i

-ésimo que orta alvóxel número

j

,

f

j

j

1..N

: peso de lafunión base asoiada alvóxel

j

-ésimo.

p

i

i

1..M

: integral delrayo

i

-ésimo, es deir,el valorobtenido en el píxel

i

Entones la relaión que oneta el volumen y las proyeiones obtenidas

se resume en:

N

X

j

=1

w

ij

f

j

=

p

i

i

1..M

(2.1)

(36)

nuestro sistemaompleto será de laforma

w11f1

+

w12f2

+

w13f3

+

. . .

+

w1

N

f

N

=

p1

w

21

f

1

+

w

22

f

2

+

w

23

f

3

+

. . .

+

w

2

N

f

N

=

p

2

w

31

f

1

+

w

32

f

2

+

w

33

f

3

+

. . .

+

w

3

N

f

N

=

p

3

. . .

w

M

1f1

+

w

M

2f2

+

w

M

3f3

+

. . .

+

w

M N

f

N

=

p

M

(2.2)

que esun sistema linealde

M

euaiones en

N

inógnitas. Esimportante ob-servar,sinembargo,quelamatriz delsistema esmuydispersa, puestoqueun

rayo sólopuedeatravesar un ierto númerode eldasdelvolumen;asípues la

gran mayoríade los

w

ij

son ero 2

.

Resolver este sistema es senillo en teoría, pero las grandes dimensiones

que tiene haen impratiable una resoluión basada en métodos matriiales

onvenionales omo la eliminaión gaussiana. Por ejemplo, para reonstruir

un volumen de

64

×

64

×

64

usando

250

proyeiones de

64

×

64

, el sistema de resultante tendría

M

= 1024000

euaiones en

N

= 262144

inógnitas. Además,este problemade dimensionesseveagravadouandoon elaumento

del tamañodel volumen a reonstruir,ya que ree proporionalmenteal

nú-mero de eldas que onsideremos (que asu vez es proporionalal ubo de la

longitud de un lado delvolumen).

Para tratareste problema,losmétodos de reonstruiónalgebraia

adop-tan un enfoque iterativo para aproximar la soluión del sistema. Nos

oupa-remos aontinuaión de lasbases de este enfoque(el métodoKazmarz), así

omo de losrepresentantes más importantes de esta familiade métodos.

2

Intuitivamente,elnúmeromáximodevóxelesquepuedeatravesarunrayodeberíavariar

demaneralinealonlasumadelosladosdelvolumenynoonelnúmerototaldeeldasen

elvolumen.Comoveremosenelapítulo4,estoesiertoyademásesdegranimportania

(37)

2.5. El método Kazmarz

El métodoKazmarz, también llamado método de las proyeiones, esun

al-goritmoiterativo,propuesto en

1937

porKazmarz,para resolversistemasde euaioneslinealesomoelanterior.Susaraterístiaslohaenespeialmente

adeuadoparanuestrasneesidades,debidoasus propiedadesdeonvergenia

y a que, omo veremos, se puede esribir omo un proeso de proyeión de

un volumen/orreiónqueseadaptamuynaturalmenteanuestroproblema.

El algoritmo está basado en onsiderar que la soluión a las euaiones

2.2 está dada por un punto en el espaio eulídeo

N

-dimensional. Cada una de las euaionesorresponde portanto aun hiperplanoen

R

N

,siendo

w

i

su vetornormal.Laténiapararesolverelsistemaonsisteenempezaronuna

estimaión iniial de lasoluióny proeder atomaruna serie de proyeiones

ortogonales suesivassobre adauno deloshiperplanos; uandoseha

realiza-do una iteraión sobre todos ellos, se puede repetir el proeso sies neesario,

hasta que sesatisfaga algún riterio de onvergenia jado de antemano.

Pa-ra permitir una mejor visualizaión de su forma de operar, mostraremos un

senillo ejemplo de dos euaiones en dos variables(linealmente

independien-tes, porlo que la soluiónes únia) donde se podrá observar gráamente el

proeso:

w11f1

+

w12f2

=

p1

w21f1

+

w22f2

=

p2

(2.3)

Este sistemadene dos retas en el plano,y su soluiónse halla en la

in-terseión de lasmismas.

Seomienza onelestableimientodeuna estimaióniniialdelasoluión

s0

,quenormalmentesetomanula(esdeir,seempiezaenelorigen),aunquesi seposeealgunainformaiónsobrelanaturalezadelasoluiónsepuedegenerar

otra quereamos más erana a la soluiónreal. Esta soluión

s0

se proyeta sobre una de las dos retas, obteniendo una nueva estimaión

s

1

, que se pro-yeta sobrelaotra reta onsiguiendounatereraestimaión

s2

.Si elsistema

(38)

tienesoluiónúnia,éstaestáenlainterseiónde todosloshiperplanos,y

re-pitiendoeste proesode proyeionessobre lasretasobtenemosuna suesión

de puntosque onvergeaella(lademostraiónde laonvergeniaqueda fuera

del alanede este doumento,pero puede enontrarse en [Tan71℄). Podemos

ver laapliaióndelmétodopara nuestropequeño sistemaen lagura 2.4.

Figura 2.4:RepresentaióngráadelmétodoKazmarz.Fuente:[KS88℄

Una vez desrito el método general, pasemos a estudiar los fatores que

afetan a la onvergenia del algoritmo.Aunque en general nose obtendrá la

soluión exata al abo de un número nito de proyeiones, la apliaiónde

unnúmerosuientementeelevadodeiteraionesnosllevaaunaaproximaión

a la soluiónbastante el. Existe un aso, sin embargo, en el que la soluión

se alanzaalabode un númeronito de pasos,y esimportantedarseuenta

de ellopara estudiar laspropiedades de onvergenia del algoritmo.

(39)

que entones alanzaríamoslasoluiónexata despuésde haberrealizadosólo

dos proyeiones, y es fáil ver que en general si partimos de

n

hiperplanos ortogonales en un espaio

n

-dimensional, enontraremos la soluión después de haber proesado todos ellos. Por otro lado, si las dos retas fueran asi

paralelas,seneesitaríaun grannúmerode iteraionesparallegarauna

apro-ximaión satisfatoria.

Por tanto,laonvergenia del métododepende en gran medidade los

án-gulos queformen los hiperplanos. En teoría sería posible realizar una

ortogo-nalizaiónprevia (usandoporejemploelonoidométodode Gram-Shmidt),

pero tal proedimiento, aparte de no ser omputaionalmente fatible (tiene

omplejidad O(

N

3

), la misma que el método de Gauss que deidimos

evi-tar), tiende apoteniarelefeto delsiempre presenteruido. Portodoesto, la

opión más prátia, disponible en varias implementaiones(inluida la

pro-porionadaen Xmippylanuestra),esordenarlasimágenes antesde tratarlas

para intentarevitar queproyeiones oninformaiónmuypareida(tomadas

desde direiones muy eranas) sean tratadas onseutivamente, pues esto

supondría proyetar sobredos hiperplanosasi paralelos.

En uanto a la presenia de ruido, es inevitable en esenarios de

reons-truión reales, bien sea por errores en la estimaión de los ángulos, en la

normalizaión de las imágenes, o en las propias mediiones. Esto, unido al

heho de que los sistemas quese suelen utilizaren la prátia están

sobrede-terminados (hay más euaiones linealmenteindependientes que inógnitas),

implia que el sistema será en realidad inonsistente. En estos asos el

mé-todo Kazmarz no onverge, sino que se alanza un patrón asi periódio de

osilaiones torno a una veindad donde estaría la soluión real sin ruido. Si

la magnitud del ruido no es exesiva, esta veindad es aeptable y nos lleva

a buenas reonstruiones, pero uando el ruido es alto los resultados de la

proyeión son impredeibles. Un ejemplo de esta osilaiónen torno a la

so-luión puede observarse en lagura 2.5.

(40)

indeter-minado. En nuestro ejemplo bidimensional,esto orrespondería a quelas dos

retas fueran de heholamisma. Entonestodoslos puntosde la retaserían

soluiones válidas,yalapliarelmétodosimplementeproyetaríamos unavez

y nos quedaríamos on ese resultado, obteniendo por tanto la soluión más

erana al punto de partida. También se puede demostrar [Tan71℄ que este

resultado esiertoen general:elalgoritmoonvergealasoluiónmás erana

a la estimaión iniial(en elsentido de la normaeulídea

n

-dimensional,que oinide on laque se obtieneal tomarel error uadrátio medio).

Figura2.5:OsilaiónenelmétodoKazmarz.Fuente:[KS88℄

Es senillo obtener la expresión matemátia orrespondiente al proeso.

Comenzamosonunasoluióniniial

f

(0)

1

,

f

(0)

2

,

f

(0)

3

,...

f

(0)

N

quevetorialmente denotaremos

f

~

(0)

(donde el superíndie denota el número de proyeiones ya

hehas). Esta soluión iniial es proyetada sobre el hiperplano que dene la

primera euaión de (2.2), llegando a

f

~

(1)

.

f

~

(1)

(41)

el hiperplano denido por la segunda euaión de (2.2), resultado

f

~

(2)

, y así suesivamente. Como

w

i

h

w

i

, w

i

i

es el vetor unitario perpendiular al i-ésimo

hiperplano,tenemos que

~

f

(

i

)

=

f

~

(

i

1)

+

λ

w

i

h

w

i

, w

i

i

donde

λ

esladistaniade

f

~

(

i

1)

asuproyeiónortogonalsobreelhiperplano

(que será

f

~

(

i

)

).Dado que

f

~

(

i

)

tiene quesatisfaer la euaión delhiperplano

h

f

~

(

i

)

, w

i

i

=

p

i

(2.4)

sustituyendo la euaión anterior en esta relaión obtenemos

λ

=

p

i

− h

f

~

(

i

1)

, w

i

i

porlo quenalmente resulta

~

f

(

i

)

=

f

~

(

i

1)

h

f

~

(

i

1)

, w

i

i −

p

i

h

w

i

, w

i

i

·

w

i

(2.5)

Por último, notaremos que una implementaión ingenuade esta euaión

llevaríaaun algoritmode omplejidaden tiempo O(

NM

), que esdemasiado lento en la prátia. Sin embargo, esta omplejidad puede reduirse

onside-rablemente si tenemos en uenta, omo ya observamos, que la mayor parte

de los

w

ij

son ero. Comentaremos esto on más detalle en el apítulo de implementaión (seión 4.4).

2.5.1. Fases del método. Proyeión y bakproyeión

Existeotramaneradeinterpretarlaeuaión (2.5),másilustrativapara

nues-tros propósitos. Se puede ver que para alular la estimaión

i

-ésima se ha de apliar una orreión a la soluión que se tenía; el valorde la orreión

depende asuvez de ladifereniaentre laproyeiónteória(dada porel

pro-duto esalar del numerador) y la proyeión medida (

p

i

). Se puede esribir (2.5) de una formaalgodiferente para poner énfasis en lavariaiónque sufre

(42)

ada vóxel:

f

j

(

i

)

=

f

(

i

1)

j

+

p

i

q

i

P

N

k

=1

w

ik

2

w

ij

j

1

. . . M

(2.6) donde

q

i

=

h

f

~

(

i

1)

, w

i

i

=

M

X

k

=1

f

(

i

1)

k

w

ik

(2.7)

es deir,

q

i

es la integral de línea del rayo

i

-ésimo atravesando el volumen atualy

p

i

laintegralde esemismo rayoatravesandoelvolumenreal;setoma la diferenia y se distribuye en la estimaión del volumen según un fator de

normalizaión dado por

w

ij

P

N

k

=1

w

ik

2

.

Vistode esta forma,el métodopuede separarse en tres fases:

1. Proyeión: alula

q

i

, la suma que daría el rayo

i

-ésimo al atravesar el volumen atual

2. Calular la orreión: sehalla ladiferenia entre la suma delrayo real

y lasuma delrayo atual,y se normalizaesa diferenia.

3. Bakproyeión:seapliadihaorreiónaadaunodelosvóxelespara

obtener

f(i)

.

Esta división delmétodoen tres fases reeja la naturaleza delproeso (al

n y alabolas imágenes medidasnoson más queproyeiones, y loque

ha-emos es ompararlas on las que obtendríamos si el volumen onidiera on

nuestra estimaión, y orregir en funión del resultado), y además nos será

muy útil posteriormente, uando hablemos más detalladamente de la

imple-mentaión del algoritmo.

En uanto a los ostes omputaionales, baste deir por ahora tanto la

proyeión omo labakproyeión tienen omplejidadO(

n

3

) en tiempopara

una imagensitenemosproyeionesde

n

2

rayosyun volumende

n

×

n

×

n

;en la prátia, sin embargo, alrededor del 90% del tiempo de ejeuión se debe

(43)

al proeso de proyeión (porque es el que tiene que alular los rayos que

interseanaadavóxelylosoeientes; estainformaiónyaestá almaenada

paraelpasodebakproyeión).Estoesiertotantoparalasimplementaiones

en CPU omopara la nuestra en GPU.

2.6. ART

Algebrai Reonstrution Tehniques (ART) es el nombre dado tanto a un

algoritmodereonstruiónomoatodaunafamiliade variantessuyas,sobre

algunasde lasuales nos ouparemosen lasseiones siguientes. Elalgoritmo

básio del ART essimplementeel método Kazmarz,ya desrito, aumentado

on un fatorde relajaión,uyouso sirve parahaerlomástolerantealruido

y que desribiremos en breve. Antes, sin embargo, examinaremos algunas de

las failidades que permiten los métodos algebraios en general (y de ART

en partiular) de las que areen los métodos basados en transformaiones.

Estas derivan del heho de que estos algoritmos permiten inluir fáilmente

restriiones espeiales, omo podrían ser porejemplo:

1. Informaiónsobreelsoporteolaformadelobjeto(laregióndeespaiono

vaía):sóloatualizamosaquellosvaloresdentrodelsoporte, reduiendo

así el número de variables. Esta reduión de variables podría también

inrementarse si, por ejemplo, supiéramos on seguridad que el objeto

tiene alguna simetría.

2. Informaión sobre la funión a reonstruir: si sabemos porejemplo que

sólotomavaloresnonegativos,podemosforzarestarestriiónponiendo

a 0 todos los valores que,una vez alulados,resulten ser negativos.

3. Informaiónsobre elvolumen queoupaelobjeto(olamasa,si

onoe-mos su densidad media): si sabemos que el volumentotal no puede ser

mayor que

V

, en ada paso ponemosa ero todos losvaloresalulados que noestén entre los

V

mayores.

Además, omo ya hemos visto, el método onverge a la soluión que más

(44)

empezando on una estimaión no nula, de auerdo a la informaión de que

dispongamos.

2.6.1. Fatores del modelo que afetan a la alidad de la

reonstruión

Antes de terminaresta introduiónal método ART en general, dediaremos

unas líneas a introduir algunos fatores que pueden afetar a la alidad de

lasreonstruiones.Estossonprinipalmentedos:ladistribuióndedensidad

dentro de los vóxeles y el estableimiento de un fator de relajaiónpara las

orreiones.

En losalgoritmos de reonstruión basados en ART es normal que estos

dosfatoresseanparámetrosdenidosporelusuario.Comoeselusuarioquien

puedeteneraesoainformaiónsobrelanaturalezadelobjetoareonstruiry

las araterístias(tamaño, nivel de ruido...)de lasproyeiones, seleofree

laposibilidaddeajustarlosyrealizarpruebas ondiversasombinaionespara

enontrar lasque satisfagan sus neesidades espeías.

2.6.1.1. Funiones base

Hasta ahora hemos onsiderado, omo aproximaión, que la distribuión de

la funión a determinar es onstante dentro de los vóxeles, y oupa todo el

volumen de éste. Por eso para alular la integral del rayo

i

-ésimo en el vó-xel

j

-ésimodeíamosquesolodependíade ladistaniaquedihorayoreorría dentrodeesevóxel.Aunqueestemodelodedensidaddalugarabuenas

reons-truiones y noesmuyompliadode alular (apartede ser elmás utilizado

porlospaquetesdesoftwarequetrabajanonvolúmenes)existeninnidadde

opiones.

En algunas implementaiones simplemente se sustituyen los pesos

(inte-grales de un rayo en un vóxel) por 0 ó 1, (dependiendo de si el rayo orta al

(45)

ompromiso entre alidad de la reonstruión y veloidad de álulo de la

integral de rayo. Esto failitalos ómputos, pero da lugar a reonstruiones

on una gran antidad de loque se onoe omo salt and pepper noise,que

surge de las inonsistenias que se introduen en el sistema de euaiones al

sustituirlos

w

ij

realesporaproximaionesnodemasiadobuenas. La introdu-ión de un fator de relajaión (que omentaremos en la siguiente seión)

ayuda a eliminareste ruido y a produir reonstruionesmás suaves.

Unmodelomás avanzadotratade obtenervolúmenes de bordessuaves(lo

ual sediultaon eluso de vóxeles, puestoque porsupropiadeniión son

disontinuasenlosbordes).Entrelassoluionespropuestas,estánlasfuniones

de Kaisser-Bessel modiadas, omúnmente onoidas omo blobs [MHC98℄.

Elvalorde estasfunionesauna distania

r

delentrodelblob estádado por:

b

m

n

(r) =

„q

1

(

r

a

)

2

«

m

I

m

α

q

1

(

r

a

)

2

«

I

m

(

α

)

si

0

r

a

0

en otro aso

donde

a

es el radio del blob,

α

es un fator de suavizado,

m

es el orden de la funión de Bessel (el blob resulta ser derivable hasta orden

m

),

n

es la di-mensión del espaio en que se dene (en nuestro aso

n

= 3

puesto que nos enontramos en

R

3

) e

I

m

(x)

esla funión de Bessel de primeraespeie de or-den

m

. Elnombre de Kaisserse debea que lafunión de Besselse enuentra multipliadaporuna ventanade Kaisser quelalimitaen elespaio.La gura

2.6 representa el orte de algunos blobs representativos, on los parámetros

más utilizados.

Eluso de blobs tieneademáslaventaja añadidade quepresentan simetría

esféria, por lo que las integrales de línea sólo dependen de la distania al

entro del blob y pueden ser prealuladasen una tabla en la que seuse esta

distaniaomoíndie,ahorrandotiempode álulodurantelaproyeión(tal

enfoque no es posible on el uso de vóxeles). En partiular, en el aso de las

(46)

Figura 2.6:Perltransversaldedosblobs tridimensionalesdeparámetros

r

= 2

,

m

= 2

y

α

= 3

,

6

,

10

,

4

implementaión on blobs, la proyeión (integral de línea) a una distania

s

R

del entroestá dada por:

p(s) =

2

a

α

t

3

α

2

t

+1

sinh

α

t

α

3

t

cosh

α

t

I

2

(

α

)

si

0

s

a

0

en otro aso (2.8) donde

t

= 1

s

a

2

y

I

n

(x)

es la funión de Bessel de orden

n

(de primera espeie). Estas funionesse denen por:

I

n

(x) =

X

k

=0

(

1)

k

(x/2)

n

+2

k

k! Γ(n

+

k

+ 1)

donde

Γ()

esla funión gammade Euler.

Este modelo esfério puede ampliarseoloandomás de una esfera dentro

de ada vóxel,posiblementepermitiendosusolapamiento.Unejemplode esto

es eluso deuna estrutura úbiaentrada en eluerpo(BCC), quees laque

(47)

ada uno de losvérties delvóxel, además de uno en el entro.

2.6.1.2. Fator de relajaión

En sistemas que varían tratando de onverger a valor, es usual introduir un

fator de relajaión. Lo que se pretende es disminuir la inuenia del ruido,

para lo que se introdue un fator uyo efeto es dar más peso a los

valo-res pasados que al último alulado. En nuestro aso se orresponde on, en

vez de haerlaproyeiónompletahaiaesehiperplano,reorrerúniamente

una fraión dada. Se muestra en la gura 2.7 el resultado de realizar una

relajaión de manera ontinua on

λ

= 0,5

; la línea azul india la señal que ambiay laroja laatualizaiónde losvalores

3

. Se apreia quela variaión

se realiza alprinipio de manera gradual,de tal maneraque se onsigue una

onvergenia exponenial al nuevo valor. Si el pulso resultara ser espurio y

volviera rápidamenteasuvaloriniial,laestimaiónhabríavariadopooy se

reuperaríaelvalorverdaderoenpootiempo.Estoaumentalaestabilidaddel

algoritmo,reduiendoelimpatodelruidoen lareonstruión. Sin embargo,

esta mejora en la alidadse hae aexpensas de laveloidad de onvergenia,

que omo es obviose vedisminuida.

Fijándonosenlaeuaión(2.6),vemosqueestefatorafetaríadelaforma:

f

j

(

i

)

=

f

(

i

1)

j

+

λ

p

i

q

i

P

N

k

=1

w

2

ik

w

ij

j

1..M

(2.9)

Es posible demostrar que la ondiión neesaria y suiente para que el

métodoKarmaz,usandoun fator derelajaión,onverja,esqueéstetenga

un valoromprendidoenelintervalo(0,2).Intuitivamenteestoeradeesperar,

puestoqueualquiervaloreneste intervaloaerará lasoluiónalhiperplano,

mientras que ualquier otro valordejará la nueva estimaión a una distania

3

Conmáspreisión:silalíneaazuleslagráadelafunión

w

(

x

)

,larojaeslagráade

y

(

x

)

, yelambioseprodueen

x

= 0

,sehadibujadolasoluióndelaeuaióndiferenial

y

(

x

) =

λ

(

w

(

x

)

y

(

x

))

, que en nuestro aso (

w

(

x

) =

cte

=

w

) está dada por

y

(

x

) =

(48)

Figura2.7:Efeto delfatorderelajaión

mayor o igual que la anterior. En efeto, para

λ

= 0

el punto permaneería inalterado, mientras que para

λ

= 2

lo que se obtiene es la reexión de ese punto sobre el hiperplano, on lo que su distania a él permanee onstante

y nose ha avanzado en laobtenión de una mejoraproximaión.Es fáil ver

que ualquier valor en (0, 2) resulta en una nueva soluión más erana al

hiperplano,y ualquiervalorsuperior a2 o inferior a0 loaleja.

2.7. SIRT

Simultaneous Iterative Reonstrution Tehnique (SIRT) es una variaióndel

ARTque normalmenteonsigue mejoresreonstruiones aosta deuna

on-vergenia más lenta. Para ello seusa alguna distribuiónde densidad senilla

y para adarayosealulalaorreión queseleapliaríaaadavóxel. Pero

en vez de apliarla inmediatamente después de tratar ese rayo, se reorren

todos los demás alulando las orreiones asoiadas a ellos. Una vez todos

han sido proesados, se alula la media de las orreiones para ada vóxel,

que es la orreión que se aplia entones. Cuando se termina esta primera

(49)

2.8. SART

Simultaneous Algebrai Reonstrution Tehnique (SART) es un algoritmo

perteneiente a la familia del ART reado por A.H Andersen y A.C. Kak

[AK84℄ en 1984. El objetivo es tratar de ombinar lo mejor de los dos

méto-dos desritos anteriormente: laspropiedadessupresoras de ruidode SIRTy la

rápida onvergenia de ART.

Comométododereonstruión algebraia,atúaapliandoiteraionesde

proyeiones y bakproyeiones alvolumenhasta llegar auna soluión. Pero

adifereniadeART,queaplialaorreiónporadarayo,yde SIRT,quelas

apliasólotrashaberproesadotodoslosrayos,SARTalulalasorreiones

utilizando todos losrayosde una determinadaproyeión. Unavez quelosha

proesado ontinúa on la bakproyeión, apliando a ada vóxel una media

ponderada de las orreiones obtenidas por ada rayo. Una desripión de

este algoritmoes:

El algoritmo SART

Iniializar volumen

Hasta alanzar la onvergenia

1) Seleionar una proyeión P

2) Proyetar del volumen

Calular la suma de ada uno de los rayos de la proyeión P,

dando lugar a los valores de los píxeles.

3) Calular la orreión

Para ada píxel, alular la diferenia de los valores reales

de la proyeión P y la suma de los rayos alulada.

4) Bakproyetar la orreión

Distribuir las orreiones entre todos los vóxeles del volumen.

Laexpresiónmatemátiautilizadaparalaorreiónesligeramentedistinta

(50)

f

j

(

k

)

=

f

(

k

1)

j

+

λ

M

X

i

=1

p

i

N

X

n

=1

w

in

f

n

(

k

1)

N

X

n

=1

w

in

w

ij

M

X

i

=1

w

ij

(2.10)

donde

N

es el número de vóxeles del volumen,

M

es el número de rayos en la proyeiónatual,

p

i

esla integral medidadel rayo

i

-ésimo,

f

(

k

)

j

esel valor delvóxel

j

después de habertratado

k

proyeiones,

w

ij

eslaintegraldelrayo

i

-ésimo en elvóxel

j

, y

λ

es elfator de relajaión.

Como puede verse, el interior del sumatorio del numerador alula la

orreión para el vóxel

j

debido al rayo

i

. El numerador entero alula la suma ponderada de todas esas orreiones para todos los rayos de una

pro-yeión

P

,dandomayorpesoalosrayosonlosquehaymayorinterseión,y el denominadoralula lasuma de todas lasintegralesde rayode losrayosde

la proyeión

P

que han pasado por elvóxel

j

.Así pues, la orreión que se le aplia alvóxel

j

esuna media ponderada de todas lasorreiones debidas a los rayos de la proyeión

P

, efetuando una relajaiónon elfator

λ

.

Como en este método las sumas de rayos se alulan para todos los

ra-yos de una proyeión, tiene sentido proponer varias formas de haerlo. Hay

básiamentedos: proyeión orientada apíxel y proyeión orientada a vóxel.

En la proyeión orientada a píxel se parte del píxel y se reorre ada rayo

alulando qué vóxeles atraviesa y on qué integral. Sumando todas ellas se

obtienelasumadelrayo,esdeir,elvalordelpíxel.Enlaproyeiónorientada

a vóxelseproedede una maneradiferente, sereorrenlosvóxelesalulando

qué píxeles afetarían y uanto. Para efetuar este proedimientolo usual es

usar una ténia onoida omo splatting (véase seión 5.2.2). Se divide el

volumen en franjas y ada una se trataporseparado, omo si ada una fuese

(51)

onseguir elvalornal loquetendremos quehaer essumardihos valores de

todas lasfranjas.

Unade lasaraterístiasmássorprendentes delSARTesqueproporiona

reonstruiones de gran alidadon solouna iteraión (estoes, on solouna

(52)
(53)

Unidades de proesamiento gráo

(GPUs)

3.1. Generalidades

Una unidadde proesamientográo(GPU) esun miroproesadordediado

espeíamente al renderizado de gráos; es deir, el proesamiento de una

desripión de alto nivel de una esena para obtener una imagen

bidimensio-nal rasterizada, liberandoa la CPU de gran parte de la arga de trabajo del

proeso y aelerándolo signiativamente. Su desarrollo ha sido fuertemente

impulsado por la industria de los videojuegos (de la que emana la neesidad

de generarimágenes renderizadasde alidadinematográa en tiemporeal),

y omo resultado hoy en día están ampliamente disponibles en ordenadores

personales, estaiones de trabajo y videoonsolas.

Lo importante para nuestros propósitos es que el proeso de

renderiza-do puede ser paralelizado muy eientemente, y por tanto la estrutura de

las GPUs es espeialmente adeuada para apliaiones altamenteparalelas y

omputaionalmenteintensivas;omo veremos, paratales apliaioneses

mu-ho más efetiva una implementaión en una GPU programable que en una

CPU. Por este motivo, dediaremos este apítulo a estudiar la arquitetura

(54)

pipeline gráo, así omo las ventajas e inonvenientes que se derivan de su

uso para tareas distintas de para lasque fueron originalmentediseñadas.

3.2. Pipeline gráo

La entrada al pipeline gráo es, típiamente, una desripión en alto nivel

de una esena tridimensional generada por una apliaión que se ejeuta en

la CPU. Esta esena suele estar representada poruna serie de polígonos,on

informaiónasoiadasobreoloresymateriales.Elresultadoesunaimagen

bi-dimensional rasterizada y almaenadaen elframebuer. Rasterizada quiere

deir simplementequeelresultadoesuna matrizque ontiene elolor nalde

adapíxelindividual,yportantoyaestálistaparasermostradadiretamente.

Laestrutura básiadelproeso suele onentrase en tornoa tres grandes

etapas oneptuales (ver gura3.1):

Figura 3.1:Pipeline gráo.Lastresetapasprinipales

1. Apliaión: es el programa que se ejeuta en CPU, on omandos

re-feridos alsubsistema gráode la GPU.NormalmenteaedealaGPU

(55)

2. Geometría:alulaquéesloquesevaamostrar,ómoydónde.En

tér-minosmás preisos, seenargadeproyetarlostriángulosen lapantalla

y alularatributos omoiluminaión,olory orientaiónde las

super-ies. Todoesto sellevaaabomedianteoperaiones porpolígono,omo

transformaionesdeoordenadas,iluminaión,generaióndetexturasde

oordenadas y reorte. Este proeso se puede llevar a abo en paralelo

para ada uno de lostriángulos.

3. Rasterizaión: se alulan los píxeles (fragmentos) de la imagen

re-sultante y se proesan usando mapeado de texturas, interpolaión de

olores, visibilidad y mezlado de transparenias. Aquí se opera por

pí-xeles independientemente.

Cada una de estas fases se divide a su vez en varias etapas, y ada una

de ellasatúade maneraindependientey simultánea,proesando elresultado

de la anterior y enlazando la salida on la entrada a la siguiente etapa. El

rendimientode launidadgráade proesamientoestá prinipalmente

deter-minado por lalateniade laetapa más lenta.

Laestrutura básia delpipeline de renderizado esla quese observaen la

gura3.2. Enlasseionessiguientesseprofundizaráen adaetapade lasque

se aaban de menionar.

3.2.1. Etapa geométria

Laesenaestá denidapormediode vérties,normales, oloresy propiedades

de iluminaiónde losmateriales, queseonreta medianteprimitivas

propor-ionadas porla API gráa. Cadaelemento de la esenapuede estar denido

en un maroloaldeoordenadas distinto(loalspae);elometido dela

eta-pa geométria es llevara abo una serie de transformaionesde oordenadas

uyoresultadonalseanpíxeles delpuertodevista(que esdondesemostrará

la imagen). Las distintas fases de esta etapa, que pueden verse en la gura

3.3, son:

(56)

Figura3.2:Estruturabásiadelpipeline gráo

están iniialmenteada uno enmarados en un sistema de oordenadas

propio (loal spae),setransforman en oordenadas delmundo (world

oordinates), que es un sistema universal de oordenadas en el espaio

tridimensional en el que se enmaran todos los objetos; el resultado de

esta transformaión (denominadamodelado) seonvierte a su vez a un

nuevo marode oordenadas (eye oordinates)que representa la esena

vista desde la ámara (en funión de su posiión y orientaión). Esta

división en dos pasos es más bien de aráter oneptual, puesto que

lo usual es que ambos se realien en uno, que se redue a apliar una

transformaión afín dada por la matriz de modelado y vista, que

ombina ambos efetos.

2. Iluminaión por vértie: seaplian modelosde iluminaióna los

ob-jetos en funión de las posiiones y araterístias de las fuentes de luz

(que pueden tratarsede luzambiente, foos omnidireionales,foos

ó-nios...),propiedades de losmateriales (laproporiónde luzambiente,

difusayespeularquereejan),normalesalassuperiesyposiióndela

ámara.Estosmodelos sonsóloaproximados;una simulaiónrealistade

Referencias

Documento similar

En un estudio clínico en niños y adolescentes de 10-24 años de edad con diabetes mellitus tipo 2, 39 pacientes fueron aleatorizados a dapagliflozina 10 mg y 33 a placebo,

• Descripción de los riesgos importantes de enfermedad pulmonar intersticial/neumonitis asociados al uso de trastuzumab deruxtecán. • Descripción de los principales signos

Abstract: This paper reviews the dialogue and controversies between the paratexts of a corpus of collections of short novels –and romances– publi- shed from 1624 to 1637:

E Clamades andaua sienpre sobre el caua- 11o de madera, y en poco tienpo fue tan lexos, que el no sabia en donde estaña; pero el tomo muy gran esfuergo en si, y pensó yendo assi

[r]

SVP, EXECUTIVE CREATIVE DIRECTOR JACK MORTON

Social Media, Email Marketing, Workflows, Smart CTA’s, Video Marketing. Blog, Social Media, SEO, SEM, Mobile Marketing,

• For patients with severe asthma and who are on oral corticosteroids or for patients with severe asthma and co-morbid moderate-to-severe atopic dermatitis or adults with