310 likes | 517 Views
A DICOM Import Module for XIP. 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. Overview. - Introduction - - XIP Description -
E N D
A DICOM Import Module for XIP 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
Overview • - Introduction - - XIP Description - - Developing the Module - - Conclusion -
caBIG: 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 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 - 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 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 Workstations DICOM WG-23 standardizes the interaction between a plug-in application and a host environment (ex. web browser)
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? 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 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
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 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 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: DICOM 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
XipBuilder • 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 Heirarchy SoXipSFDataImage DicomObject SoXipDataImage NewImage SbXipImage DicomHandler
DicomObject • Holds one variable – a NewImage object • 2 Functions: • get() returns the NewImage • set(…) sets the NewImage to point to a new one
NewImage • 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
SoXipLoadDICOM 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
Possibilities 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
Conclusion • 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)
References • 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.
XIP XIP Application Client access MIDDLEWARE XIP IDE Service access AIM RadLex Inventor Application Modules WG 23 System Services PLUG NCI WG 23 System Services SOCKET VTK ITK AIMTK other CaBIG DICOM SERVICES (DCMTK) OTHER SERVICES GRID CLIENT SERVICES EVS Protégé DICOM XIP App HW WG23 Service Host Grid Data Service Grid Analytical Service NCIA AIM Data Service OS IVI Middleware caGrid DICOM Image Sources caDSR, EVS, RadLex, AIM ontology, etc DICOM Services