Difference between revisions of "Engineering:Kitware"

From NAMIC Wiki
Jump to: navigation, search
m (Update from Wiki)
 
 
(25 intermediate revisions by 3 users not shown)
Line 1: Line 1:
= Software Process: =
+
Back to [[Engineering:Main|NA-MIC Engineering]]
 +
__NOTOC__
 +
= Overview of Kitware Projects (PI: Stephen Aylward) =
  
# We have made significant progress creating CPack. CPack is analogous to CMake in that it is a cross-platform packaging tool. (Creating software distribution packages is necessary when creating releases, CPack will greatly simplify the release of software on multiple platforms. We are expecting to automate the creation of NAMIC-kit releases with CPack shortly.
+
{|
# CMake 2.2.3 has been released.
+
|width="120px" |  [[Image:KitwareLogo.gif|220px]]
 +
| |
  
= KWWidgets =
+
== [http://Kitware.com/ Kitware, Inc.] ==
  
More details at (http://www.kwwidgets.org)
+
[http://www.kitware.com/ 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 build process has been improved and tested,
+
<hr>
# The documentation and examples have been expanded, and
+
|-
# the API is being consolidated: thereby making it easier for NA-MIC people and newcomers to get familiar with KWWidgets.
+
| | [[Image:VTK-logo-medium-res.jpg|100px]]
# A bugtracker is about to be added.
+
| |
# The roadmap (http://www.kwwidgets.org/Wiki/KWWidgets/Roadmap) is being worked out,
 
# Internationalization support is underway.
 
  
''' DICOM browsing.''' We want a UI to browse all DICOM files in a directory and organize them into image series. The DICOM browser will be based on KWWidget and will be independent from any DICOM reader. The DICOM browser will help the user to pick the correct dataset based on patient ID, series ID and exam ID.
+
== [http://wiki.na-mic.org/Wiki/index.php/VTKSummary The Visualization Toolkit VTK] ==
  
= Collaboration =
+
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. [http://wiki.na-mic.org/Wiki/index.php/VTKSummary More...]
  
# Provide collaboration tools:
+
<hr>
## Wiki
+
|-
## Mailing lists
+
 
## Bug tracker
+
| | [[Image:itkLogo.jpg|100px]]
# Providing support for John Melonakos at Georgia Tech. [[Engineering:Project:Bayesian_Segmentation|(See details)]]
+
| |
# Providing support for Kilian Pohl at MIT [[AHM_2006:ProjectsJointRegistrationSegmentation|(See details)]].
+
 
# Providing support for integrating [[Main_Page|IGSTK]] with Slicer, Nobuhiko Hata at BWH. [[AHM_2006:ProjectsSlicerIGSTK|(See details)]]
+
== [http://wiki.na-mic.org/Wiki/index.php/ITKSummary The Insight Toolkit ITK] ==
# Designing the [[AHM_2006:ProjectsSlicerDataModel|Data Model Server]] for Slicer 3.0.
+
 
# Attending weekly engineering tcons.
+
The Insight Segmentation and Registration Toolkit ([http://www.itk.org 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. [http://wiki.na-mic.org/Wiki/index.php/ITKSummary More...]
# DTI. Adding framework into ITK to support the DTI community including specialized classes into ITK for easier DTI support
+
 
## DTI clustering for Lauren O'Donnel, C-F Westin http://wiki.na-mic.org/Wiki/index.php/Progress_Report:DTI_Clustering
+
<hr>
## GTech http://na-mic.org/Wiki/index.php/Algorithm:GATech)
+
|-
## Currently developing GPU-based rendering techniques in VTK for high-performance interaction with DTI tubes
+
 
## Reworking the hyperstreamline integration (i.e., streamline generation) to produce faster, more accurate DTI tracks
+
| | [[Image:MIDASLogo.png|150px]]
 +
| |
 +
 
 +
== [http://www.kitware.com/products/midas.html 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 [http://www.na-mic.org/publications NA-MIC Publications Database].  MIDAS is also being used to host [http://www.insight-journal.org/midas/community/view/17 NA-MIC data],  the [http://www.insight-journal.org Insight Journal], the [http://www.midasjournal.org/ MIDAS Journal], and the [http://www.midasjournal.org/?journal=35 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. [http://www.kitware.com/products/midas.html More...]
 +
 
 +
<hr>
 +
|-
 +
 
 +
| | [[Image:CTKLogo.gif|100px]]
 +
| |
 +
 
 +
== [http://wiki.na-mic.org/Wiki/index.php/CTKSummary 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.  [http://wiki.na-mic.org/Wiki/index.php/CTKSummary More...]
 +
 
 +
<hr>
 +
 
 +
|-
 +
 
 +
 
 +
| | [[Image:BatchMakeLogo.gif|100px]]
 +
| |
 +
 
 +
== [http://batchmake.org Batchmake] ==
 +
 
 +
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. [http://batchmake.org More...]
 +
 
 +
<hr>
 +
|-
 +
 
 +
| | [[Image:CMake-logo-med-res.png|100px]]
 +
| |
 +
 
 +
== [http://wiki.na-mic.org/Wiki/index.php/CmakeSummary CMake The Cross-platform Make Tool] ==
 +
 
 +
[http://www.cmake.org 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. [http://wiki.na-mic.org/Wiki/index.php/CmakeSummary More...]
 +
 
 +
<hr>
 +
|-
 +
 
 +
 
 +
| | [[Image:Cdash.gif|100px]]
 +
| |
 +
 
 +
== [http://wiki.na-mic.org/Wiki/index.php/CmakeSummary CDash, CTest, CPack Software Process Tools] ==
 +
 
 +
As an adjunct to [http://www.cmake.org CMake] the tools [http://wiki.na-mic.org/Wiki/index.php/CDashSummary CDash], [http://wiki.na-mic.org/Wiki/index.php/CTestSummary CTest], [http://wiki.na-mic.org/Wiki/index.php/CPackSummary 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. [http://wiki.na-mic.org/Wiki/index.php/OverviewSoftwareProcessSummary More...]<br>
 +
 
 +
<hr>
 +
|-
 +
 
 +
 
 +
| | [[Image:TubeTK.jpg|200px]]
 +
| |
 +
 
 +
== [http://tubetk.org/ 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. [http://tubetk.org  More...]<br>
 +
 
 +
<hr>
 +
|-
 +
 
 +
 
 +
| | [[Image:CalaTK.jpg|200px]]
 +
| |
 +
 
 +
== [http://calatk.org/ 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. [http://calatk.org  More...]<br>
 +
 
 +
|}

Latest revision as of 22:16, 3 June 2014

Home < Engineering:Kitware

Back to NA-MIC Engineering

Overview of Kitware Projects (PI: Stephen Aylward)

KitwareLogo.gif

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.


VTK-logo-medium-res.jpg

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...


ItkLogo.jpg

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...


MIDASLogo.png

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...


CTKLogo.gif

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...


BatchMakeLogo.gif

Batchmake

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-logo-med-res.png

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.gif

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.jpg

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.jpg

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...