NOTICE: Due to a lapse in annual appropriations, most of this website is not being updated. Learn more.
Form submissions will still be accepted but will not receive responses at this time. Sections of this site for programs using non-appropriated funds (such as NVLAP) or those that are excepted from the shutdown (such as CHIPS and NVD) will continue to be updated.
An official website of the United States government
Here’s how you know
Official websites use .gov
A .gov website belongs to an official government organization in the United States.
Secure .gov websites use HTTPS
A lock (
) or https:// means you’ve safely connected to the .gov website. Share sensitive information only on official, secure websites.
A Hybrid CPU-GPU System for Stitching Large Scale Optical Microscopy Images
Published
Author(s)
Timothy Blattner, Walid Keyrouz, Joe Chalfoun, Bertrand C. Stivalet, Mary C. Brady, Shujia Zhou
Abstract
Researchers in various fields are using optical microscopy to acquire very large images, 10K--200K of pixels per side. Optical microscopes acquire these images as grids of overlapping partial images (thousands of pixels per side) that are then stitched together via software. Composing such large images is a compute and data intensive task even for modern machines. Researchers compound this difficulty further by obtaining time-series, volumetric, or multiple channel images with the resulting data sets now having or approaching terabyte sizes. We present a scalable hybrid CPU-GPU implementation of image stitching that processes large image sets at near interactive rates. Our implementation scales well with both image sizes and the number of CPU and GPU cores in a machine. It processes a grid of 42 x 59 tiles into a 17K x 22K pixels image in 43 s (end-to-end execution times) when using one NVIDIA Tesla card and two Intel Xeon E-5620 quad-core CPUs, and in 29 s when using two Tesla C2070 cards and the same two CPUs. It also composes and renders the composite image without saving it in 15 s. In comparison, ImageJ/Fiji takes > 3.6 h for the same workload despite being multithreaded and executing the same mathematical operators; it composes and saves the large image in 1.5 h. This implementation takes advantage of coarse-grain parallelism. It organizes the computation into a pipeline architecture that spans CPU and GPU resources and overlaps computation with data motion. The implementation achieves a nearly $10\mathrmx}$ performance improvement over our optimized non-pipeline GPU implementation and demonstrates near-linear speedup when increasing CPU thread count and increasing number of GPUs.
Proceedings Title
Proceedings of the 2014 International Conference on Parallel Processing (ICPP-2014)
Blattner, T.
, Keyrouz, W.
, Chalfoun, J.
, Stivalet, B.
, Brady, M.
and Zhou, S.
(2014),
A Hybrid CPU-GPU System for Stitching Large Scale Optical Microscopy Images, Proceedings of the 2014 International Conference on Parallel Processing (ICPP-2014), Minneapolis, MN, US, [online], https://tsapps.nist.gov/publication/get_pdf.cfm?pub_id=915568
(Accessed October 8, 2025)