210 likes | 311 Views
Integrating XIP into a FOSS clinical workstation Final Presentation. Max Meltser Advisors: David Channin, Pat Mongkolwatt With much help from Vlad Kleper. The Project. Take two freely available, useful tools, and combine them XIP ClearCanvas Workstation
E N D
Integrating XIP into a FOSS clinical workstationFinal Presentation Max Meltser Advisors: David Channin, Pat Mongkolwatt With much help from Vlad Kleper
The Project • Take two freely available, useful tools, and combine them • XIP • ClearCanvas Workstation • Improve the ease of creating new filters, views, etc. and implementing them within a usable workstation • Give radiologists more control over how images are viewed
Review of XIP • Currently being worked on in the Electronic Radiology Lab at Washington University in St. Louis • Funded by the NCI’s CaBIGTM program • Based upon Siemen’s ivRad and RadBuilder • Incorporates both ITK and VTK
Advantages of XIP • Easily modifiable “Scene Graphs” • Simple, visual, flowchart design – no coding necessary • Scene graphs can be saved as a modifiable file that XIPBuilder will be able to read • Scene graphs can also be compiled into a file that can be only be viewed • Freely available
Review of ClearCanvas Workstation • Free, open source PACS workstation developed by ClearCanvas • Developed for radiologists, clinicians, and also for researchers • Easily Extensible through the creation of ClearCanvas specific plug-ins • Written in C#
What are the goals? • Integrate XIP into ClearCanvas Workstation • Load dicom files in an XIP viewer within ClearCanvas • Allow users to dynamically modify the scene graph within XIPBuilder and to see the changes within ClearCanvas
ClearCanvas Workstation XIP Viewer The Goal:
So, How do we do this? • Initially attempted using a Java DLL • Didn’t work • Pat stayed in contact with Lawrence Tarbox of the XIP project • Sent us a .Net sample XIP viewer • Initially only showed a cone
Old XIP Libraries Java Application C++ DLL (for Java calls) XIP C++ DLL (for C# calls) The Various Approaches New XIP Libraries C# Application
Putting Working XIP into ClearCanvas • Created a new Desktop Workspace environment from ClearCanvas • “Gutted” the XIP example • Transplanted the guts into ClearCanvas • Added controls…
Controlling XIP • Limited API • create(…) • destroy() • loadLibraries(…) • loadGraph(…) • set(String nodeProperty, String value) • get(String nodeProperty)
Controlling XIP • Parsing • Fields are not uniform • All options are not shown • Input types are not shown • Hardcoding • Scene graphs must be created with proper labels
Continued Adding Functionality • 3D view would work sporadically • Button on the toolbar • Option in the context menu • Automatically load data set from ImageViewer… • 3D panel worked consistently • Hardcoding image files into the scene graph was at fault.
What Still Needs Doing • BUGS • XIP Fails to initialize • Oblique causes an AccessExceptionViolation • Cannot load a new scene graph • Dataset loading limitations • Things to do • Better integrate controls into ClearCanvas • Add XIP as a tile in the ImageViewer, not a tab • Parser for .iv files?