a dicom import module for xip alex shnayder lafayette college easton, pa supervisor: dr. dave...

Post on 19-Dec-2015

217 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

A DICOM Import Module for A DICOM Import Module for XIPXIP

Alex Shnayder

Lafayette College

Easton, PA

Supervisor: Dr. Dave Channin

We gratefully acknowledge the support of:

Pat Mongkolwat, Skip Talbot, Ray Wu, Christina Sillery, Rachel Embree

OverviewOverview

- Introduction -

- XIP Description -

- Developing the Module -

- Conclusion -

caBIG: In Vivo Imaging WorkspacecaBIG: In Vivo Imaging Workspace

“cancer Biomedical Informatics Grid” Funded by NCI Focuses on a variety of projects, including the XIP

development project Hopes to facilitate the use of imaging in clinical

trials Requires easily extensible open source platform

for image analysis/visualization

XIP: eXtensible Imaging PlatformXIP: eXtensible Imaging Platform open source environment for rapidly developing medical imaging

applications

– makes it easier and less expensive to access specific processing applications at multiple sites

– simplifies clinical trials – increases the uniformity of imaging and analysis

researchers can easily develop new approaches to medical imaging problems and use them in a translational research setting

imaging applications developed by research groups will be easy to access within the clinical operating environment

new software can be readily transitioned into products due to the re-use of already approved libraries and open source development processes

XIP - IntroductionXIP - Introduction Washington University and Siemens Corporate Research

were selected to develop the platform

WU serves as the main coordinating site

Final version will be based on ivRAD and RADBuilder, an open-source set of tools developed by Siemens

DICOM WG-23 standardizes the interfaces between a workstation and the hosted processing applications (plug-ins)

XIP will incorporate the ITK/VTK image processing/visualization libraries

Going from ivRAD to XIPGoing from ivRAD to XIP

Strip out Siemens’ own visualization and processing functions

Support an open-source license

Replace the old Siemens classes with open-source classes

Integrate the DICOM WG-23 APIs

Allow support for other platforms (ex. Linux)

Refine the user display

Integrating Clinical WorkstationsIntegrating Clinical WorkstationsDICOM WG-23 standardizes the interaction between

a plug-in application and a host environment (ex. web browser)

What does XIP include?What does XIP include?

XIP.rad

– Rapid Action Development Tools and Libraries– Application build environment (scene graphs, pipelines,

etc.)– Extensible set of libraries for image processing– Based off of Open Inventor framework– Contains code generating wizards to help wrap existing

libraries into modules (ex. ITK)

What does XIP include?What does XIP include?

XIP.ws

– Reference implementation of medical imaging workstation

– Developed using XIP RAD– Designed to support basic cancer research use cases– Contains 2 components:

1) XIP.app (specific plug-in application) 2) XIP.host (hosting environment to provide

application with data and services such as remote processing)

XIP HostXIP Host

Provides the infrastructure in which XIP applications are run

Provides data and services to XIP applications

Isolates XIP applications from databases, networks, etc.

Maps images to a common form useable by the XIP applications

XIP UsersXIP Users

XIP FrameworkXIP Framework

XIP Framework (cont.)XIP Framework (cont.)

The Problem…The Problem…

Siemens has not yet incorporated a lot of DICOM compatibility into XIP

The goal of this project is to create a generic module which can read and pass information from a DICOM file within an XIP environment

Open InventorOpen Inventor An object-oriented toolkit which offers an easy way to deal

with interactive graphics programming tasks Built on top of OpenGL Uses a programming model based on the concept of pipelines Window system and platform independent C++ modules represent Engines, Nodes and Manipulators Engines enable the creation of processing pipelines

Integrating ToolkitsIntegrating Toolkits XIP allows for the easy integration of toolkits

and libraries which include the following:– Stock Open Inventor objects for 3D graphics, modeling, UI,

picking, etc.– VTK classes wrapped into Open Inventor objects to support

visualization – ITK classes wrapped into Open Inventor objects for easy use in

XIP applications– Custom objects supplied by developers to extend the standard

XIP objects

XIP libraries may be auto-generated from existing class libraries (ex. ITK, VTK), or may be custom-built from new or existing code

DCMTK: DCMTK: DICOM ToolkitDICOM Toolkit

A collection of libraries and applications which implement the DICOM standard

Allows the displaying, constructing, and sending of DICOM images

Written in a combination of C/C++ as a complete, open-source software

Commonly used by hospitals, developers, and presenters for product testing

XipBuilderXipBuilder graphical user

programming environment to build scene graphs, without programming code, using a simple drag & drop interface

has not been finished yet and must be tested before being released to a large community

Class HeirarchyClass Heirarchy

SoXipSFDataImage

SoXipDataImageDicomObject

NewImage SbXipImage

DicomHandler

DicomObjectDicomObject

Holds one variable – a NewImage object

2 Functions: – get() returns the

NewImage– set(…) sets the

NewImage to point to a new one

NewImageNewImage

Extends SbXipImage – an XIP object that only holds pixel data and the image dimensions

Stores all necessary DICOM header information and the pixel data

Contains various accessor methods and a DicomHandler object to retrieve all the DICOM info

Using XipBuilderUsing XipBuilder

Coding in Open InventorCoding in Open Inventor

SoXipLoadDICOM ClassSoXipLoadDICOM Class the primary class that performs the module’s actions

creates a NewImage object based on the user input “filename”

passes an SoXipSFDataImage object which ultimately contains the original pixel data and DICOM header info

Using the SoXipLoadDICOM ModuleUsing the SoXipLoadDICOM Module

Possibilities for ImprovementPossibilities for Improvement

Ensure proper DICOM header information before loading a DICOM file

Allow access to all DICOM header info instead of using only certain tags

Integrate other existing DICOM-related toolkits instead of just DCMTK

ConclusionConclusion

Created a generic DICOM import module that will allow any developed XIP module to handle both header and pixel information

Provided an example of how external toolkits can be incorporated into XIP (specifically DCMTK)

ReferencesReferences

Prior, Fred. “The cancer Biomedical Informatics Grid: In Vivo Imaging Workspace Projects.” Washington University in St. Louis.

Prior, Fred. “The cancer Biomedical Informatics Grid: XIP – NCI’s Open Source Workstation.” Washington University in St. Louis.

Tarbox, Lawrence. “Application Hosting – A Standardized API for Launching and Communicating with ‘Plug-In’ Applications.” Washington University in St. Louis School of Medicine.

Tarbox, Lawrence et. al. “XIP: the eXtensible Imaging Platform.” Washington University in St. Louis, Siemens Corporate Research.

HW

XIPApplication

InventorApplication Modules

WG 23 System Services PLUG

WG 23 System Services SOCKET

GRIDCLIENT

SERVICES

DICOMSERVICES(DCMTK)

OTHERSERVICES

VTK ITK AIMTK other

OS

NCIA

XIPIDE

RadLex

AIM

NCI

ProtégéEVS

XIP

MIDDLEWARE

DICOM

DICOM Services

IVI MiddlewarecaGrid

CaBIG

caDSR, EVS, RadLex, AIM ontology, etc

Client accessService access

Grid Data Service

Grid Analytical Service

AIM Data Service

XIP App

ServiceHost

WG23

DICOM Image

Sources

top related