## Fast blood flow visualization of high-resolution laser speckle imaging data using graphics processing unit

Optics Express, Vol. 16, Issue 19, pp. 14321-14329 (2008)

http://dx.doi.org/10.1364/OE.16.014321

Acrobat PDF (2436 KB)

### Abstract

Laser speckle contrast analysis (LASCA) is a non-invasive, full-field optical technique that produces two-dimensional map of blood flow in biological tissue by analyzing speckle images captured by CCD camera. Due to the heavy computation required for speckle contrast analysis, video frame rate visualization of blood flow which is essentially important for medical usage is hardly achieved for the high-resolution image data by using the CPU (Central Processing Unit) of an ordinary PC (Personal Computer). In this paper, we introduced GPU (Graphics Processing Unit) into our data processing framework of laser speckle contrast imaging to achieve fast and high-resolution blood flow visualization on PCs by exploiting the high floating-point processing power of commodity graphics hardware. By using GPU, a 12-60 fold performance enhancement is obtained in comparison to the optimized CPU implementations.

© 2008 Optical Society of America

## 1. Introduction

1. J. Owens, “A Survey of General-Purpose Computation on Graphics Hardware,” Comput. Graph. Forum **26**, 80–113 (2007). [CrossRef]

2. A. Lefohn, J. Kniss, C. Hansen, and R. Whitaker, “A Streaming Narrow-Band Algorithm: Interactive Deformation and Visualization of Level Sets,” IEEE T. Vis. Comput. Gr. **10**, 422–433 (2004). [CrossRef]

3. J. Krüger and R. Westermann, “Linear algebra operators for GPU implementation of numerical algorithms,” ACM T. Graphic **22**, 908–916 (2003). [CrossRef]

4. J. Bolz, I. Farmer, E. Grinspun, and P. Schrooder, “Sparse matrix solvers on the GPU: conjugate gradients and multi-grid,” ACM. T. Graphic **22**, 917–924 (2003). [CrossRef]

5. S. F. Portegies Zwart, R. G. Belleman, and P. Geldof, “High-performance direct gravitational N-body simulations on graphics processing units,” New Astron. **12**, 641–650 (2007). [CrossRef]

6. J. Stone, J. Phillips, P. Freddolino, D. Hardy, L. Trabuco, and K. Schulten, “Accelerating molecular modeling applications with graphics processors,” J Comput. Chem. **28**, 2618–2640 (2007). [CrossRef] [PubMed]

7. J. S. Kole and K. J. Beekman, “Evaluation of accelerated iterative X-ray CT image reconstruction using floating point graphics hardware,” Phys. Med. Biol. **51**, 875–889(2006). [CrossRef] [PubMed]

8. S. Zhang, D. Royer, and S. Yau, “GPU-assisted high-resolution, real-time 3-D shape measurement,” Opt. Express **14**, 9120–9129 (2006). [CrossRef] [PubMed]

## 2. Methods

### 2.1 GPU Stream Programming model

### 2.2 GPU Programming interface

10. I. Buck, T. Foley, D. Horn, J. Sugerman, K. Fatahalian, M. Houston, and P. Hanrahan, “Brook for GPUs: Stream computing on graphics hardware,” ACM. T. Graphic. **23**, 777–786 (2004). [CrossRef]

### 2.3 GPU implementation

12. J. Briers and S. Webster, “Laser speckle contrast analysis (LASCA): a non-scanning, full-field technique for monitoring capillary blood flow,” J. Biomed. Opt. **1**,174–179 (1996). [CrossRef]

13. A. Dunn, H. Bolay, M. Moskowitz, and D. Boas, “Dynamic Imaging of Cerebral Blood Flow Using Laser Speckle,” J. Cereb. Blood Flow Metab. **21**, 195–201 (2001). [CrossRef] [PubMed]

*Ī*is the mean intensity value in the calculating window and σ

_{s}represents standard deviation. In practice, a spatial sliding window of 5×5 or 7×7 pixels through the whole image is often adopted (a 5×5 sliding window is shown in Fig. 2. Also, the current pixel is in the center of the sliding window, shaded in orange in Fig. 2).

*T*/

*τ*

