NA-MIC All Hands Meeting - 1/9/2006 GE Research Status Report Bill Lorensen Jim Miller Dan Blezek Xiaodong Tao
GE Research engineering activities are distributed in three areas Foundation (ITK) Structure (Slicer) Building codes (Dart) Orientations (ITK) Probability distributions (Sandbox) Tensor estimation (Sandbox) IO – DICOM, Transforms (ITK) Fiber format conversion (Slicer FiberViewer) Future: fMRI MRF solvers Graph cuts DW smoothing/interpolation IO – Archetype, DICOM Orientations Registration Slicer 3 architecture design Future: Slicer 3 Architecture Data model Execution model Reimplementation of Dart Single Java jar file Embedded database Embedded web server/servlet engine Archival Tasks XML-RPC submissions Temporal analysis Beta releases 0.4, 0.5, 0.6, 0.7 Future: Release 1.0 – 2/1/2006
Image orientation Original ITK design: image orientation handled at application level but ITK lacked the hooks to allow the application to handle orientation Algorithms assumed images had the same orientation Orientations now stored within an itk::Image itk::OrientedImage uses the orientation information is computing transformations between index space and physical space itk::OrientImageFilter and itk::ResampleImageFilter can be used to transform images to different orientations. Registration algorithms can operate directly on OrientedImages
Probability distributions ITK lacked standard statistical tests: t-Test, chi-squared tests, etc. New distribution library to evaluate the PDF, CDF, and inverse CDF Can be extended to non-parametric distributions
Other Tensor estimation ITK code to construct diffusion tensors from N diffusion weighted images IO DICOM Transforms (factory IO) Fiber format conversion Slicer FiberViewer
Slicer 3 Architecture Data model Execution model
Dart Software testing and reporting system Distributed cross platform testing sent to a central server for reporting Open access to submit and review Nightly, Continuous, Experimental
Dart 2 Simplify server installation Single jar file that contains everything a Dart server needs Communication protocol implementations, web server, database, scheduling, reporting Improve resource management Reduce storage and duplication Archival mechanism to age out data Computational load Reports generated on request Extend reporting Temporal analysis Custom reports and queries http://www.na-mic.org/Wiki/index.php/Dart2Summary
Dart 2 architecture Jaxor Digester Apache Jetty Servlets XML-RPC log4j parsing Jaxor object relational bridge Servlets Jetty servlet engine log4j Quartz scheduler DB Connection Pooling Freemarker template engine Virtual Filesystem Tasks Archival Derby JFreeChart plotting Events