View
215
Download
0
Tags:
Embed Size (px)
Citation preview
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