Biomedical Informatics Research Network Pipelines & Processing: Tools & Toolkits David Rex, John Moreland October 9, nd Annual All Hands Meeting
Other Pipelines Interactive Data/Visualization Pipelines Data flow graph Node groups Nodes Image viewers Control panel
Other Pipelines - OpenDX (4) Colorize (2) Smooth (1) View (3) Filter
Other Pipelines - Visualization Utah SCIrunAVS Khoros KymaIRIS Explorer
Scalable Data/Visualization Toolkits Data flow/pipelining needs good user interface tools Server-side/batch pipelines (eg: LONI Pipeline) Client-side/interactive pipelines (eg: OpenDX, AVS, etc) Pipelines need command-line tools and/or plug-in modules Tools and modules will need reusable toolkits/APIs to support common functionality Reusable Components API Tools API Modules
Motivation CT Cryosection Classification Support analysis, filtering, and compositing Larger-than-core (and swap) data sets Multi-modal and time-varying data Multiple data sets simultaneously And... Do efficient data movement Execute well on parallel architectures Integrate easily w/existing applications & toolkits Support BIRN project applications
Application Data Grid Toolkit Data Management File Format Handling SRB, ADR, etc. Mesh Toolkit Expression Tree Toolkit Layered Toolkit Architecture Manage an N-space data grid Cache pages for lazy I/O Support specific file formats Manage file storage Bind a coord. system to data Orchestrate filter execution
Managing Data Grids Manage a paged data grid (array-like) An N-dimensional grid of cells Spatial data & time-series Arbitrary cell data content Handle larger-than-core data Transparently pages data in/out Support from ADR & DataCutter Compressed data (disk & memory) Application Data Grid Toolkit Data Management File Format Handling SRB, ADR, etc. Mesh Toolkit Expression Tree Toolkit Data Grid Toolkit
Random access (slow) Get/set cells in any order Structured access (faster) Get/set cells in a pre-defined order Data-order access (fastest) Get/set cells in the data’s storage order Pre-fetching Intelligently Application Data Grid Toolkit Data Management File Format Handling SRB, ADR, etc. Mesh Toolkit Expression Tree Toolkit Data Grid Toolkit
Paging Intelligently Neighborhood-aware paging Page in nearby cells in N dimensions Support convolution filtering, rendering, marching-cubes, Current center cell Keep neighboring cells paged-in as well Application Data Grid Toolkit Data Management File Format Handling SRB, ADR, etc. Mesh Toolkit Expression Tree Toolkit Data Grid Toolkit Filter window
Using Coordinate Systems Bind a coordinate system to a data grid Euclidean, cylindrical, spherical, time-series,... Uniform, structured, unstructured Handle coordinate system-based operations Resampling with interpolation Lazy-evaluation Multiple file format handlers Application Data Grid Toolkit Data Management File Format Handling SRB,ADR, etc. Mesh Toolkit Expression Tree Toolkit Mesh Toolkit
Operating on Data Define an expression tree for data operations Leaf nodes are data sets, functions,... Interior nodes are composite, filter,... Transforms align overlapping data sets Execute it to generate samples Client defines the expression Server on big iron executes it Application Data Grid Toolkit Data Management File Format Handling SRB, ADR, etc. Mesh Toolkit Expression Tree Toolkit Client Server
Operating on Expressions Expressions can be optimized Re-order operators Similar to optimizing compilers & databases Sample order can be optimized Re-order data accesses for better cache efficiency Data can be staged & intermediate results cached Application Data Grid Toolkit Data Management File Format Handling SRB, ADR, etc. Mesh Toolkit Expression Tree Toolkit
Combining Brain Data Sets RGB to HSI Scalar to RGB Mask by Hue Scalar CT-scan Color Cryosection Color Segmentation Extract Hue Composite 512 x 512 x x 710 x 672 Application Data Grid Toolkit Data Management File Format Handling SRB, ADR, etc. Mesh Toolkit Expression Tree Toolkit
Combining Brain Data Sets Cryosection Application Data Grid Toolkit Data Management File Format Handling SRB, ADR, etc. Mesh Toolkit Expression Tree Toolkit CT Composited
And more toolkits... Interactive imaging with... Mitsubishi VolumePro cards Point clouds & 3D texture mapping with graphics pipelines High-quality imaging with VISTA... Application Data Grid Toolkit Data Management File Format Handling SRB, ADR, etc. Mesh Toolkit Expression Tree Toolkit Other Toolkits VolumePro Point Cloud VISTA 3D Texture
Data-Visualization Pipeline Get data from disk efficiently Manage data in memory efficiently Compute on data efficiently Visualize data efficiently ComputationVisualization Data SRB Server MCAT (Metadata) ADR DataCutter SRB Server KeLP FloorPlan Data Data Orchestration...
Data-Visualization Pipeline Get data from disk efficiently Manage data in memory efficiently Compute on data efficiently Visualize data efficiently ComputationVisualization Data Data - Vis Toolkits Interaction Tools VISTA Renderer Data Orchestration...