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 IAB1

2 Image Stitching for Optical Microscopy IAB2 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 IAB3 Joe Chalfoun, Mary Brady NIST

4 Image Stitching Problem IAB4 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… IAB5 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 IAB6 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 IAB7 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 IAB8 Grid of 59x42 images (2478) 1392x bit grayscale images (2.8 MB per image) ~ 7 GB Source: Kiran Bhadriraju (NIST)

9 Evaluation Platform IAB9 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 Libc , libstd BOOST 1.48, FFTW 3.3, libTIFF4 NVIDIA CUDA & CUFFT 5.0

10 Implementations & Results FFTW Exhaustive, CUDA IAB10 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 IAB11 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 IAB12 TimeThreads Sequential> 4 hours1 Sequential with JNI~30 minutes1 Pipelined with JNI3 min 42 sec16

13 ClosureGeneral IAB13 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 IAB14 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? IAB15


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

Similar presentations


Ads by Google