Difference between revisions of "NA-MIC-Kit"

From NAMIC Wiki
Jump to: navigation, search
Line 39: Line 39:
  
 
= Old Stuff =
 
= Old Stuff =
 +
Go to [[NA-MIC-Kit-Old]] to see the previous NA-MIC Kit web pages.
 
== Introduction ==
 
== Introduction ==
 
* The NA-MIC Kit consists of software that is being made available under the NA-MIC project. This software follows the NIH guidelines for open source software. In this section, we provide information about the components of the NA-MIC kit as well as supporting software tools that are being used by the software developers on the project.
 
* The NA-MIC Kit consists of software that is being made available under the NA-MIC project. This software follows the NIH guidelines for open source software. In this section, we provide information about the components of the NA-MIC kit as well as supporting software tools that are being used by the software developers on the project.

Revision as of 11:03, 4 October 2007

Home < NA-MIC-Kit

Overview

The NA-MIC Kit consists of open source software with application in biomedical computing. This software has been and continues to be produced by the NA-MIC team as part of an NIH National Center for Biomedical Computing program. The software is distributed under a BSD-style, open source license free of commercial and reciprocal distribution restrictions. See this presentation on the NA-MIC Kit for more information.

Target Audience

The NA-MIC Kit has been created to support a spectrum of users and developers. This includes:

  • biomedical researchers
  • algorithms developers
  • application developers
  • software toolkit developers and users; and
  • software process tools including support for building, testing, community building and software management.

The NA-MIC Kit has also been employed by users wishing to perform image analysis and visualization tasks. For example, the Slicer application is being used at | Harvard's IIC for astrophysics research. Other tools, such as CMake, are in wide use around the world in projects as disparate as KDE, one of the world's open source software projects distributed as the Linux desktop windowing environment.

Software Overview

Depending on user needs, users of the NAMIC Kit will use the following software tools. More information about each tool is available below.

  • 3D Slicer is a general purpose application. Biomedical researchers will typically use this software tool to load, view, analyze, process and save data.
  • Slicer modules, which are dynamically loaded by Slicer at run-time, can be used to extend Slicer's core functionality including defining graphical user interfaces. Modules are typically used by algorithms and application developers.
  • Application and algorithms developers may also use NA-MIC Kit toolkits and libraries. For example, the Insight Segmentation and Registration Toolkit ITK can be used to develop slicer modules for medical image analysis. The Visualization Toolkit can be used to process and visualize data. KWWidgets is a 2D graphical user interface toolset that can be used to build applications. Teem is a library of general purpose command-line tools that are useful for processing data. Finally, those individuals wishing to create

Download Central

Please go here to download software, documentation and data.

Software Packages

3D Slicer

VTK

ITK

KWWidgets

Teem

Software Process

Old Stuff

Go to NA-MIC-Kit-Old to see the previous NA-MIC Kit web pages.

Introduction

  • The NA-MIC Kit consists of software that is being made available under the NA-MIC project. This software follows the NIH guidelines for open source software. In this section, we provide information about the components of the NA-MIC kit as well as supporting software tools that are being used by the software developers on the project.
  • It is our intention to include in the NA-MIC kit only software that is free of IP restrictions, supported and comes with a BSD style license.
  • This will allow anybody (including companies) to use our software. We only ask for an acknowledgment of our contributions. For more information, look at the licenses that come with the packages.
  • We make no promises or claims about what the software can be used for. We make no restrictions either.
  • The NA-MIC kit includes a number of toolkits, libraries, and applications. NA-MIC has adopted a software engineering methodology using extreme programming techniques. This methodology is supported by a variety of specific tools.

Background

If you would like to contribute software to NA-MIC, please keep in mind the following guidelines that all our software must follow:

  • From the RFA:
    • …NIH does have goals for software dissemination…
    • …software should be freely available …
    • …permit the commercialization of enhanced or customized versions …
    • …include the ability of researchers outside the center and its collaborating projects to modify the source code and to share modifications …
  • http://grants1.nih.gov/grants/guide/rfa-files/RFA-RM-04-003.html
  • Our conclusion was to standardize on BSD style licenses for the NA-MIC kit.

The NAMIC Kit

See this presentation on the NA-MIC Kit.

The current version of the NAMIC kit consists of the following end-user applications and software toolkits.

Software Applications for Biomedical Scientist

3D Slicer

3D Slicer is a software package for visualization and medical image computing. See the Slicer webpages for more information. A tutorial for prospective users of the program can be found on the web. See our tutorials page for an introduction to the use of 3D Slicer.

Software Toolkits for NA-MIC Developers

The following software toolkits are being used to develop software within the NA-MIC community. They also form the foundation for the 3D Slicer software.

The Insight Toolkit (ITK)

  • This tutorial page points to introductory materials for the ITK software.
  • The Insight Journal is an Open Access on-line publication covering the domain of medical image processing.

The Visualization Toolkit (VTK)

VTK is an open source system for 3D visualization, computer graphics, and human/computer interaction. Its core capabilities include image display, volume rendering, and surface display. It also provides a data processing framework for large data including mutlti-threading and scalable, distributed processing.

KWWidgets

KWWidgets are an open source GUI toolkit with an unrestricted license compatible with the NAMIC's guiding philosophy. Slicer3 and many adjunct modules are implemented using the KWWidgets.

Teem (libraries + command-line tools)

Tools Supporting the NA-MIC software methodology

NA-MIC has adopted a software methodology which is centered around an iterative development process. This approach requires frequent compilation, automated testing and multi-platform support. Software has been developed by a variety of groups to enable this approach.

Software Engineering Tools improved by NAMIC

Dashboards and BugTrackers

All components of the NA-MIC toolkit have an associated dashboard and bugtracker so that the current state of the toolkit is publicly accessible at all times.

Software Tools Used

Procedure and Processes

The need for the following processes was identified in early meetings of NA-MIC PIs. Each of these processes are expected to evolve with the project.

Documents

The following documents were identified as being useful for development of software and related materials for the NA-MIC community:

Users of NA-MIC Kit

The following page provides information about users of the NA-MIC Kit: NA-MIC Kit Users.