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

Overview of Kitware Projects (PI: Will Schroeder)

Kitware Projects


Kitware, Inc.

Kitware, Inc. is a leader in scientific visualization, medical image analysis, computer vision, integrative databases, and software processes. We have teamed with NA-MIC to produce high-quality software that solves todays medical imaging and visualization challenges, via the NA-MIC Kit. Our contributions to NA-MIC and the NA-MIC Kit include software engineering consultation, algorithm development expertise, visualization and image analysis open-source software, software developers, and community development and support infrastructure. 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 its 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 data and publications, from within Slicer for informatics visualization and method documentation, is being implemented. More...


KWKidgets GUI Toolkit

KWWidgets is an Open Source library of GUI classes based on Tcl/Tk with a C++ API. This library was originally developed by Kitware for ParaView, and now has been extended in functionality and architecture thanks to NAMIC support. 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...