Cet ouvrage fait partie de la bibliothèque YouScribe
Obtenez un accès à la bibliothèque pour le lire en ligne
En savoir plus

Medical image processing with graphics hardware [Elektronische Ressource] = Verarbeitung medizinischer Bilddaten mit Grafikhardware / vorgelegt von Frank Enders

De
206 pages
Medical Image Processingwith Graphics HardwareVerarbeitung medizinischer Bilddatenmit GrafikhardwareDer Technischen Fakultät derUniversität Erlangen–Nürnbergzur Erlangung des GradesDOKTOR–INGENIEURvorgelegt vonDipl.–Inf. Frank EndersErlangen — 2009Als Dissertation genehmigt vonder Technischen Fakultätder Universität Erlangen–NürnbergTag der Einreichung: 27.10.2008Tag der Promotion: 06.03.2009Dekan: Prof. Dr.–Ing. J. HubertBerichterstatter: Prof. Dr.–Ing. M. StammingerProf. Dr. rer. nat. D. WeiskopfPD Dr.–Ing. P. HastreiterRevision 1.1c 2008,2009, Copyright Frank EndersAll Rights ReservedAlle Rechte vorbehaltenAbstract iAbstractThe advancements in medical imaging over the past decades have been remarkable and so isthe relevance for today’s procedures. The various imaging techniques have significantlyimproved both diagnosis and treatment. New insights have been gained and new therapy ap-proaches have been developed. However, these advancements come at high costs. The requiredhardware and infrastructure are getting increasingly expensive. The enormous amount of data,generated by the scanners, needs to be stored and the data has to be processed, which is verytime-consuming. To deal with these difficulties, high performance computer systems and so-phisticated algorithms are used.A significant improvement can be achieved by the use of modern graphics hardware.
Voir plus Voir moins

