# Presentation: 700058

## caBIG In Vivo Imaging Middleware

_**Tony Pan,**_ Ashish Sharma, B. Barla Cambazoglu, Justin Permar
- Department of Biomedical Informatics
- Ohio State University Medical Center, Columbus, OH
- www.virtualpacs.org

## In Vivo Imaging Middleware

- What is IVIM?
- What applications does this support?
- What caGrid technologies does it use?
- What are new in IVIM (wrt caGrid)?

## caBIGTM In Vivo Imaging Workspace

**Project 1: Middleware **
**Project 2: XIP: Extensible Imaging Platform**
**Project 3: AIM: Annotation and Image Markup**
**Project 4: Vocabulary **

**Notes:**
Here you give an overview of the system and then describe things in detail in the following slides.

## In Vivo Imaging Middleware

- Create the core infrastructure for Grid enabling imaging applications.
- Services, Tools and APIs
- DICOM-Grid interoperability
- High performance data transfer
- Security
- Creation and Deployment tools for imaging based grid services
- Layered on caGrid 1.0 Toolkit

**Notes:**
Here you give an overview of the system and then describe things in detail in the following slides.

## DICOM — caGrid Interoperability = In Vivo Imaging Middleware

- DICOM - A standard for handling, storing, printing, and transmitting information in medical imaging
- IVI-Middleware: Project of Imaging Workspace, aimed at creating the core infrastructure for Grid enabling imaging applications.
- Services, Tools and APIs for
- DICOM-Grid interoperability
- High performance data transfer
- Creation and Deployment tools for imaging based grid services
- Leverages caGrid 1.0 technology including the GAARDS security mechanisms

## In Vivo Imaging Middleware

- DICOM Data Service
- Provides a two way interface between caGrid and DICOM
- Supports DICOM C_FIND, C_GET, C_MOVE, and C_STORE commands
- Leverages caGrid for service discovery, remote access, and security (authentication and authorization).
- Uses gridFTP for data transfer
- Generic Image Data Service
- Provides a two way interface between caGrid and generic images on a file system
- Can be extended to use a database that contains image metadata
- Leverages caGrid for service discovery, remote access, and security
- Uses gridFTP for data transfer
- Service Development/Deployment Kit
- Provides a deployment wizard that allows users, PACS administrators etc to configure and expose their PACS to the grid
- Extensions to Introduce that allow a user to create, modify and deploy DICOM aware grid services.

## IVIM New Developments

- DICOM Retrieval Performance Optimization
- Overlapped I/O for PACS retrieval and grid transmission
- SDK
- Introduce extensions to facilitate creation of services
- IVIWizard
- Tool to facilitate configuration and deployment of DICOM Data Services
- Security
- Data-level security
- GridFTP security harmonization
- Dynamic Service Deployment
- For installing services at remote servers

## VirtualPACS

- VirtualPACS federates caGrid DICOM Data Services
- Allows a user to use their own commercial DICOM workstation to collaborate and share knowledge with the community
- Remote data sources can be PACS, image archives, mySQL databases etc.
- Leverages caGrid 1.0 including GAARDS

**VirtualPACS**

## gridIMAGE

- A grid-based application that enables distributed access and review of DICOM images
- Supports cross-institute, geographically distributed research collaborations and clinical decision support
- Multiple CAD and research algorithms
- Multiple human reviewers
- Multiple data repositories with large number of subjects
- Distributed compute and storage systems
- Enable parameter studies and clinical and preclinical trials
- Facilitate algorithm development and validation through the use of many distributed, shared image datasets

## gridIMAGE - Central Review & Distributed Processing for CAD

- In Vivo Imaging Middleware used to create DICOM Data Service, Human Markup and CAD Analytical Service (caGrid 1.0 Gold Compliant Service)
- CAD Service upon invocation retrieves images from remote DICOM Data Service and submits CAD markups to a central result server
- Reviewers login to markup client and retrieve pending review requests
- Markup client retrieves images from DICOM Data Service and submits        markup results to a central result s ...markup results to a central result server

**gridIMAGE - Central Review & Distributed Processing for CAD**

## gridIMAGE for Pathology (Neuroblastoma)

**gridIMAGE for Pathology (Neuroblastoma)**

- Interfaces with caGrid 1.0 Data and Analytical Services to execute pathology workflows.
- Interact with Gold Compliant caGrid Data Services to retrieve image and store analyzed result images
- Transmit and Invoke algorithm with required inputs
- Algorithms are run on a MATLAB based analytical services that processes on a high performance compute cluster

