Our Open Source Platforms
We develop, maintain, and support software toolkits and applications that are used by tens of thousands of developers, researchers, and practitioners worldwide. These projects all use commercial-friendly, permissive open source licenses and work across a variety of platforms. We offer custom solutions, support, training, and books related to these platforms.
The Visualization Toolkit (VTK) is a software system for 3D computer graphics, image processing, and visualization. It supports many visualization algorithms and modeling techniques. VTK can perform parallel processing, and it can render scientific data in a web browser. VTK is used worldwide in commercial applications as well as in research and development. Applications that use VTK include Molekel, ParaView, VisIt, VisTrails, MOOSE, 3D Slicer, MayaVi, and OsiriX. VTK is written in C++ and is wrapped for access via Python, Java, and Tcl. ActiViz provides support for VTK in .Net/C# projects.
ParaView builds interactive, scientific visualizations to analyze data using qualitative and quantitative techniques. It has a client–server architecture to facilitate remote visualization of datasets, and it generates level of detail (LOD) models to maintain interactive frame rates for large datasets. ParaView is designed for data parallelism on shared-memory or distributed-memory multicomputers and clusters. It can also be run as a single-computer application.
ParaView is an application framework as well as a turnkey application. ParaView’s application framework allows for its components to be reused to quickly develop vertical applications that have specific functionality for a particular problem domain.
CMake is our cross-platform build tool for controlling the software compilation process using simple platform- and compiler-independent configuration files. CMake generates native makefiles and workspaces that can be used in the compiler of choice.
CMake integrates with CDash to provide a comprehensive suite of tools. CDash is the testing server that aggregates, analyzes, and displays the results of software testing processes submitted from clients located around the world. Developers rely on CDash to convey the state of a software system and to continually improve its quality.
Originally developed to facilitate digital exploration of the Visible Human Project, the Insight Toolkit (ITK) has become part of the national infrastructure of medical research software. ITK is a library of segmentation and registration imaging algorithms tailored for medical investigations.
3D Slicer is an open source and extensible application for visualization and medical image analysis. 3D Slicer works with optical imaging, MRI, CT, and ultrasound data. We have applied 3D Slicer to research and commercial applications ranging from pre-clinical animal studies, to surgical planning and guidance, to ultrasound image analysis, to medical robot control, to population studies.
3D Slicer uses VTK and ITK: VTK for its 2D and 3D rendering pipelines, linear and non-linear transformation, segmentation infrastructure, mesh processing, and virtual reality integration and ITK for image processing plus reading and writing images.
The Kitware Image and Video Exploitation and Retrieval (KWIVER) toolkit is a collection of open source software packages designed to address challenging image and video analysis problems. Its repositories are created and continuously updated by our team and by members of the computer vision community. KWIVER includes high-quality implementations of key computer vision, deep learning, and machine learning techniques that are targeted at real-world problems. It includes the Social Multimedia Query Toolkit (SMQTk); the Motion-imagery Aerial Photogrammetry Toolkit (TeleSculptor); Super3D for image and video super-resolution image and video enhancement using 3D models; the Video and Image-Based Retrieval and Analysis Toolkit (VIBRANT) for video tracking; and the Video and Imagery Analytics for the Marine Environment (VIAME) toolkit for underwater image and video analysis. It also includes software engineering libraries for multi-processing, pipeline-based computation; dependency management; and more. In addition to its open source version, KWIVER has a restricted version at KWIVER.mil that offers additional capabilities to U.S. government customers and their contractors. The software at KWIVER.mil has unlimited rights to the government within the stated distribution restrictions.
Computational Model Builder (CMB) manages the resources required for simulation definition from start to finish. These include geometric models, simulation information, and meshes. It was designed to allow domain experts to build computational models without expert knowledge of computer science. Its plugin-based architecture supports tools and simulation codes such as Open CASCADE, Nek5000, Hydra-TH, Dakota, Parallel Hierarchic Adaptive Stabilized Transient Analysis (PHASTA), ParaView, Mesh-Oriented datABase (MOAB), Albany, and MeshKit. Yet, CMB remains a lightweight application that can be easily modified and scaled to meet the requirements of any simulation and workflow.
The primary focus of Tomviz is to provide a complete solution, from raw projection images to reconstructed electron tomography data, for materials using a state-of-the-art graphical interface. It is capable of rendering data as shaded contours or volumetric projections in addition to slices, measurements, and other representations. Tomviz can use datasets, color maps, and other visualization settings in combination with tomographic reconstructions, and it offers alignment, image processing, reconstruction, multi-correlative statistics, filters, and user-customized Python scripts in a reproducible data processing pipeline.
The interactive Medical Simulation Toolkit (iMSTK) is designed to support the rapid prototyping of virtual medical trainers and planners. It enables end-to-end application development by offering components for medical simulators such as physics-based simulation, haptic feedback, collision detection and response, external tracking and virtual reality support, and real-time rendering and visualization techniques.
VIAME (Video and Image Analytics for Marine Environments) is an open source computer vision software platform designed for do-it-yourself artificial intelligence (AI). It is an evolving toolkit that contains many workflows used to generate different object detectors, full-frame classifiers, image mosaics, rapid model generation, image and video search, and methods for stereo measurement.
Originally targeting marine species analytics, it now contains many common algorithms and libraries, and is also useful as a generic computer vision library outside of underwater image and video. VIAME is available as a desktop or a web application.
TeleSculptor is an open source, end-user desktop application for aerial photogrammetry. It leverages KWIVER algorithms to build 3D scene models from aerial video, such as video collected from UAVs. It handles geospatial coordinates and can make use of metadata, if available, from GPS and IMU sensors. However, it can also work with non-geospatial data and with collections of images without associated metadata. Although it is primarily an end-user application, it is highly reconfigurable to also support photogrammetry research and development.
Girder is a standardized and opinionated open source web stack Kitware uses to build and deploy research and production applications. These systems enable scalable large file upload and download, data ingest and validation, scientific data modeling, asynchronous processing integration for scientific and AI workflows, complex annotation workflow interfaces, web-based scalable scientific and geospatial visualization, flexible metadata queries, and Python clients for use in scientific environments. Girder is built with modern software tools and practices to produce rock-solid server applications, low-cost continuous deployment, and beautiful and compelling web interfaces.
ADIOS, The Adaptable Input Output (I/O) System, is an open-source library that provides scalable parallel I/O capabilities. ADIOS bindings are available in C++, C, Fortran, Python and can be used on supercomputers, personal computers, and cloud systems running on Linux, macOS and Windows. ADIOS is built on a simple self-describing data model that can be used to represent various types of scientific datasets.