260 likes | 268 Views
The Virtual Microscope is interactive software that emulates a high-power light microscope for visualizing and exploring microscopy images. It can be used to screen for cancer, categorize images, and assist with collaborative diagnosis. The system requires a large amount of data storage and image compression to handle the high-resolution images.
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