Non-rigid Registration for Large Sets of Microscopic Images on Graphics Processors
Microscopic imaging is an important tool for characterizing tissue morphology and pathology. 3D reconstruction and visualization of large sample tissue structure requires registration of large sets of high-resolution images. However, the scale of this problem presents a challenge for automatic registration methods. In this paper we present a novel method for efficient automatic registration using graphics processing units (GPUs) and parallel programming. Comparing a C++ CPU implementation with Compute Unified Device Architecture (CUDA) libraries and pthreads running on GPU we achieve a speed-up factor of up to 4.11 with a single GPU and 6.68 with a GPU pair. We present execution times for a benchmark composed of two sets of large-scale images: mouse placenta (16K 16K pixels) and breast cancer tumors (23K 62K pixels). It takes more than 12hours for the genetic case in C++ to register a typical sample composed of 500 consecutive slides, which was reduced to less than 2hours using two GPUs, in addition to a very promising scalability for extending those gains easily on a large number of GPUs in a distributed system.
microscopic imaging graphics processors image registration and segmentation pattern analysis feature detection high-performance computing