-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathREADME
More file actions
36 lines (30 loc) · 1.95 KB
/
README
File metadata and controls
36 lines (30 loc) · 1.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Welcome to the National Library of Medicine
Insight Segmentation and Registration Toolkit (ITK).
This document provides a brief description of the project, its history, and
references to additional information describing how to use, develop, and
contribute to ITK.
Introduction
ITK is an open-source software toolkit for performing registration and
segmentation. Segmentation is the process of identifying and classifying
data found in a digitally sampled representation. 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 aligned with a MRI scan in order to combine the information
contained in both.
ITK is implemented in C++. In addition, an automated wrapping process
generates interfaces between C++ and interpreted programming languages such
as Tcl, Java, and Python. This enables developers to create software using a
variety of programming languages. ITK's C++ implementation style is referred
to as generic programming. Such C++ templating means that the code is highly
efficient, and that the many software problems are discovered at compile-time,
rather than at run-time during program execution.
Because ITK is an open-source project, developers from around the world can
use, debug, maintain, and extend the software. ITK uses a model of software
development referred to as Extreme Programming. Extreme Programming collapses
the usual software creation methodology into a simultaneous and iterative
process of design-implement-test-release. The key features of Extreme
Programming are communication and testing. Communication among the members of
the ITK community is what helps manage the rapid evolution of the software.
Testing is what keeps the software stable. In ITK, an extensive testing
process is in place that measures the quality on a daily basis.