Medical Image Processing
with Graphics Hardware
Verarbeitung medizinischer Bilddaten
mit Grafikhardware
Der Technischen Fakultät der
Universität Erlangen–Nürnberg
zur Erlangung des Grades
DOKTOR–INGENIEUR
vorgelegt von
Dipl.–Inf. Frank Enders
Erlangen — 2009Als Dissertation genehmigt von
der Technischen Fakultät
der Universität Erlangen–Nürnberg
Tag der Einreichung: 27.10.2008
Tag der Promotion: 06.03.2009
Dekan: Prof. Dr.–Ing. J. Hubert
Berichterstatter: Prof. Dr.–Ing. M. Stamminger
Prof. Dr. rer. nat. D. Weiskopf
PD Dr.–Ing. P. HastreiterRevision 1.1
c 2008,2009, Copyright Frank Enders
All Rights Reserved
Alle Rechte vorbehaltenAbstract i
Abstract
The advancements in medical imaging over the past decades have been remarkable and so is
the relevance for today’s procedures. The various imaging techniques have significantly
improved both diagnosis and treatment. New insights have been gained and new therapy ap-
proaches have been developed. However, these advancements come at high costs. The required
hardware and infrastructure are getting increasingly expensive. The enormous amount of data,
generated by the scanners, needs to be stored and the data has to be processed, which is very
time-consuming. To deal with these difficulties, high performance computer systems and so-
phisticated algorithms are used.
A significant improvement can be achieved by the use of modern graphics hardware. The
vector architecture of graphics processors, which combines numerous processing units into a
single processor, is particularly suitable to process many data elements with the same processing
directives. With respect to image processing this architecture is also very advantageous since
mostly all data elements of an image or volume are processed in the same way which maps
perfectly onto the graphics hardware. In combination with the for data streaming optimized
memory interface of graphics hardware, the performance gain is considerable in comparison to
a conventional implementation.
However, the progress in algorithms in combination with specialized hardware causes soft-
ware that is difficult to use. Along with the huge variety of different imaging modalities and
the associated algorithms, this makes it difficult for the physician to work efficiently with the
software. To counteract this development, among other things, the software developers have to
improve the graphical user interface of the applications and optimize the workflows.
During the work on this thesis, the software framework MedAlyVis (Medical Analysis and
Visualization) was developed to support the physician in the work with image data. The work-
flow of processing and visualizing the image data is integrated into the application and modules
for the different steps are provided. For performance improvements, most of the modules make
use of programmable graphics hardware. In the course of preprocessing, filtering and registra-
tion are particularly time-consuming tasks and thus leave room for performance enhancements.
In visualization, as the native application area of the hardware, the algorithms contribute to per-
formance improvements as well as to quality enhancements.
Yet, all the presented approaches are only of use, if they are applied to actual scenarios in
medicine. Traditionally neurosurgery plays a leading role in the employment of new techniques.
Due to the highly complicated problems and surgeries, neurosurgeons willingly adopt the new
techniques for their activities. Consequently, the approaches presented in this thesis were first
applied to diffusion tensor imaging and neurovascular compression which are two practical prob-
lems in neurosurgery.ii AbstractContents iii
Contents
Abstract i
Contents iii
List of Figures vii
List of Tables xi
List of Code Examples xiii
Acknowledgments xv
1 Introduction 1
1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
I Basics 5
2 Medical Image Data 7
2.1 Image Acquisition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3 Diffusion Tensor Imaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3.1 Eigensystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3.2 Scalar Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3 Graphics Hardware 17
3.1 Graphics Rendering Pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.1.1 Application Stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.1.2 Geometry Stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.1.3 Rasterization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.1.4 Buffers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2 Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2.1 Vertex Shader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2.2 Fragment Shader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2.3 GPGPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21iv Contents
II Image Processing 23
4 Filters 27
4.1 Filtering of Medical Image Data . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.1.1 Volume Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.1.2 Linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.1.3 Non-linear Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.2 Filtering on the GPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.2.1 Technical Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.2.2 Volume Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.2.3 Filter Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.3 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.3.1 Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.3.2 Quality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5 Registration 45
5.1 Rigid Registration with NMI on a GPU . . . . . . . . . . . . . . . . . . . . . . 46
5.2 Non-Rigid Registration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.3 Implementation on the GPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.4 Results and Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
III Visualization 53
6 Glyph Rendering 57
6.1 Glyphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
6.1.1 Data Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
6.1.2 Application to Diffusion Tensor Imaging Data . . . . . . . . . . . . . . . 58
6.2 GPU-based Glyph Rendering . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
6.2.1 Concept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
6.2.2 General Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . 63
6.3 Ellipsoids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
6.3.1 Raytracing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
6.3.2 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
6.4 Superquadrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
6.4.1 Mathematical Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
6.4.2 Tangential Tracing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
6.4.3 GPU Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6.4.4 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
6.5 Particle System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
6.6 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76Contents v
7 Fiber Tracking 79
7.1 T . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
7.1.1 Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
7.1.2 Evenly Spaced Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . 83
7.1.3 Connectivity Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
7.2 Visualization of Fiber Tracts . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
7.2.1 Line Rendering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
7.2.2 Color and Transparency . . . . . . . . . . . . . . . . . . . . . . . . . . 86
7.2.3 GPU-accelerated Line Rendering . . . . . . . . . . . . . . . . . . . . . 90
7.2.4 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
7.3 Hyperstreamlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
7.3.1 Tubelets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
7.3.2 Geometrical Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
7.3.3 Background . . . . . . . . . . . . . . . . . . . . . . . . . . 97
7.3.4 Sphere Tracing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
7.4 Hulls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
7.4.1 Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
7.4.2 Wrapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
7.4.3 Visualization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
7.5 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
8 Raycasting 111
8.1 Raycasting on the GPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
8.1.1 Basic Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
8.1.2 Enhancements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
8.1.3 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
8.2 Combination with Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
8.2.1 Opaque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
8.2.2 Semi-Transparent Geometry . . . . . . . . . . . . . . . . . . . . . . . . 125
8.2.3 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
8.3 Tagged Volume Rendering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
8.3.1 Pre- and Postinterpolative Algorithm . . . . . . . . . . . . . . . . . . . 129
8.3.2 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
8.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
IV Applications 133
9 MedAlyVis 137
9.1 Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
9.1.1 Data Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
9.1.2 Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
9.1.3 Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139vi Contents
9.2 User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
9.2.1 Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
9.2.2 Layouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
9.2.3 Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
9.3 Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
9.3.1 Image Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
9.3.2 Visualization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
10 Examples in Neurosurgery 145
10.1 Therapy Planning of Tumor Surgery . . . . . . . . . . . . . . . . . . . . . . . . 145
10.2 Analysis of Neurovascular Compression Syndromes . . . . . . . . . . . . . . . . 147
10.3 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
V Conclusion 151
11 Summary and Outlook 153
VI Appendix 157
A Advised Theses 159
B Own Publications 161
Index 163
Abbreviations 168
Bibliography 169

Un pour Un
Permettre à tous d'accéder à la lecture
Pour chaque accès à la bibliothèque, YouScribe donne un accès à une personne dans le besoin