Foreword |
|
xvii | |
Preface |
|
xix | |
Preface to the First Edition |
|
xxi | |
Introduction |
|
xxv | |
Authors |
|
xxvii | |
|
List of Symbols and Abbreviations |
|
|
xxix | |
|
I Introduction to Images and Computing using Python |
|
|
1 | (58) |
|
|
3 | (20) |
|
|
3 | (1) |
|
|
3 | (2) |
|
|
5 | (1) |
|
|
5 | (1) |
|
1.3.2 Anaconda Python Distribution |
|
|
6 | (1) |
|
1.4 Running a Python Program |
|
|
6 | (1) |
|
1.5 Basic Python Statements and Data Types |
|
|
7 | (12) |
|
|
11 | (5) |
|
|
16 | (2) |
|
1.5.3 User-Defined Functions |
|
|
18 | (1) |
|
|
19 | (1) |
|
|
20 | (3) |
|
2 Computing using Python Modules |
|
|
23 | (14) |
|
|
23 | (1) |
|
|
23 | (3) |
|
|
24 | (1) |
|
|
24 | (2) |
|
|
26 | (5) |
|
2.3.1 Numpy Array or Matrices? |
|
|
30 | (1) |
|
|
31 | (1) |
|
|
31 | (1) |
|
2.6 Python Imaging Library |
|
|
32 | (1) |
|
|
32 | (1) |
|
|
33 | (1) |
|
|
34 | (1) |
|
|
34 | (3) |
|
3 Image and Its Properties |
|
|
37 | (22) |
|
|
37 | (1) |
|
3.2 Image and Its Properties |
|
|
38 | (6) |
|
|
38 | (1) |
|
|
39 | (2) |
|
|
41 | (1) |
|
|
42 | (1) |
|
3.2.5 Connectivity: 4 or 8 Pixels |
|
|
43 | (1) |
|
|
44 | (5) |
|
|
44 | (1) |
|
|
45 | (1) |
|
|
45 | (4) |
|
3.4 Data Structures for Image Analysis |
|
|
49 | (1) |
|
3.5 Reading, Writing and Displaying Images |
|
|
49 | (4) |
|
|
49 | (2) |
|
3.5.2 Reading DICOM Images using pyDICOM |
|
|
51 | (1) |
|
|
52 | (1) |
|
3.5.4 Writing DICOM Images using pyDICOM |
|
|
52 | (1) |
|
|
53 | (1) |
|
|
53 | (3) |
|
|
56 | (1) |
|
|
57 | (2) |
|
II Image Processing using Python |
|
|
59 | (216) |
|
|
61 | (34) |
|
|
61 | (1) |
|
|
62 | (11) |
|
|
64 | (4) |
|
|
68 | (2) |
|
|
70 | (2) |
|
|
72 | (1) |
|
4.3 Edge Detection using Derivatives |
|
|
73 | (16) |
|
4.3.1 First Derivative Filters |
|
|
74 | (2) |
|
|
76 | (2) |
|
|
78 | (2) |
|
|
80 | (2) |
|
4.3.2 Second Derivative Filters |
|
|
82 | (1) |
|
|
83 | (3) |
|
4.3.2.2 Laplacian of Gaussian Filter |
|
|
86 | (3) |
|
4.4 Shape Detecting Filter |
|
|
89 | (2) |
|
|
89 | (2) |
|
|
91 | (1) |
|
|
92 | (3) |
|
|
95 | (28) |
|
|
95 | (1) |
|
|
95 | (2) |
|
|
97 | (2) |
|
5.4 Power Law Transformation |
|
|
99 | (3) |
|
|
102 | (2) |
|
5.6 Histogram Equalization |
|
|
104 | (6) |
|
5.7 Contrast Limited Adaptive Histogram Equalization (CLAHE) |
|
|
110 | (2) |
|
|
112 | (2) |
|
|
114 | (3) |
|
5.10 Local Contrast Normalization |
|
|
117 | (4) |
|
|
121 | (1) |
|
|
121 | (2) |
|
|
123 | (14) |
|
|
123 | (1) |
|
6.2 Affine Transformation |
|
|
124 | (10) |
|
|
124 | (3) |
|
|
127 | (1) |
|
|
128 | (2) |
|
|
130 | (4) |
|
|
134 | (1) |
|
|
135 | (2) |
|
|
137 | (30) |
|
|
137 | (1) |
|
7.2 Definition of Fourier Transform |
|
|
138 | (3) |
|
7.3 Two-Dimensional Fourier Transform |
|
|
141 | (5) |
|
7.3.1 Fast Fourier Transform using Python |
|
|
143 | (3) |
|
|
146 | (2) |
|
7.4.1 Convolution in Fourier Space |
|
|
147 | (1) |
|
7.5 Filtering in the Frequency Domain |
|
|
148 | (16) |
|
7.5.1 Ideal Lowpass Filter |
|
|
148 | (3) |
|
7.5.2 Butterworth Lowpass Filter |
|
|
151 | (1) |
|
7.5.3 Gaussian Lowpass Filter |
|
|
152 | (2) |
|
7.5.4 Ideal Highpass Filter |
|
|
154 | (3) |
|
7.5.5 Butterworth Highpass Filter |
|
|
157 | (2) |
|
7.5.6 Gaussian Highpass Filter |
|
|
159 | (1) |
|
|
160 | (4) |
|
|
164 | (1) |
|
|
164 | (3) |
|
|
167 | (28) |
|
|
167 | (1) |
|
8.2 Histogram-Based Segmentation |
|
|
168 | (11) |
|
|
168 | (4) |
|
|
172 | (4) |
|
8.2.3 Adaptive Thresholding |
|
|
176 | (3) |
|
8.3 Region-Based Segmentation |
|
|
179 | (8) |
|
8.3.1 Watershed Segmentation |
|
|
181 | (6) |
|
8.4 Contour-Based Segmentation |
|
|
187 | (4) |
|
8.4.1 Chan-Vese Segmentation |
|
|
187 | (4) |
|
8.5 Segmentation Algorithm for Various Modalities |
|
|
191 | (2) |
|
8.5.1 Segmentation of Computed Tomography Image |
|
|
192 | (1) |
|
8.5.2 Segmentation of MRI Image |
|
|
192 | (1) |
|
8.5.3 Segmentation of Optical and Electron Microscope Images |
|
|
192 | (1) |
|
|
193 | (1) |
|
|
193 | (2) |
|
9 Morphological Operations |
|
|
195 | (32) |
|
|
195 | (1) |
|
|
195 | (1) |
|
|
196 | (5) |
|
|
201 | (4) |
|
9.5 Grayscale Dilation and Erosion |
|
|
205 | (4) |
|
|
209 | (4) |
|
9.7 Grayscale Opening and Closing |
|
|
213 | (4) |
|
|
217 | (4) |
|
9.9 Thickening and Thinning |
|
|
221 | (3) |
|
|
222 | (2) |
|
|
224 | (1) |
|
|
224 | (3) |
|
|
227 | (24) |
|
|
227 | (1) |
|
|
228 | (3) |
|
|
231 | (7) |
|
|
232 | (2) |
|
|
234 | (4) |
|
|
238 | (4) |
|
|
242 | (6) |
|
10.5.1 FAST Corner Detector |
|
|
243 | (1) |
|
10.5.2 Harris Corner Detector |
|
|
244 | (4) |
|
|
248 | (1) |
|
|
249 | (2) |
|
|
251 | (14) |
|
|
251 | (1) |
|
|
252 | (1) |
|
11.3 Mathematical Modeling |
|
|
252 | (4) |
|
11.3.1 Forward Propagation |
|
|
252 | (2) |
|
|
254 | (2) |
|
11.4 Graphical Representation |
|
|
256 | (3) |
|
11.5 Neural Network for Classification Problems |
|
|
259 | (1) |
|
11.6 Neural Network Example Code |
|
|
259 | (5) |
|
|
264 | (1) |
|
|
264 | (1) |
|
12 Convolutional Neural Network |
|
|
265 | (10) |
|
|
265 | (1) |
|
|
266 | (1) |
|
|
267 | (1) |
|
|
268 | (5) |
|
|
273 | (1) |
|
|
273 | (2) |
|
|
275 | (106) |
|
13 X-Ray and Computed Tomography |
|
|
277 | (38) |
|
|
277 | (1) |
|
|
277 | (1) |
|
|
278 | (6) |
|
13.3.1 X-Ray Tube Construction |
|
|
278 | (2) |
|
13.3.2 X-Ray Generation Process |
|
|
280 | (4) |
|
|
284 | (4) |
|
|
284 | (2) |
|
13.4.2 Lambert-Beer Law for Multiple Materials |
|
|
286 | (1) |
|
13.4.3 Factors Determining Attenuation |
|
|
287 | (1) |
|
|
288 | (5) |
|
|
289 | (1) |
|
|
290 | (1) |
|
13.5.3 Flat Panel Detector (FPD) |
|
|
291 | (2) |
|
|
293 | (2) |
|
|
293 | (1) |
|
|
293 | (2) |
|
13.7 Computed Tomography (CT) |
|
|
295 | (9) |
|
|
295 | (1) |
|
|
296 | (1) |
|
13.7.3 Central Slice Theorem |
|
|
296 | (4) |
|
|
300 | (1) |
|
|
301 | (2) |
|
|
303 | (1) |
|
13.8 Hounsfield Unit (HU) |
|
|
304 | (2) |
|
|
306 | (5) |
|
13.9.1 Geometric Misalignment Artifacts |
|
|
307 | (1) |
|
|
307 | (2) |
|
13.9.3 Offset and Gain Correction |
|
|
309 | (1) |
|
|
310 | (1) |
|
|
311 | (1) |
|
|
311 | (2) |
|
|
313 | (2) |
|
14 Magnetic Resonance Imaging |
|
|
315 | (28) |
|
|
315 | (1) |
|
14.2 Laws Governing NMR and MRI |
|
|
316 | (3) |
|
|
316 | (1) |
|
|
317 | (1) |
|
|
318 | (1) |
|
|
319 | (5) |
|
14.3.1 Gyromagnetic Ratio |
|
|
319 | (1) |
|
|
320 | (1) |
|
14.3.3 T1 and T2 Relaxation Times |
|
|
321 | (3) |
|
14.4 NMR Signal Detection |
|
|
324 | (1) |
|
14.5 MRI Signal Detection or MRI Imaging |
|
|
324 | (3) |
|
|
326 | (1) |
|
|
326 | (1) |
|
14.5.3 Frequency Encoding |
|
|
327 | (1) |
|
|
327 | (4) |
|
|
328 | (1) |
|
|
329 | (1) |
|
|
329 | (1) |
|
|
330 | (1) |
|
14.7 T1, T2 and Proton Density Image |
|
|
331 | (2) |
|
14.8 MRI Modes or Pulse Sequence |
|
|
333 | (3) |
|
|
333 | (1) |
|
14.8.2 Inversion Recovery |
|
|
334 | (1) |
|
14.8.3 Gradient Echo Imaging |
|
|
335 | (1) |
|
|
336 | (4) |
|
|
337 | (2) |
|
|
339 | (1) |
|
14.9.3 Inhomogeneity Artifact |
|
|
339 | (1) |
|
14.9.4 Partial Volume Artifact |
|
|
340 | (1) |
|
|
340 | (1) |
|
|
341 | (2) |
|
|
343 | (20) |
|
|
343 | (1) |
|
|
344 | (6) |
|
|
344 | (1) |
|
15.2.2 Numerical Aperture |
|
|
345 | (1) |
|
|
346 | (2) |
|
|
348 | (1) |
|
15.2.5 Point Spread Function (PSF) |
|
|
349 | (1) |
|
15.2.6 Wide-Field Microscopes |
|
|
350 | (1) |
|
15.3 Construction of a Wide-Field Microscope |
|
|
350 | (2) |
|
|
352 | (1) |
|
15.5 Fluorescence Microscope |
|
|
352 | (4) |
|
|
352 | (1) |
|
15.5.2 Properties of Fluorochromes |
|
|
353 | (2) |
|
|
355 | (1) |
|
15.6 Confocal Microscopes |
|
|
356 | (1) |
|
15.7 Nipkow Disk Microscopes |
|
|
357 | (2) |
|
15.8 Confocal or Wide-Field? |
|
|
359 | (1) |
|
|
360 | (1) |
|
|
361 | (2) |
|
|
363 | (18) |
|
|
363 | (1) |
|
|
364 | (6) |
|
|
365 | (1) |
|
16.2.2 Interaction of Electron with Matter |
|
|
366 | (2) |
|
16.2.3 Interaction of Electrons in TEM |
|
|
368 | (1) |
|
16.2.4 Interaction of Electrons in SEM |
|
|
368 | (2) |
|
|
370 | (4) |
|
|
370 | (2) |
|
16.3.2 Electromagnetic Lens |
|
|
372 | (1) |
|
|
373 | (1) |
|
16.4 Specimen Preparations |
|
|
374 | (1) |
|
16.5 Construction of the TEM |
|
|
375 | (1) |
|
16.6 Construction of the SEM |
|
|
376 | (1) |
|
16.7 Factors Determining Image Quality |
|
|
377 | (2) |
|
|
379 | (1) |
|
|
380 | (1) |
|
A Process-Based Parallelism using Joblib |
|
|
381 | (4) |
|
A.1 Introduction to Process-Based Parallelism |
|
|
381 | (1) |
|
A.2 Introduction to Joblib |
|
|
381 | (1) |
|
|
382 | (3) |
|
B Parallel Programming using MPI4Py |
|
|
385 | (10) |
|
|
385 | (1) |
|
B.2 Need for MPI in Python Image Processing |
|
|
386 | (1) |
|
B.3 Introduction to MPI4Py |
|
|
387 | (1) |
|
|
388 | (1) |
|
|
389 | (4) |
|
B.5.1 Point-to-Point Communication |
|
|
389 | (2) |
|
B.5.2 Collective Communication |
|
|
391 | (2) |
|
B.6 Calculating the Value of PI |
|
|
393 | (2) |
|
|
395 | (4) |
|
|
395 | (1) |
|
|
396 | (3) |
|
D MATLAB® and Numpy Functions |
|
|
399 | (4) |
|
|
399 | (4) |
Bibliography |
|
403 | (14) |
Index |
|
417 | |