High Performance Java Software for Image Processing Öffentlichkeit
Wendykier, Piotr Maciej (2009)
Abstract
Abstract
High Performance Java Software for Image Processing
By Piotr Wendykier
Parallel computing has been used for scientific computing
applications since the
1960s, when the first supercomputers were developed. However,
only recently
have these programming paradigms become useful for software running
on desk-
top and notebook computers. In this dissertation we demonstrate the
advantage
of exploiting modern computer architectures in scientific
computing with multi-
threaded programming in Java for applications in image processing.
A significant
contribution of this work is an open source, multithreaded high
performance sci-
entific computing Java library called Parallel Colt. In
addition, on top of Parallel
Colt, we have implemented six ImageJ plugins for deconvolution,
super-resolution,
fast Fourier transforms and image cropping. Hence, we are able to
provide soft-
ware to solve important problems in real image processing
applications, and which
can effectively make use of multi-core CPUs available on affordable
desktop and
notebook computers.
High Performance Java Software for Image Processing
by
Piotr Wendykier
M.Sc., Adam Mickiewicz University, 2003
Advisor: James G. Nagy, PhD
A dissertation submitted to the Faculty of the
James T. Laney School of Graduate Studies of Emory University
in partial fulfillment of the requirements of the degree
of
Doctor of Philosophy
in mathematics
2009
Table of Contents
1 Introduction 1
1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . 1
1.2 Inverse Problems . . . . . . . . . . . . . . . . . . . . . . .
. . . 3
1.3 Regularization . . . . . . . . . . . . . . . . . . . . . . . .
. . . . 6
1.4 Outline of This Work . . . . . . . . . . . . . . . . . . . . .
. . . 9
2 Deconvolution and Super-resolution 11
2.1 Deconvolution . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 11
2.1.1 Spectral Deconvolution . . . . . . . . . . . . . . . . . . .
13
2.1.2 Iterative Deconvolution . . . . . . . . . . . . . . . . . . .
22
2.2 Motion Correction of PET Brain Images . . . . . . . . . . . . .
. 28
2.2.1 Motion Detection . . . . . . . . . . . . . . . . . . . . . .
30
2.2.2 Mathematical Formulation . . . . . . . . . . . . . . . . .
35
2.2.3 Determining Head Positions . . . . . . . . . . . . . . . .
36
2.3 Super-Resolution . . . . . . . . . . . . . . . . . . . . . . .
. . . 39
3 Java in Scientific Computing and Imaging 42
3.1 Why Java? . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 42
3.2 Related Work . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 44
3.3 Parallel Colt . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . 48
3.3.1 Colt . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 49
3.3.2 Concurrency . . . . . . . . . . . . . . . . . . . . . . . .
50
3.3.3 Multidimensional Arrays . . . . . . . . . . . . . . . . . .
51
3.3.4 Iterative Solvers . . . . . . . . . . . . . . . . . . . . . .
55
3.3.5 Linear Algebra . . . . . . . . . . . . . . . . . . . . . . .
56
3.3.6 Trigonometric Transforms . . . . . . . . . . . . . . . . .
58
3.3.7 Accuracy . . . . . . . . . . . . . . . . . . . . . . . . . .
60
3.3.8 Other Additions . . . . . . . . . . . . . . . . . . . . . . .
64
3.3.9 Examples of Usage . . . . . . . . . . . . . . . . . . . . .
65
3.3.10 Benchmarks . . . . . . . . . . . . . . . . . . . . . . . . .
66
4 Implementation 73
4.1 Parallel Spectral Deconvolution . . . . . . . . . . . . . . . .
. . 73
4.1.1 Description and Usage . . . . . . . . . . . . . . . . . .
. 74
4.1.2 Benchmark . . . . . . . . . . . . . . . . . . . . . . . . .
77
4.2 Parallel Iterative Deconvolution . . . . . . . . . . . . . . .
. . . 81
4.2.1 Description and Usage . . . . . . . . . . . . . . . . . . .
81
4.2.2 Benchmark . . . . . . . . . . . . . . . . . . . . . . . . .
92
4.3 Parallel HRRT Deconvolution . . . . . . . . . . . . . . . . . .
. 93
4.3.1 Description and Usage . . . . . . . . . . . . . . . . . . .
94
4.3.2 Benchmark . . . . . . . . . . . . . . . . . . . . . . . . .
98
4.4 Parallel Super-Resolution . . . . . . . . . . . . . . . . . . .
. . . 104
4.4.1 Description and Usage . . . . . . . . . . . . . . . . . . .
104
4.4.2 Benchmark . . . . . . . . . . . . . . . . . . . . . . . . .
109
4.5 Parallel FFTJ . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 109
4.5.1 Description and Usage . . . . . . . . . . . . . . . . . . .
110
4.5.2 Benchmark . . . . . . . . . . . . . . . . . . . . . . . . .
112
4.6 Lincoln Papers . . . . . . . . . . . . . . . . . . . . . . . .
. . . 114
4.6.1 Description and Usage . . . . . . . . . . . . . . . . . . .
114
4.6.2 Benchmark . . . . . . . . . . . . . . . . . . . . . . . . .
120
5 Conclusions 122
Appendix A 124
6.1 Fast Fourier Transform . . . . . . . . . . . . . . . . . . . .
. . . 124
Appendix B 127
7.1 Popularity of Parallel Colt . . . . . . . . . . . . . . . . . .
. . . 127
7.2 Popularity of JTransforms . . . . . . . . . . . . . . . . . . .
. . 128
7.3 Popularity of ImageJ Plugins . . . . . . . . . . . . . . . . .
. . . 130
7.4 Lines of Code . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 130
Bibliography 132
About this Dissertation
School | |
---|---|
Department | |
Degree | |
Submission | |
Language |
|
Research Field | |
Stichwort | |
Committee Chair / Thesis Advisor | |
Committee Members |
Primary PDF
Thumbnail | Title | Date Uploaded | Actions |
---|---|---|---|
High Performance Java Software for Image Processing () | 2018-08-28 11:12:47 -0400 |
|
Supplemental Files
Thumbnail | Title | Date Uploaded | Actions |
---|