Visualization on BioHPC [web] [email] portal.biohpc.swmed.edu biohpc-help@utsouthwestern.edu 1 Updated for 2015-09-16
Outline What is Visualization - Scientific Visualization - Work flow for Visualization and Analysis of 3D Microscopic Images Visualization on High Performance Computer - Storage and management of image BioHPC OMERO (Open Microscopy Environment Remote Objects) - 3D volume rendering Concepts and examples of different type of volume rendering GPU rendering ImageJ 3D viewer plugin, Amira, Imaris, Paraview Remote and parallel visualization - Image processing with HPC examples 2
What is Visualization Visualization a high bandwidth connection between data on a computer and a human brain. Visualization and Analysis of 3D Microscopic Images larger datasets demand not just visualization, but advanced visualization resources and techniques. 3
Scientific Visualization : from single image/view to multiple datasets Finding collagen fibers Fiber Alignment raw image produced by light-sheet microscopes * Example provided by Meghan Driscoll 4
Scientific Visualization : from multiple datasets to a single image/view Red blood cell diseased cell unstructured mesh healthy cell particles xy-plane slice (based on velocity) streamline (velocity) https://www.alcf.anl.gov/user-guides/vis-paraview-red-blood-cell-tutorial 5
Shneiderman's Mantra Mantra overview zoom and filter details-on-demand Ben Shneiderman The Trill of Discovery: Information visualization for high-dimensional spaces Invited talk@ center for HCI Design, City University London September, 2007 Get Data/Images Data Storage Pre-processing Visualization Segmentation/Analysis 6
From image to understanding workflow of bleb detection and tracking 3D rendering Extract Surface Segmentation Locating Protrusions ~ 18.2 KB / slice 160 slice ~ 13.8 MB preprocessing MESPIM 2-photon Bessel Beam Light Sheet Microscope Images were taken by Reto Fiolka, Kevin Dean, and Erik Welf Bleb detection and tracking were processed by Meghan Driscoll 7
From image to understanding workflow of whole brain image analysis filtering stitching resampling 3D rendering XY plane Factor = 4 7 by 14 mosaic ~ 1.2 MB / tile ~ 120 MB / section 150 sections Segmentation 3D stack 16GB -> 1GB analysis find out cells and fibers TissueVision TissueCyte 1000 * Images and workflow were provided by Denise Ramirez 8
Visualization on High Performance Computer Storage and management of image Volume rendering of 3D image Image processing with HPC more tools : G MIK 9
Storage and management of image BioHPC provides spacious storage space (~3.7 PB) and various methods to access the storage system 50 GB BioHPC File Exchange 2 way access BioHPC Cluster 1 way access Compute nodes UTSW private cloud Lamella Cloud Storage/Gateway Problem --How to find a single 20 MB image among terabytes data? 10
BioHPC OMERO (Open Microscopy Environment Remote Objects) a modern client-server software platform for visualizing, managing, and annotating scientific image data. BioHPC OMERO Sever: http://imagebank.biohpc.swmed.edu Client Download and install the OMERO desktop client from login page Use OMERO client module on BioHPC cluster module add omero/5.1.0 OMEROinsight_unix.sh 11
Benefits of using BioHPC OMERO Keep your images well organized. Allow you import and archive your images, annotate and tag them. Allows you to collaborate with colleagues by creating user groups with different permission levels. Consists of a web application and cross-platform clients, as well as ImageJ plugin, MATLAB bindings and etc. Use OMERO as a backup of important/expensive images. 12
13 Use OMERO with ImageJ
Use OMERO with Matlab : open image & add comments % create a connection to OMERO [session, client] = connecttobiohpcomero; % read image by imageid imageid = 3117; targetimage = getimages(session,imageid); binarydata = getplane(session,targetimage, 0, 0, 0); % z=1, time=1, channel=1 % plot figure; imshow(binarydata); % write comments comments = 'comment by MATLAB'; newcommentannotation = writecommentannotation(session,comments); link1 = linkannotation(session, newcommentannotation, 'image', imageid); % close connection to OMERO unloadomero(); 14
Volume rendering of 3D image Converting 3D datasets to 2D images with 3D effects voxel pixel Direct volume rendering (DVR) volume ray casting, texture-based volume rendering, splatting Projection view Maximum intensity projection (MIP) Threshold based rendering Isosurface DVR with shading effect (VOLREN) Texture-based volume rendering (VOLTEX) Maximum intensity projection (PROJECTIONVIEW) Iso surface rendering (ISOSURFACE) http://scripts.crida.net/gh/wp-content/uploads/2012/08/arc2002_amira_investigation.pdf 15
Volume rendering of 3D image Example : volume ray casting: (1) Ray Casting (2) Sampling (3) Shading (4) Compositing https://en.wikipedia.org/wiki/volume_ray_casting 16
How much faster is GPU rendering as compared to CPU rendering? Benchmarking (with the same image quality) Could be significant faster if rendering with high-end GPU : the GPU was 6.2 times faster than the CPU in this case. BioHPC GPU resources Nucleus044-049 Nucleus042-043 BioHPC Workstation GPU card Tesla K40 Tesla K20 Quadro K600 GPU Memory 12 GB 5 GB 1 GB GPU Memory Bandwidth 288 GB/s 208 GB/s 29.0 GB/s CUDA cores 2880 2496 192 http://blog.boxxtech.com/2014/10/02/gpu-rendering-vs-cpu-rendering-a-method-to-compare-render-times-with-empirical-benchmarks/ 17
BioHPC webgpu : launch a graphic environment on the Nucleus cluster Web based visualization access: https://portal.biohpc.swmed.edu/terminal/webgui/ WebGUI reserve a CPU node WebGPU reserve a GPU node, good for ImageJ, Amira, stand-alone paraview or compile your CUDA code step 1: add visualization software as a module step 2: vglrun <software name> WebWinDCV reserve a GPU node, windows OS, good for Imaris PVGPU reserve a GPU node, client-server mode for Paraview 18
BioHPC WebGPU : ImageJ 3D Viewer 3D visualization Segmentation Expandable with macros and plugins Open-source Maximum intensity projection Limitations: Can only rendering 8-bit or RGB image stack Have to specify resampling factor, opacity and etc. to get optimized view. Can not rescale after resampling 19
BioPHC WebGPU : Amira 3D visualization Analysis and modeling system Programmable (MATLAB) Comprehensively equipped based package Can be customized by adding functional extensions Limitations: Automatically resampling for large 3D tiff stack may not give expected result when the image scale along the x, y, z direction is different. Requires license and we are trying to get fully support now. 20
BioHPC windcv : Imaris 3D visualization Analysis Different possibilities for object segmentation Easy to use software for quick results Limitations: Only has Windows version. Can not use it on BioHPC workstation, at present, the only way to access Imaris is via webwindcv. Requires license 21
BioHPC webgpu/pvgpu : Paraview 3D visualization Analysis & Pipeline module Scalability Programmable (Python) Access to a collection of tools and librries Web visualization (ParaViewWeb) Open source & multi-platform Limitations: More complicated compares to other visualization software 22
Big Data Visualization How to interactively manage visually overwhelming amounts of data Option A: Resampling on original dataset Original Data Subsample Rate: 2 pixels Subsample Rate: 4 pixels Subsample Rate: 8 pixels Option B: Parallel visualization e.g, paraview for Interactive Remote Parallel Visualization - Allocate multiple nodes for visualization, each node/process will process one part of the image 23
Client-Server mode of Paraview (remote visulization) Data Server Render Server Client Minimize Communication Render Remotely Send Images The ParaView Guide, p. 191 24
Paraview with multiple processes (parallel visualization) Launch a PVGPU job from Web Visualization with a single GPU node https://portal.biohpc.swmed.edu/terminal/webgui/ You will have both Paraview server (pvserver, running 15 MPI processes) and client running on the same GPU node 25
Image processing with BioHPC more than just rendering Even the images/data itself is tiny, to process the image may need more computational resource 3D image --> IsoVolume --> Extract Surface Grid Type No. Cells No. Points Memory 3D image Structured 7,001,280 7,362,900 14 MB IsoVolume Unstructured 3,167,094 1,736,075 200 MB Extract Surface Polygonal Mesh 1,576,122 1,074,887 65 MB 26
Actual steps for bleb detection and tracking Running time on one BioHPC node is ~ 15 mins 27
Image processing in a Parallel way : Vessel Extraction microscopy image (size:2126*5517) find the central line of vessel (fast matching method) local normalization remove pepper & salt threshold ~ 6.5 hours ~ 21.3 seconds separate vessel groups based on connectivity binary image ~ 6.6 seconds 243 subsets of binary image * Images were provided by Woo-Ping Ge and Bo Ci 28
Matlab Distributed Computing Server Vessel Extraction (step 3) parfor i = 1 : length(numsubimages) % load binary image I = im2double(bwall(:,:i)); % find vessel by using fast matching method alls{i} = skeleton(i); end t = 784 s time needed for processing each sub image various t = 784 s Job running on 4 nodes requires minimum computational time Speedup = 28.3x 29
Last but not least Summary The primary goal of visualization is insight Visualization system technology improves with advances in GPUs and HPC solutions Challenges at every stage of visualization when operating on large data We will continously working on delivery better visualization and analytic tools Acknowledgement Meghan Driscoll, Denise Ramirez, Reto Fiolka, Kevin Dean, Erik Welf, Woo-Ping Ge, Bo Ci, Gaudenz Danuser, Philippe Roudot, Liqiang Wang, David Trudgian For questions and comments Please email the ticket system: biohpc-help@utsouthwestern.edu 30