Engineering

From NAMIC Wiki
Jump to: navigation, search
Home < Engineering

Engineering

Big-Engineering-Logo.png

The investigators of the Engineering team have demonstrated expertise in visualization, medical image analysis, information systems, and computing platforms, and have a long track record of developing and delivering software platforms, computing platforms, and software engineering to large multisite research programs (Visible Human Project, BIRN, NCRR CTSA, SimBios, Oasis, Jackson Heart Study, IMAGEN, INTRUST, Neuroimaging Analysis Center, National Center for Image Guided Therapy, National Center for Microscopy and Imaging Research, MedINRIA).

The objective of the Engineering component of the Computer Science Core is to provide software tools and software development processes to deploy innovative technology to clinical researchers, support the scientific algorithm innovation of the Algorithm scientists, and to foster a community to produce high quality software. This objective is consistent with the original objective of the Engineering Core from the first NA-MIC funding period. However, the specific aims through which we will address this objective in the next NA-MIC funding period reflect the maturation of the NA-MIC community, the capabilities of the current 3D Slicer platform and NA-MIC Kit, and the changing needs of the Algorithm team and DBPs as NA-MIC pursues personalized medicine through the patient-specific analysis of images. Specifically, these aims are: (1) Architecture; (2) End-user platform; (3) Computational platform; (4) Data management platform; (5) and Software engineering and software quality.

Architecture

Figure: NA-MIC Kit. Algorithm developers contribute to the computational platform (image analysis: ITK and Teem; visualization: VTK and OpenCL) and application developers create tools within an architectural framework (scene graph: MRML, GUI: Qt, scientific computing: Python) in conjunction with data management facilities (XNAT) and under the control of the quality software process (CMake and CDash). The 3D Slicer platform is designed to accommodate accelerated innovation with a flexible execution engine on which community-developed analysis modules can be rapidly deployed to clinical researchers and the broader community via the 3D Slicer.

We will expand the architecture of the NA-MIC Kit by defining the components and interfaces that support the requirements of the Algorithms team and the DBPs, and by addressing, in particular, workflows for registration; interactive methods for quick and accurate delineation of pathology boundaries; rich descriptors of size, structure, and function for regions of interest (ROIs); methods for multivariate statistical analysis; and interfaces to clinical data resources. In this renewal, the DBPs’ focus on patient-specific analysis places new demands on the architecture as imagery from multiple time points and multiple modalities must be analyzed to understand the extent of the disease or injury and to quantify change. These needs, in turn, require new data structures for managing multivariate time-series data, new interfaces to statistical libraries, and new components for interactive analysis methods that leverage accessible computing resources, e.g., GPUs and cloud computing.

End-user platform

We will extend the 3D Slicer application to enhance the transition of innovative algorithms into clinical research applications. In particular, we will work on: expert-guided interactive segmentation tools to define and edit anatomical atlases; general purpose plotting, graphing, and information visualization to display complex data and the results of batch processing; multimodal and time series visualization tools for tracking disease progression and treatment response and for comparing analysis results across a range of parameter settings; and uniform application support for nonlinear and piecewise spatial transforms to accommodate new registration algorithms. To accommodate this functionality, we will expand the current data structure support for multiple volumes, surface models, transformations, and annotations to include finite element meshes, diffusion tensor fiber bundles, and vascular network representations; and enable advanced analysis of these types through the 3D Slicer’s powerful, run-time extensible execution model.

Computational platform

We will expand the NA-MIC Kit to support advances in computing methodology and analysis techniques. To make longitudinal data analysis, interactive segmentation and registration, and information visualization algorithms broadly accessible to developers and users, the toolkit will support cloud computing and stream (GPGPU) processing, and will integrate VTK’s new information visualization and informatics subsystem into the NA-MIC Kit. Further, we will integrate feature measurement libraries, multivariate clustering techniques, and machine-learning libraries; and provide statistical inference capabilities with regression analysis and interfaces to statistical packages such as R. These capabilities will be building blocks for the algorithm developers and will provide tools accessible to the end-user through the 3D Slicer.

Data management platform

We will create a platform that enables users to readily store, process, exchange, and manage data. The research activity of the DBPs, and the NA-MIC community as a whole, necessarily involves a large quantity of imagery, potentially multimodal and longitudinal. The proposed platform will enable users to exchange data with clinical devices, to interact with central research data repositories, and to manage local data caches. The platform will be based on the XNAT imaging informatics system which is already interoperable with the 3D Slicer. The platform will include a database component to store imaging data and metadata, a desktop application to organize and explore data, and a network and programming interface to exchange data with external applications, including clinical information systems and image review workstations.

A major focus of development will be providing deep support for the DICOM medical imaging industry standard, which will enable seamless integration with clinical devices, including scanners, PACS, and image-guided surgery systems.

Software engineering and software quality

We will extend our current software engineering and software quality infrastructure to provide rigorous traceability and control across project history. This necessitates a software development infrastructure that tightly integrates software revision control, build, test, documentation, and release into a continuous, self-documenting process. By extending our widely used CMake system for cross-platform build; CDash/CTest for testing; and CPack for cross-platform packaging and distribution, we will facilitate our goals of deploying the NA-MIC Kit to the broad research community and enable the community to contribute back to the toolkit. Further, this integrative infrastructure will have many benefits. Notably, this integration will provide a centralized documentation of a project’s entire life cycle. This will aid collaborative design, development and debugging, and will position the software for deployment under regulatory control.