From NAMIC Wiki
Jump to: navigation, search
Home < Engineering:Kitware
Back to NA-MIC Engineering

Overview of Kitware Projects (PI: Will Schroeder)


Kitware, Inc.

Kitware, Inc. is teaming with NA-MIC to produce the NA-MIC Kit, high-quality software for solving medical image analysis and visualization challenges. Our contributions to NA-MIC and the NA-MIC Kit include providing software process and algorithms research consultation as well as support for open-source software design, development, and integration. Specific examples are featured below.


The Visualization Toolkit VTK

The Visualization Toolkit is an object-oriented toolkit for processing, viewing and interacting with a variety of data forms including images, volumes, polygonal data, and simulation datasets such as meshes, structured grids, and hierarchical multi-resolution forms. It also supports large-scale data processing and rendering. More...


The Insight Toolkit ITK

The Insight Segmentation and Registration Toolkit (ITK) is an open-source software toolkit for performing registration and segmentation. Segmentation is the process of identifying and classifying data found in digitally sampled representations. Typically the sampled representation is an image acquired from such medical instrumentation as CT or MRI scanners. Registration is the task of aligning or developing correspondences between data. For example, in the medical environment, a CT scan may be registered with a MRI scan in order to combine the information contained in both. More...


MIDAS and the Publications Database

MIDAS is open-source software for hosting heterogeneous databases, e.g., databases of images, publications, meta-data, presentations, and more. MIDAS also provides interfaces so that its data can be easily accesses over the web and via C++/python/Java. MIDAS can also harvest data from other databases on the web, e.g., PubMed and genomics databases. NA-MIC has a MIDAS installation to serve as the NA-MIC Publications Database. MIDAS is also being used to host NA-MIC data, the Insight Journal, the MIDAS Journal, and the VTK Journal. Direct access to MIDAS's data from within Slicer is being developed to support informatics analysis and visualization. Direct access to MIDAS's publications from within Slicer is being developed to provide documentation and integrative tutorials. More...


CTK GUI Toolkit

CTK is an Open Source library of GUI classes based on Qt, VTK, ITK, and DCMTK. This library is an international effort to simplify the development of medical image analysis applications. NAMIC is assisting in the architectural design, helping them establish software practices, contributing classes, and evaluating early developments. More...



BatchMake is a cross platform tool for batch processing of large amount of data. BatchMake can process datasets locally or on distributed systems using Condor (a grid computing tool that enables distributed computing across the network). Some of the key features of BatchMake include: 1) a BSD License, 2) CMake-like scripting language, 3) distributed scripting via Condor, 4) a centralized remote website for online statistical analysis. 4) a user Interface using FLTK, and 5) BatchMake is cross platform. More...


CMake The Cross-platform Make Tool

CMake is used to control the software build process using simple platform, compiler and operating system independent configuration files. CMake generates native makefiles and workspaces that can be used in the development environment of your choice. That is, CMake does not attempt to replace standard development tools such as compilers and debuggers, rather it produces build files and other development resources that can benefit from automated generation. Further, once CMake configuration files are created, they can be used to produce developer resources across the many platforms that CMake supports. CMake is quite sophisticated: it is possible to support complex environments requiring system configuration, pre-processor generation, code generation, and template instantiation. More...


CDash, CTest, CPack Software Process Tools

As an adjunct to CMake the tools CDash, CTest, CPack are used to test and package all components of the NAMIC kit. CTest is a testing client that locally performs testing on a software repository, and then communicates the results of the testing to CDash (and other testing, dashboard servers such as DART2). CPack is a cross-platform tool for packaging, distributing and installing the NAMIC kit on various systems including Linux, Windows, and Mac OSX. More...


TubeTK for geometry-inspired image analysis

TubeTK is an open-source toolkit for the segmentation, registration, and analysis of tubes and surfaces in images.

Tubes and surfaces, as generalized 1D and 2D manifolds in N-dimensional images, are essential components in a variety of image analysis tasks. Instances of tubular structures in images include blood vessels in magnetic resonance angiograms and b-mode ultrasound images, wires in microscopy images of integrated circuits, roads in areal photographs, and nerves in confocal microscopy.

A guiding premise of TubeTK is that by focusing on 1D and 2D manifolds we can devise methods that are insensitive to the modality, noise, contrast, and scale of the images being analyzed and to the arrangement and deformations of the objects in them. In particular, we propose that TubeTK's manifold methods offer improved performance for many applications, compared to methods involving the analysis of independent geometric measures (e.g., edges and corners) or requiring complete shape models.

TubeTK is implemented as a C++ library and makes extensive use of ITK and VTK. Select methods of TubeTK are provided as command-line applications and as extensions in 3D Slicer, an open-source medical imaging application. More...


CalaTK for cross sectional and longitudinal atlas building

CalaTK is an open-source toolkit for cross-sectional and longitudinal atlas building.

The CalaTK project develops innovative methods and tools for longitudinal atlases with a focus on neurodevelopment. The computational toolbox is developed with the objective to analyze the neural developmental patterns observed in macaque structural and diffusion tensor magnetic resonance (MR) images.

A number of algorithms are available including registration and atlas building based on LDDMM, growth model LDDMM, LDDMM with geodesic shooting and/or initial momentum, or geometric metamorphosis with LDDMM.

Unlike existing atlas­-building methods, we explicitly use longitudinal (or temporal) information, both for the structural atlas as well as for the diffusion tensor atlas. This will be achieved directly within the registration framework by modeling expected changes in image intensity for the structural images (to handle contrast inversion at the early stage of brain development) and by using subject-­specific growth models. The proposed atlas­-building strategy is specifically tailored for the construction of longitudinal atlases. The longitudinal approach is expected to significantly improve estimation accuracy.

CalaTK is implemented as a C++ library and makes extensive use of ITK. Algorithms are provided as command-line applications and as extensions in 3D Slicer, an open-source medical imaging application. Algorithm configuration is performed with a system based on JSON files that is human-readable, machine-editable, and easily archived for reproducible analysis. More...