Difference between revisions of "Engineering:Kitware"

From NAMIC Wiki
Jump to: navigation, search
Line 1: Line 1:
= Software Process: =
+
Back to [[Engineering:Main|NA-MIC Engineering]]
 +
__NOTOC__
 +
= Overview of Kitware Projects (PI: Will Schroeder) =
  
# 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.
+
At Kitware, we are developing software toolkits and the engineering software process. We also contribute modules to the Slicer3 application.  The following are some of the projects we are working on.
# CMake 2.2.3 has been released.
 
  
= KWWidgets =
+
= Kitware Projects =
  
More details at (http://www.kwwidgets.org)
+
{|
 +
|width="120px" |  [[Image:VTK-logo-medium-res.jpg|100px]]
 +
| |
  
# The build process has been improved and tested,
+
== [http://wiki.na-mic.org/Wiki/index.php/VTKSummary The Visualization Toolkit VTK] ==
# 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.
 
# 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.
+
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...]
  
= Collaboration =
+
<hr>
 +
|-
  
# Provide collaboration tools:
+
| | [[Image:itkLogo.jpg|100px]]
## Wiki
+
| |
## Mailing lists
 
## Bug tracker
 
# 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)]]
 
# Designing the [[AHM_2006:ProjectsSlicerDataModel|Data Model Server]] for Slicer 3.0.
 
# Attending weekly engineering tcons.
 
# 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
 
## 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
 
  
[[Category:NA-MIC Kit]]
+
== [http://wiki.na-mic.org/Wiki/index.php/ITKSummary The Insight Toolkit ITK] ==
 +
 
 +
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...]
 +
 
 +
<hr>
 +
|-
 +
 
 +
| | [[Image:KWWIdgetsLogo.png|100px]]
 +
| |
 +
 
 +
== [http://wiki.na-mic.org/Wiki/index.php/KWWidgetsSummary 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. [http://wiki.na-mic.org/Wiki/index.php/KWWidgetsSummary 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...]
 +
 
 +
<font color="red">'''New: '''</font> [http://lwn.net/Articles/188693/ CMake has been adopted by KDE], one of the world's largest open source software systems.
 +
 
 +
<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>
 +
 
 +
|}

Revision as of 12:14, 4 June 2008

Home < Engineering:Kitware
Back to NA-MIC Engineering

Overview of Kitware Projects (PI: Will Schroeder)

At Kitware, we are developing software toolkits and the engineering software process. We also contribute modules to the Slicer3 application. The following are some of the projects we are working on.

Kitware Projects

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


KWWIdgetsLogo.png

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


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

New: CMake has been adopted by KDE, one of the world's largest open source software systems.


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