Presentation is loading. Please wait.

Presentation is loading. Please wait.

Image Stitching for Optical Microscopy Timothy Blattner, Bertrand Stivalet, Walid Keyrouz Shujia Zhou 2013-6-13IAB1.

Similar presentations


Presentation on theme: "Image Stitching for Optical Microscopy Timothy Blattner, Bertrand Stivalet, Walid Keyrouz Shujia Zhou 2013-6-13IAB1."— Presentation transcript:

1 Image Stitching for Optical Microscopy Timothy Blattner, Bertrand Stivalet, Walid Keyrouz Shujia Zhou 2013-6-13IAB1

2 Image Stitching for Optical Microscopy 2013-6-13IAB2 Objectives Stitching of optical microscopy images at interactive rates General purpose library, ImageJ/Fiji plug-in, etc. Success criterion Transformative impact Run sample problem in < 1 min > 10x speed improvement

3 Credits 2013-6-13IAB3 Joe Chalfoun, Mary Brady NIST

4 Image Stitching Problem 2013-6-13IAB4 Optical microscopes scan a plate and take overlapping partial images (tiles) Need to assemble image tiles into one large image Modern microscopy automated: Scientists are acquiring & processing large sets of images

5 Image Stitching Problem… 2013-6-13IAB5 Two phases: 1. Compute the X & Y translations for all tiles 2. Apply the translations & compose the stitched image Main focus is on phase I

6 Image Stitching Algorithm 2013-6-13IAB6 Loop over all images: Read an image tile Compute its FFT-2D Compute correlation coefficients with west and north neighbors Depends on FFT-2D for each tile Major compute portions: FFT-2D of tiles Compute and normalize phase correlation Inverse FFT-2D Reduce max normalize

7 Algorithms Parallel Characteristics 2013-6-13IAB7 Almost embarrassingly parallel Large number of independent computations For an n x m grid: FFT for all imagesnxm NCC for all image pairs2nxm - n - m FFT -1 for the NCCs of all image pairs 2nxm - n - m … Caveats Data FFT dependencies Limited memory

8 Data Set 2013-6-13IAB8 Grid of 59x42 images (2478) 1392x1040 16-bit grayscale images (2.8 MB per image) ~ 7 GB Source: Kiran Bhadriraju (NIST)

9 Evaluation Platform 2013-6-13IAB9 Hardware Dual Intel ® Xeon ® E-5620 CPUs (quad-core, 2.4 GHz, hyper-threading) 24 GB RAM Dual NVIDIA ® Tesla TM C2070 cards Reference Implementations Fiji Stitching plugin, >3.6 hours MATLAB® prototype, ~17.5 minutes on a similar machine Software Ubuntu Linux 12.04/x86_64, kernel 3.2.0 Libc6 2.1.5, libstd++6 4.6 BOOST 1.48, FFTW 3.3, libTIFF4 NVIDIA CUDA & CUFFT 5.0

10 Implementations & Results FFTW Exhaustive, CUDA 5.0 2013-6-13IAB10 TimeSpeedup CPU Threads GPUs C++ Sequential10 min 37 sec1 Simple Multi-Threaded1 min 48 sec5.8x8 Pipelined Multi-Threaded1 min 22 sec7.7x19 Simple GPU9 min 47 sec1.08x11 Pipelined-Hybrid25 sec25.5x132

11 Java Implementation 2013-6-13IAB11 Allows easy integration info Fiji Tool used by many biologists for image stitching Pure Java code is extremely slow FFT computations Cross correlation Use JNI with FFTW and C code Java native interface Allows calling functions off of the virtual machine Requires compilation (gcc)

12 Java Implementation Runtimes 42x59 Tiles 2013-6-13IAB12 TimeThreads Sequential> 4 hours1 Sequential with JNI~30 minutes1 Pipelined with JNI3 min 42 sec16

13 ClosureGeneral 2013-6-13IAB13 25x speedup compared to Sequential C++ code 518x speedup compared to Fiji stitching plugin Representative data set: 42x59 grid ~25 sec Can budget compute time to: Generate stitched image Carry out additional analysis Enables computationally steerable experiments

14 ClosureJava Implementation 2013-6-13IAB14 Single threaded-executes full grid in ~45 minutes using FFTW native interface Multi-threaded executes in ~4 minutes Optimized version uses native intrinsics for computing cross correlation Provides simple integration into Fiji application Need to provide JNI for GPU functions JCUDA

15 Thank You Questions? 2013-6-13IAB15


Download ppt "Image Stitching for Optical Microscopy Timothy Blattner, Bertrand Stivalet, Walid Keyrouz Shujia Zhou 2013-6-13IAB1."

Similar presentations


Ads by Google