280 likes | 490 Views
The Virtual Microscope. Umit V. Catalyurek Department of Biomedical Informatics Division of Data Intensive and Grid Computing. The Virtual Microscope. Joel Saltz Renato Ferreira Michael Beynon Chialin Chang Alan Sussman Tahsin Kurc Robert Miller Angelo Demarzo Mark Silberman
E N D
The Virtual Microscope Umit V. Catalyurek Department of Biomedical Informatics Division of Data Intensive and Grid Computing
The Virtual Microscope • Joel Saltz • Renato Ferreira • Michael Beynon • Chialin Chang • Alan Sussman • Tahsin Kurc • Robert Miller • Angelo Demarzo • Mark Silberman • Asmara Afework • Anthony Wiegering
Virtual Microscope (VM) • Interactive software emulation of high power light microscope for processing image datasets • visualize and explore microscopy images • screen for cancer • categorize images for associative retrieval • electronic capture of slide examination process used in resident training • collaborative diagnosis • Virtual Microscope (Hopkins/UMD), Distributed Telemicroscopy System (Rutgers), [Gu] Virtual Telemicroscope, Virtual Microscopy (UPMC), Baccus Virtual Microscope
The Virtual Microscope • Data requirement • Full cases consisting of multiple digitized glass slides with data acquired at 400X • Single spot 1000x1000 pixels, 3-byte RGB=3MB • A slide of 2.5cmx3.5cm requires 50x70 grid = 10GB uncompressed • Each slide can have multiple focal planes • Johns Hopkins alone generates 500,000 slides per year
The Virtual Microscope • Client-server architecture • Java 1.2 Client • Portability • Data storage & Image compression • More efficient storage, reduced transmission time • 2 server implementations: • Customized instance of Active Data Repository • Improved scalability, portability, user-defined processing • Component-based implementation using DataCutter • Heterogeneous systems, portability, user-defined processing • Caching in the VM Client • Improved response time • Experimental Results
0 3 4 5 2 3 4 7 1 2 7 6 1 0 5 6 6 5 0 1 6 7 2 1 7 4 3 2 5 4 3 0 0 1 6 7 0 1 6 7 3 2 5 4 3 2 5 4 4 7 0 3 4 7 0 3 5 6 1 2 5 6 1 2 Image Declustering
Image Compression • JPEG compression - storage and network • data reduction by a factor of 10 • still may take long time to transmit images • For example, 640x480 image • 920 KB uncompressed • ~ 90 KB jpeg compressed • ~ 13 seconds to transfer using 56 Kb modem
Active Data Repository (ADR) • A C++ class library and runtime system for building parallel databases of multi-dimensional datasets • enables integration of storage, retrieval and processing of multiple datasets on parallel machines and clusters. • provides support for common operations such as data retrieval, memory management, scheduling of processing across a parallel machine. • can be customized for various applications. • Front-end: the interface between clients and back-end. • Back-end: data storage, retrieval, and processing. • Distributed memory parallel machine or cluster, with multiple disks attached to each node • Customizable services for application-specific processing
Virtual Microscope with ADR Client Client Client . . . Client Query: * Slide number * Focal plane * Magnification * Region of interest Front-end Virtual Microscope Front-end Image blocks Query Submission Service Query Interface Service Back-end Dataset Service Indexing Service Query Execution Service Data Aggregation Service Query Planning Service Attribute Space Service
DataCutter A suite of Middleware for subsetting and filtering multi-dimensional datasets stored in a distributed environment • Indexing Service • Multilevel hierarchical indexes based on spatial indexing methods – e.g., R-trees • Filtering Service • Distributed C++ component framework • Specialized components for processing data • filters – logical unit of computation, high level tasks, • init,process,finalize interface • streams – how filters communicate • unidirectional buffer pipes • uses fixed size buffers (min, good) • manually specify filter connectivity and filter-level characteristics
read_data decompress clip zoom view read_data decompress clip-zoom-view read_data decompress-clip-zoom-view Virtual Microscope with DataCutter DC-5F DC-3F DC-2F
Caching in the Client • Reduce data re-transmission • Cache part of the retrieved data in the client • Cache multiple resolutions/magnifications • Cache only what the user views • Two-level cache • client memory is the first level cache • local disk on the client machine is the second level
Summary • 2 VM servers: • Homogeneous systems tightly coupled parallel machines with attached local disks • Heterogeneous systems, grid • Java 1.2 Client • Multiresolution image caching • Try • http://vmscope.jhmi.edu