## In Vivo Imaging Middleware for Remote PET-CT Fusion

- In Vivo Imaging Middleware used to create DICOM Data Service (a caGrid 1.0 Gold Compliant Service)
- IDL Code for PET-CT Fusion is unmodified and invoked by the IDL Service
- Virtual PACS is used to review the fused images on a DICOM Workstation and then interactively uploaded to a remote PACS Server

**Notes:**
Here you give an overview of the system and then describe things in detail in the following slides.

## SDK and IVIWizard

- Service Development/Deployment Kit
- Provides a deployment wizard that allows users, PACS administrators etc to configure and expose their PACS to the grid

- Service Development/Deployment Kit
- Extensions to Introduce that allow a user to create, modify and deploy DICOM-aware grid services

## Network Performance of Data Transfer

**Dedicated 1Gbps network**

## Security in the Imaging World

- Encryption
- Authentication
- Authorization
- Bulk Data Transport Authorization
- Out-of-band
- Harmonization with caGrid security Infrastructure

## Service and Operation Security

- caGrid provides essential services
- Encryption and signature for session and message
- Authentication with Dorian
- Role/user-based authorization with GridGrouper
- At service level
- At operation level
- User “role” defined a priori in GridGrouper
- Web service container
- Transport-level security (HTTPS)
- Encryption and signature

## IVIM Data-Level Authorization

- PACS may contain data for multiple trials
- Read/write access to data instance
- Based on user identity
- Authorization information stored in GridGrouper
- DICOMDataService checks GridGrouper for authorization before and after PACS query

## GridFTP Security  for Authorized Transfer

- GridFTP supports X.509 certificates for authentication
- Authorization model needs extension to integrate with caGrid GAARDS security infrastructure
- Java Authorization eXtension (JAX) developed as an extension to GridFTP to access GAARDS and other Java authorization plug-ins
- IVIM uses database plug-in to enforce **requester-only** policy on data transferred to the grid-service client via GridFTP
- Only the requester can access data retrieved as a result of a query
- Requester can only access data marked as available to the user, not all data on the server
- Grid service stores <requester identity, allowed ops, system resource>
- 	**<TonyPan, read, gsiftp://someserver/somefile>**
- GridFTP JAX checks database when request is received

## Dynamic Service Deployment

- Dynamic service deployment (DSD) aims to achieve on-demand deployment of the services on remote containers on the grid.
- This approach is particularly useful if the data is too large to transfer over the network between different services running on distant grid nodes.

## Dynamic Service Deployment

- Dynamic service deployment is a four step process:
- Service creation
- Service deployment
- Execution
- Undeployment
- The current DSD implementation in IVI involves:
- a repository service,
- a container service,
- a user client.

## Middleware Low Level Technologis

## Overall Tools

- Leverages
- caGRID 1.0
- PixelMed
- GridFTP

- Products
- DICOM Data Service
- Image Data Service
- XML based Data Service support
- Virtual PACS
- IVI Wizard (SDK)

## DICOM Interoperability

- Leverages
- PixelMed Library
- caGrid 1.0
- Works with
- PixelMed PACS
- AGFA PACS

- Products
- PixelMed modification to support listening thread start and stop
- Embedded PACS
- ModelMap – conceptual map from NCIA model to PixelMed
- DICOM2Model converter
- DICOMCQLQueryProcessor
- Hashmap2CQL converter
- CQL2DICOM converter
- Service Discovery GUI component
- GridFTP utilities

## Image Data Service

- Leverages
- File System

- Product
- Generic Image Schema
- CQL2FS path converter and query processor

## XML Based Database support

- Leverages
- Mobius Mako
- Works with
- Mobius Mako

- Products
- CQL2XPath converter
- CQL-XPath Query Processor

## Virtual PACS

- Leverages
- DICOM Data Service Client
- PixelMed Library
- IVI Core Middleware ModelMap
- IVI Core Middleware Discovery UI
- caGrid authentication
- Works with
- NCIA Model compliant data services
- PixelMed Viewer
- Osirix
- K-PACS

- Product

## Testing

- Unit Testing
- junit

- Systems testing
- Story framework

## New Middleware Technologies

- Bulk Data Transfer using GridFTP for download and upload
- GridFTP Authorization
- Data Instance Authorization using GridGrouper
- Dynamic Service Deployment