_{c}which is proportional to the mean velocity of the blood flow could be obtained by solving Eq. (2) [14] using Newton iteration numerical method. For faster processing, a simplified approximation (

*T*/

*τ*

_{c}=

*C*

^{2}) is also feasible, as investigated by Cheng et al. [15

15. H. Cheng and T. Duong, “Simplified laser-speckle-imaging analysis method and its application to retinal blood flow imaging”, Opt. Lett. **32**, 2188–2190 (2007). [CrossRef] [PubMed]

16. J. Ramirez-San-Juan, R. Ramos-Garcia, I. Guizar-Iturbide, G. Martinez-Niconoff, and B. Choi, “Impact of velocity distribution assumption on simplified laser speckle imaging equation,” Opt. Express **16**, 3197–3203 (2008). [CrossRef] [PubMed]

## 3. Result

^{2}approximation instead of solving Eq. (2) the Speed-up factor increases as the image resolution grows. This trend makes GPU even more eligible for processing high-resolution laser speckle images. Another interesting result could be observed is that the Newton iteration method implementation (the third category in Table.1, labeled by T/

*τ*

_{c}) runs much faster on GPU than its CPU counterpart. This is mainly due to the GPU’s fast exponential instruction that will only cost a few clock cycles (32 on current GPUs) to execute. On the contrary, executing same instruction on CPU may take hundreds of cycles.

^{-7}, which strongly suggests that the computation bias is small enough to be considered as zero. The relative difference is defined by the following equation: Image

_{difference}=abs(Image

_{GPU}- Image

_{CPU})/ImageCPU (where abs(X) denotes the absolute value of X and Image

_{<type>}denotes the content of the images).

_{12-bit}/Max (Data

_{12-bit})] * 255}. Figure 5 shows the comparison between the blood flow images obtained by using an 8-bit and a 12-bit input data. As can be seen from Fig. 5(a) and Fig. 5(b) there is not significant noticeable difference between the two images observed by eyes. However, the relative difference image (Image

_{difference}=abs (Image

_{12bit}- Image

_{8bit})/Image

_{12bit}, Fig. 5(c)) shows a difference about 3%, which is bigger than the bias between GPU (single precision) and CPU (double precision) implementations. This difference is possible due to the bigger digitization noise existing in the 8-bit data. Another fact should be noticed is that the bit depth of the raw data basically has no impact on the data processing time, for neither GPU nor CPU implementations. Before applying any computation on the raw 8-bit or 12-bit integer data, we first convert the integer data into 32-bit single precision floating-point number (or 64-bit double precision on CPU). All the following operations are 32-bit (or 64-bit) floating-point arithmetic. So, the data processing speeds are the same whether the origin data is 8-bit or 12-bit integer, although the data transferring time from CCD senor to computer may be different.

^{2}method and by using the T/

*τ*

_{c}method for the same raw data. We put the two images together in Figs. 6(a) and 6(b) for comparison and calculated the relative difference image of them (Fig. 6(c), the relative difference is defined as: Image

_{difference}=abs (Image

_{T/τc}- Image

_{1/C2})/Image

_{T/τc}). As sown in Fig. 6, even though the difference is hard to be resolved by human naked eyes, a difference around 1% does exist for our experimental data. The results suggest that the 1/C

^{2}method could be adopted for those applications that do not need high precision quantitative measurements to get a fastest data processing speed.

## 4. Conclusion

## Acknowledgments

## References and links

1. | J. Owens, “A Survey of General-Purpose Computation on Graphics Hardware,” Comput. Graph. Forum |

2. | A. Lefohn, J. Kniss, C. Hansen, and R. Whitaker, “A Streaming Narrow-Band Algorithm: Interactive Deformation and Visualization of Level Sets,” IEEE T. Vis. Comput. Gr. |

3. | J. Krüger and R. Westermann, “Linear algebra operators for GPU implementation of numerical algorithms,” ACM T. Graphic |

4. | J. Bolz, I. Farmer, E. Grinspun, and P. Schrooder, “Sparse matrix solvers on the GPU: conjugate gradients and multi-grid,” ACM. T. Graphic |

5. | S. F. Portegies Zwart, R. G. Belleman, and P. Geldof, “High-performance direct gravitational N-body simulations on graphics processing units,” New Astron. |

6. | J. Stone, J. Phillips, P. Freddolino, D. Hardy, L. Trabuco, and K. Schulten, “Accelerating molecular modeling applications with graphics processors,” J Comput. Chem. |

7. | J. S. Kole and K. J. Beekman, “Evaluation of accelerated iterative X-ray CT image reconstruction using floating point graphics hardware,” Phys. Med. Biol. |

8. | S. Zhang, D. Royer, and S. Yau, “GPU-assisted high-resolution, real-time 3-D shape measurement,” Opt. Express |

9. | M. Pharr, ed., |

10. | I. Buck, T. Foley, D. Horn, J. Sugerman, K. Fatahalian, M. Houston, and P. Hanrahan, “Brook for GPUs: Stream computing on graphics hardware,” ACM. T. Graphic. |

11. | NVIDIA CUDA Compute Unified Device Architecture programming guide version 1.1, (NVIDIA corp. 2007). |

12. | J. Briers and S. Webster, “Laser speckle contrast analysis (LASCA): a non-scanning, full-field technique for monitoring capillary blood flow,” J. Biomed. Opt. |

13. | A. Dunn, H. Bolay, M. Moskowitz, and D. Boas, “Dynamic Imaging of Cerebral Blood Flow Using Laser Speckle,” J. Cereb. Blood Flow Metab. |

14. | J. W. Goodman, |

15. | H. Cheng and T. Duong, “Simplified laser-speckle-imaging analysis method and its application to retinal blood flow imaging”, Opt. Lett. |

