- •Biological and Medical Physics, Biomedical Engineering
- •Medical Image Processing
- •Preface
- •Contents
- •Contributors
- •1.1 Medical Image Processing
- •1.2 Techniques
- •1.3 Applications
- •1.4 The Contribution of This Book
- •References
- •2.1 Introduction
- •2.2 MATLAB and DIPimage
- •2.2.1 The Basics
- •2.2.2 Interactive Examination of an Image
- •2.2.3 Filtering and Measuring
- •2.2.4 Scripting
- •2.3 Cervical Cancer and the Pap Smear
- •2.4 An Interactive, Partial History of Automated Cervical Cytology
- •2.5 The Future of Automated Cytology
- •2.6 Conclusions
- •References
- •3.1 The Need for Seed-Driven Segmentation
- •3.1.1 Image Analysis and Computer Vision
- •3.1.2 Objects Are Semantically Consistent
- •3.1.3 A Separation of Powers
- •3.1.4 Desirable Properties of Seeded Segmentation Methods
- •3.2 A Review of Segmentation Techniques
- •3.2.1 Pixel Selection
- •3.2.2 Contour Tracking
- •3.2.3 Statistical Methods
- •3.2.4 Continuous Optimization Methods
- •3.2.4.1 Active Contours
- •3.2.4.2 Level Sets
- •3.2.4.3 Geodesic Active Contours
- •3.2.5 Graph-Based Methods
- •3.2.5.1 Graph Cuts
- •3.2.5.2 Random Walkers
- •3.2.5.3 Watershed
- •3.2.6 Generic Models for Segmentation
- •3.2.6.1 Continuous Models
- •3.2.6.2 Hierarchical Models
- •3.2.6.3 Combinations
- •3.3 A Unifying Framework for Discrete Seeded Segmentation
- •3.3.1 Discrete Optimization
- •3.3.2 A Unifying Framework
- •3.3.3 Power Watershed
- •3.4 Globally Optimum Continuous Segmentation Methods
- •3.4.1 Dealing with Noise and Artifacts
- •3.4.2 Globally Optimal Geodesic Active Contour
- •3.4.3 Maximal Continuous Flows and Total Variation
- •3.5 Comparison and Discussion
- •3.6 Conclusion and Future Work
- •References
- •4.1 Introduction
- •4.2 Deformable Models
- •4.2.1 Point-Based Snake
- •4.2.1.1 User Constraint Energy
- •4.2.1.2 Snake Optimization Method
- •4.2.2 Parametric Deformable Models
- •4.2.3 Geometric Deformable Models (Active Contours)
- •4.2.3.1 Curve Evolution
- •4.2.3.2 Level Set Concept
- •4.2.3.3 Geodesic Active Contour
- •4.2.3.4 Chan–Vese Deformable Model
- •4.3 Comparison of Deformable Models
- •4.4 Applications
- •4.4.1 Bone Surface Extraction from Ultrasound
- •4.4.2 Spinal Cord Segmentation
- •4.4.2.1 Spinal Cord Measurements
- •4.4.2.2 Segmentation Using Geodesic Active Contour
- •4.5 Conclusion
- •References
- •5.1 Introduction
- •5.2 Imaging Body Fat
- •5.3 Image Artifacts and Their Impact on Segmentation
- •5.3.1 Partial Volume Effect
- •5.3.2 Intensity Inhomogeneities
- •5.4 Overview of Segmentation Techniques Used to Isolate Fat
- •5.4.1 Thresholding
- •5.4.2 Selecting the Optimum Threshold
- •5.4.3 Gaussian Mixture Model
- •5.4.4 Region Growing
- •5.4.5 Adaptive Thresholding
- •5.4.6 Segmentation Using Overlapping Mosaics
- •5.6 Conclusions
- •References
- •6.1 Introduction
- •6.2 Clinical Context
- •6.3 Vessel Segmentation
- •6.3.1 Survey of Vessel Segmentation Methods
- •6.3.1.1 General Overview
- •6.3.1.2 Region-Growing Methods
- •6.3.1.3 Differential Analysis
- •6.3.1.4 Model-Based Filtering
- •6.3.1.5 Deformable Models
- •6.3.1.6 Statistical Approaches
- •6.3.1.7 Path Finding
- •6.3.1.8 Tracking Methods
- •6.3.1.9 Mathematical Morphology Methods
- •6.3.1.10 Hybrid Methods
- •6.4 Vessel Modeling
- •6.4.1 Motivation
- •6.4.1.1 Context
- •6.4.1.2 Usefulness
- •6.4.2 Deterministic Atlases
- •6.4.2.1 Pioneering Works
- •6.4.2.2 Graph-Based and Geometric Atlases
- •6.4.3 Statistical Atlases
- •6.4.3.1 Anatomical Variability Handling
- •6.4.3.2 Recent Works
- •References
- •7.1 Introduction
- •7.2 Linear Structure Detection Methods
- •7.3.1 CCM for Imaging Diabetic Peripheral Neuropathy
- •7.3.2 CCM Image Characteristics and Noise Artifacts
- •7.4.1 Foreground and Background Adaptive Models
- •7.4.2 Local Orientation and Parameter Estimation
- •7.4.3 Separation of Nerve Fiber and Background Responses
- •7.4.4 Postprocessing the Enhanced-Contrast Image
- •7.5 Quantitative Analysis and Evaluation of Linear Structure Detection Methods
- •7.5.1 Methodology of Evaluation
- •7.5.2 Database and Experiment Setup
- •7.5.3 Nerve Fiber Detection Comparison Results
- •7.5.4 Evaluation of Clinical Utility
- •7.6 Conclusion
- •References
- •8.1 Introduction
- •8.2 Methods
- •8.2.1 Linear Feature Detection by MDNMS
- •8.2.2 Check Intensities Within 1D Window
- •8.2.3 Finding Features Next to Each Other
- •8.2.4 Gap Linking for Linear Features
- •8.2.5 Quantifying Branching Structures
- •8.3 Linear Feature Detection on GPUs
- •8.3.1 Overview of GPUs and Execution Models
- •8.3.2 Linear Feature Detection Performance Analysis
- •8.3.3 Parallel MDNMS on GPUs
- •8.3.5 Results for GPU Linear Feature Detection
- •8.4.1 Architecture and Implementation
- •8.4.2 HCA-Vision Features
- •8.4.3 Linear Feature Detection and Analysis Results
- •8.5 Selected Applications
- •8.5.1 Neurite Tracing for Drug Discovery and Functional Genomics
- •8.5.2 Using Linear Features to Quantify Astrocyte Morphology
- •8.5.3 Separating Adjacent Bacteria Under Phase Contrast Microscopy
- •8.6 Perspectives and Conclusions
- •References
- •9.1 Introduction
- •9.2 Bone Imaging Modalities
- •9.2.1 X-Ray Projection Imaging
- •9.2.2 Computed Tomography
- •9.2.3 Magnetic Resonance Imaging
- •9.2.4 Ultrasound Imaging
- •9.3 Quantifying the Microarchitecture of Trabecular Bone
- •9.3.1 Bone Morphometric Quantities
- •9.3.2 Texture Analysis
- •9.3.3 Frequency-Domain Methods
- •9.3.4 Use of Fractal Dimension Estimators for Texture Analysis
- •9.3.4.1 Frequency-Domain Estimation of the Fractal Dimension
- •9.3.4.2 Lacunarity
- •9.3.4.3 Lacunarity Parameters
- •9.3.5 Computer Modeling of Biomechanical Properties
- •9.4 Trends in Imaging of Bone
- •References
- •10.1 Introduction
- •10.1.1 Adolescent Idiopathic Scoliosis
- •10.2 Imaging Modalities Used for Spinal Deformity Assessment
- •10.2.1 Current Clinical Practice: The Cobb Angle
- •10.2.2 An Alternative: The Ferguson Angle
- •10.3 Image Processing Methods
- •10.3.1 Previous Studies
- •10.3.2 Discrete and Continuum Functions for Spinal Curvature
- •10.3.3 Tortuosity
- •10.4 Assessment of Image Processing Methods
- •10.4.1 Patient Dataset and Image Processing
- •10.4.2 Results and Discussion
- •10.5 Summary
- •References
- •11.1 Introduction
- •11.2 Retinal Imaging
- •11.2.1 Features of a Retinal Image
- •11.2.2 The Reason for Automated Retinal Analysis
- •11.2.3 Acquisition of Retinal Images
- •11.3 Preprocessing of Retinal Images
- •11.4 Lesion Based Detection
- •11.4.1 Matched Filtering for Blood Vessel Segmentation
- •11.4.2 Morphological Operators in Retinal Imaging
- •11.5 Global Analysis of Retinal Vessel Patterns
- •11.6 Conclusion
- •References
- •12.1 Introduction
- •12.1.1 The Progression of Diabetic Retinopathy
- •12.2 Automated Detection of Diabetic Retinopathy
- •12.2.1 Automated Detection of Microaneurysms
- •12.3 Image Databases
- •12.4 Tortuosity
- •12.4.1 Tortuosity Metrics
- •12.5 Tracing Retinal Vessels
- •12.5.1 NeuronJ
- •12.5.2 Other Software Packages
- •12.6 Experimental Results and Discussion
- •12.7 Summary and Future Work
- •References
- •13.1 Introduction
- •13.2 Volumetric Image Visualization Methods
- •13.2.1 Multiplanar Reformation (2D slicing)
- •13.2.2 Surface-Based Rendering
- •13.2.3 Volumetric Rendering
- •13.3 Volume Rendering Principles
- •13.3.1 Optical Models
- •13.3.2 Color and Opacity Mapping
- •13.3.2.2 Transfer Function
- •13.3.3 Composition
- •13.3.4 Volume Illumination and Illustration
- •13.4 Software-Based Raycasting
- •13.4.1 Applications and Improvements
- •13.5 Splatting Algorithms
- •13.5.1 Performance Analysis
- •13.5.2 Applications and Improvements
- •13.6 Shell Rendering
- •13.6.1 Application and Improvements
- •13.7 Texture Mapping
- •13.7.1 Performance Analysis
- •13.7.2 Applications
- •13.7.3 Improvements
- •13.7.3.1 Shading Inclusion
- •13.7.3.2 Empty Space Skipping
- •13.8 Discussion and Outlook
- •References
- •14.1 Introduction
- •14.1.1 Magnetic Resonance Imaging
- •14.1.2 Compressed Sensing
- •14.1.3 The Role of Prior Knowledge
- •14.2 Sparsity in MRI Images
- •14.2.1 Characteristics of MR Images (Prior Knowledge)
- •14.2.2 Choice of Transform
- •14.2.3 Use of Data Ordering
- •14.3 Theory of Compressed Sensing
- •14.3.1 Data Acquisition
- •14.3.2 Signal Recovery
- •14.4 Progress in Sparse Sampling for MRI
- •14.4.1 Review of Results from the Literature
- •14.4.2 Results from Our Work
- •14.4.2.1 PECS
- •14.4.2.2 SENSECS
- •14.4.2.3 PECS Applied to CE-MRA
- •14.5 Prospects for Future Developments
- •References
- •15.1 Introduction
- •15.2 Acquisition of DT Images
- •15.2.1 Fundamentals of DTI
- •15.2.2 The Pulsed Field Gradient Spin Echo (PFGSE) Method
- •15.2.3 Diffusion Imaging Sequences
- •15.2.4 Example: Anisotropic Diffusion of Water in the Eye Lens
- •15.2.5 Data Acquisition
- •15.3 Digital Processing of DT Images
- •15.3.2 Diagonalization of the DT
- •15.3.3 Gradient Calibration Factors
- •15.3.4 Sorting Bias
- •15.3.5 Fractional Anisotropy
- •15.3.6 Other Anisotropy Metrics
- •15.4 Applications of DTI to Articular Cartilage
- •15.4.1 Bovine AC
- •15.4.2 Human AC
- •References
- •Index
182 |
L. Domanski et al. |
Table 8.1 Speedup of linear feature detection algorithm after GPU acceleration. Results indicate how many times faster the NMS and gap filling ran on the GPU in isolation, as well as how many times faster the process ran overall
|
Speedup on GPU (times ×) |
|
|
||
|
|
|
|
|
|
Img |
NMS |
Gap filling |
Overall |
|
|
1 |
13.3 |
4.8 |
3.0 |
|
|
2 |
13.7 |
8.3 |
3.3 |
|
|
3 |
13.6 |
8.6 |
3.3 |
|
|
4 |
9.0 |
8.6 |
3.3 |
|
|
5 |
7.9 |
3.5 |
2.7 |
|
|
6 |
8.0 |
6.9 |
3.0 |
|
8.3.5 Results for GPU Linear Feature Detection
We have also sped up the gap closing steps on the GPU, which involved parallelizing polar image generation and shortest path calculations. Various lower level code and memory optimisations were applied throughout. For example, loop unrolling has been applied to the NMS kernels [11], while texture fetches, a special kind of cached [12, 13]. GPU RAM access operation used in computer graphics, have been used to accelerate polar image generation. Discussion of these topics is beyond the scope of an introductory text. The reader may want to check [14] if his/her curiosity has been aroused.
Tests were performed on a Geforce GTX 260 GPU (NVIDA Corp., Santa Clara, CA, USA). The host computer consisted of a Xeon E5520 2.3GHz CPU (Intel Corp., Santa Clara, CA, USA) with 3GB of RAM running 32-bit Windows XP (Microsoft Corp., Redmond, WA, USA). Table 8.1 shows the performance of the linear feature detection algorithm after GPU accelerations for the images displayed in Fig. 8.7. The speedup for NMS is quite high, and is more significant for larger images (Fig. 8.7, img 1–3). The speedup for gap filling is also significant in the case of complex images (img 2–4, 6), but reduces for less complex images. These types of performance inconsistencies are common in parallel programs, where higher workloads help offset the costs of setup and communication that tend to take a constant amount of time or do not parallelize well.
Note that the overall speedup of the algorithm is much lower than the speedup of the accelerated steps in isolation due to the portion of the process consumed by the steps that were not accelerated. Since these steps consumed around 21–24% of the original CPU algorithm’s execution time for the test images, the maximum overall speedup we could hope for by accelerating NMS and gap filling is less than 4.7 times. The described GPU algorithms have achieved up to 70% of this theoretical speedup. Greater overall speedup will come from accelerating other parts of the algorithm.
8 High-Throughput Detection of Linear Features: Selected Applications... |
183 |
8.4HCA-Vision, A Software Platform for Linear Feature Detection and Analysis
The algorithms detailed in Sects. 8.2 and 8.3 have been integrated in standalone software that rapidly and reproducibly quantifies linear features and their organization. It can be used both for linear feature detection and for more dedicated morphological analyses, such as neurite analysis. HCA-Vision was originally aimed for cell phenotyping and thus also provides functions for cell and nucleus detection and counting, cell scoring and sub-cellular analysis. It supports batch processing with a built-in database to store results, a batch result viewer and an ad hoc query builder for users to retrieve events of interest (e.g., identify all cells with neurite field above 50 μm2 and projecting in excess of 5 root neurites). Results from HCAVision have been shown to be more objective, reliable and reproducible than those from manual or semi-automated approaches [15].
8.4.1 Architecture and Implementation
HCA-Vision has been designed with three layers: the image processing layer written in C, a C++ wrapper layer, and the data and image presentation layer, written in C#. It also includes an optional web service for users to remotely view their batch processing results.
The GUI provides an assistant to guide the user in the process of choosing optimal parameters for the automated segmentation of cells and sub-cellular structures. It delivers quantitative measures and statistics that are biologically relevant, together with result images.
8.4.2 HCA-Vision Features
HCA-Vision enables a range of various activities including the detection of neurons, neurites, astrocytes, and other glial cells, even in the presence of varying background brightness, variable neurite staining, high cell densities, and high levels of neurite interconnections. It delivers quantitative measures and statistics that are biologically relevant, including measurements of neurite features at various levels of branching, neuron “webbiness,” and astrocyte “starriness” and roundness (see Table 8.3 for definitions).
To accommodate a wide range of applications, a step-by-step wizard guides the user through a process that fine-tunes individual parameter required for obtaining best results. At each step of the process, the user is given a semantic description of each parameter and controls their effect through user-friendly interfaces. As the processing has been optimized for speed, intermediate results are immediately presented on screen as each parameter is adjusted (Fig. 8.8).
184 |
L. Domanski et al. |
Fig. 8.8 Results produced by HCA-Vision. (a) Original image. (b) Detected neurite segments. (c) Assignment of neurites to neuron bodies. (d) Labelled neurite branching structure
Once parameters are tuned, they can be saved into a profile. The user can load the saved profile to process individual images or batch process all images generated in an experiment. Summaries of batch processing results can be produced using the query facilities provided.
8.4.3 Linear Feature Detection and Analysis Results
HCA-vision detects linear features and reports their properties such as length, width, area and complexity. For example, with the neurite analysis module, neurites can be detected and their branching behaviour can be analysed, including the primary neurites in contact with the cell body and the number of layers of branching from these primary neurites into secondary, tertiary and quaternary branches (see Fig. 8.9).
Users can query and view the batch processing results using the batch result viewer (Fig. 8.10), including both the result images and measured features.
When HCA-Vision is used with microplates, the batch processing also generates a plate summary with normalized features for each well. The features extracted from the images captured from the same well are averaged to produce the well-based normalized statistics. A sample plate summary is shown in Table 8.2.