16. | J. Ramirez-San-Juan, R. Ramos-Garcia, I. Guizar-Iturbide, G. Martinez-Niconoff, and B. Choi, “Impact of velocity distribution assumption on simplified laser speckle imaging equation,” Opt. Express |

**OCIS Codes**

(100.2960) Image processing : Image analysis

(110.6150) Imaging systems : Speckle imaging

(170.3880) Medical optics and biotechnology : Medical and biological imaging

(170.6480) Medical optics and biotechnology : Spectroscopy, speckle

**ToC Category:**

Image Processing

**History**

Original Manuscript: May 6, 2008

Revised Manuscript: July 20, 2008

Manuscript Accepted: July 31, 2008

Published: August 29, 2008

**Virtual Issues**

Vol. 3, Iss. 11 *Virtual Journal for Biomedical Optics*

**Citation**

Shusen Liu, Pengcheng Li, and Qingming Luo, "Fast blood flow visualization of high-resolution laser speckle imaging data using graphics processing unit," Opt. Express **16**, 14321-14329 (2008)

http://www.opticsinfobase.org/oe/abstract.cfm?URI=oe-16-19-14321

Sort: Year | Journal | Reset

### References

- J. Owens, "A Survey of General-Purpose Computation on Graphics Hardware," Comput. Graph. Forum 26, 80-113 (2007). [CrossRef]
- A. Lefohn, J. Kniss, C. Hansen, and R. Whitaker, "A Streaming Narrow-Band Algorithm: Interactive Deformation and Visualization of Level Sets," IEEE T. Vis. Comput. Gr. 10, 422-433 (2004). [CrossRef]
- J. Krüger and R. Westermann, "Linear algebra operators for GPU implementation of numerical algorithms," ACM T.Graphic 22, 908-916 (2003). [CrossRef]
- J. Bolz, I. Farmer, E. Grinspun, and P. Schrooder, "Sparse matrix solvers on the GPU: conjugate gradients and multi-grid," ACM. T.Graphic 22, 917-924 (2003). [CrossRef]
- S. F. Portegies Zwart, R. G. Belleman, and P. Geldof, "High-performance direct gravitational N-body simulations on graphics processing units," New Astron. 12, 641-650 (2007). [CrossRef]
- J. Stone, J. Phillips, P. Freddolino, D. Hardy, L. Trabuco, and K. Schulten, "Accelerating molecular modeling applications with graphics processors," J Comput. Chem. 28, 2618-2640 (2007). [CrossRef] [PubMed]
- J. S. Kole and K. J. Beekman, "Evaluation of accelerated iterative X-ray CT image reconstruction using floating point graphics hardware," Phys. Med. Biol. 51, 875-889(2006). [CrossRef] [PubMed]
- S. Zhang, D. Royer, and S. Yau, "GPU-assisted high-resolution, real-time 3-D shape measurement," Opt. Express 14, 9120-9129 (2006). [CrossRef] [PubMed]
- M. Pharr, ed., PU Gems 2: Programming Techniques for High-Performance Graphics and General-Purpose Computation (Gpu Gems) (Addison-Wesley, New York, 2005). [PubMed]
- I. Buck, T. Foley, D. Horn, J. Sugerman, K. Fatahalian, M. Houston, and P. Hanrahan, "Brook for GPUs: Stream computing on graphics hardware," ACM. T.Graphic. 23, 777-786 (2004). [CrossRef]
- NVIDIA CUDA Compute Unified Device Architecture programming guide version 1.1, (NVIDIA corp. 2007).
- J. Briers and S. Webster, "Laser speckle contrast analysis (LASCA): a non-scanning, full-field technique for monitoring capillary blood flow," J. Biomed. Opt. 1,174-179 (1996). [CrossRef]
- A. Dunn, H. Bolay, M. Moskowitz, and D. Boas, "Dynamic Imaging of Cerebral Blood Flow Using Laser Speckle," J. Cereb. Blood Flow Metab. 21, 195-201 (2001). [CrossRef] [PubMed]
- J. W. Goodman, Statistical Optics (Wiley-Interscience, 1985).
- H. Cheng and T. Duong, "Simplified laser-speckle-imaging analysis method and its application to retinal blood flow imaging", Opt. Lett. 32, 2188-2190 (2007). [CrossRef] [PubMed]
- J. Ramirez-San-Juan, R. Ramos-Garcia, I. Guizar-Iturbide, G. Martinez-Niconoff, and B. Choi, "Impact of velocity distribution assumption on simplified laser speckle imaging equation," Opt. Express 16, 3197-3203 (2008). [CrossRef] [PubMed]

## Cited By |
Alert me when this paper is cited |

OSA is able to provide readers links to articles that cite this paper by participating in CrossRef's Cited-By Linking service. CrossRef includes content from more than 3000 publishers and societies. In addition to listing OSA journal articles that cite this paper, citing articles from other participating publishers will also be listed.

« Previous Article | Next Article »

OSA is a member of CrossRef.