[Insight-developers] [PATCH] README.txt: Replace README.html and GettingStarted.txt
Brad King
brad.king at kitware.com
Thu Aug 5 11:12:49 EDT 2010
The old README.html and GettingStarted.txt have out-dated information
and have not really been maintained since 2003. Remove them and create
a simpler README.txt that needs less maintenance. Just provide general
summary information and provide links to get started.
---
On 08/03/2010 02:58 PM, Brad King wrote:
> These two files have not really been maintained since 2003.
> I think we should remove both and create one README.txt that
> has basic information and references to web sites.
>
> Any volunteers to handle this?
Since no one volunteered I propose this patch which removes the
out-dated files and adds a simple README.txt. We also need to
update the ITK Software Guide to not refer to GettingStarted.txt.
It actually references the URL
http://www.itk.org/HTML/GettingStarted.txt
which is a broken link. The same section also talks about the
CVS repositories, so it all needs to be updated. Volunteers?
-Brad
GettingStarted.txt | 127 ---------------------
README.html | 320 ----------------------------------------------------
README.txt | 36 ++++++
3 files changed, 36 insertions(+), 447 deletions(-)
delete mode 100644 GettingStarted.txt
delete mode 100644 README.html
create mode 100644 README.txt
diff --git a/GettingStarted.txt b/GettingStarted.txt
deleted file mode 100644
index 03bc07c..0000000
--- a/GettingStarted.txt
+++ /dev/null
@@ -1,127 +0,0 @@
-
-Welcome to the Insight Registration and Segmentation Toolkit (ITK)
------------------------------------------------------------------
-
-This is the fourth public release of ITK (Release-1-2). The ITK developer
-community appreciates any feedback that you may have regarding this
-software. Join the ITK user mailing list (instructions later) and post your
-feedback there. Warning: since the software is young, and this is an early
-release, the API to the software will likely change in the future.
-
-Here are suggested steps for the ITK beginner. Please refer to
-http://www.itk.org for more information. Another document, found in
-Insight/Documentation/InsightStart.pdf is highly recommended.
-
-1) Get the software. We strongly suggest that you obtain the pre-packaged
- source code distributions (binaries/executables are not yet available).
-
- http://www.itk.org/HTML/Download.htm
-
- You may also obtain CVS access. (This requires the CVS executable and
- access to ITK's source code through your repository.) To check out the ITK
- version 1.2 release, use the following procedure:
-
- cvs -d :pserver:anonymous at www.itk.org:/cvsroot/Insight login
- (respond with password "insight")
- cvs -d :pserver:anonymous at www.itk.org:/cvsroot/Insight co \
- -r Release-1-2 Insight
-
- The current development version of ITK is available using the following
- process. Please realize that the development version is inherently less
- stable than official releases. If you access the development version, you
- will want to monitor code quality at the ITK Dashboard
- http://public.kitware.com/dashboard.php?name=itk.
-
- cvs -d :pserver:anonymous at www.itk.org:/cvsroot/Insight login
- (respond with password "insight")
- cvs -d :pserver:anonymous at www.itk.org:/cvsroot/Insight co Insight
-
-
-2) The software is compiled using CMake http://www.cmake.org. CMake
- generates Makefiles on Unix platforms, and Windows workspaces (or
- appropriate) build files according to your compiler, operating
- system, and other system variables.
-
- If at all possible, obtain the pre-compiled CMake binaries. Binaries
- for Windows and various Unix flavors are available from
- http://www.cmake.org/CMake/HTML/Download.html. On Windows, run the
- CMSetup.exe to install CMake. On Unix, uncompress and untar the
- package and place the executable in a location in your path.
-
- On Windows, run CMake by clicking on CMakeSetup.exe. You have to point
- CMake to the source directory (e.g., Insight), a build directory (where
- the binaries and object files go), and choose the compiler. The GUI allows
- you to choose build options and configure the build. Rerun CMake (by
- selecting "Configure") until all "red" entries disappear. Then select
- "Ok". This will produce a compiler workspace in the directory that you
- selected.
-
- On Unix, run "ccmake". This simple, curses-based GUI to CMake allows
- you to configure the build process. First create a build directory
- in which to generate object code and executables. Cd into this
- directory and specify your C and C++ compilers with the environment
- variables CC and CXX.
-
-
- Depending on the shell that you use, this will be done with the
- command:
-
- setenv CC your-c-compiler
- setenv CXX your-c++-compiler
-
- or with the command
-
- export CC=your-c-compiler
- export CXX=your-c-compiler
-
- Next invoke "ccmake ../Insight" assuming that your build
- directory is a sibling directory to Insight/. While running
- ccmake, changes are made using the arrow keys to move over an
- option, and the "Enter" key to edit it. Type "C" to configure
- the build. As long as "*" appear next to any entries, keep
- running CMake until none exist. Then type "G" to generate
- makefiles and exit. Then run "make" in the build directory.
-
- If you have difficulty with CMake, please refer to http://www.cmake.org
- for additional instructions. It is possible to obtain CVS access and
- compile CMake if absolutely necessary.
-
-
-3) Join the mailing list. Go to
- http://www.itk.org/mailman/listinfo/insight-users and follow the
- instructions there. You may choose to receive a digest version of the
- mail to minimize traffic.
-
-
-4) Learn the system. Start by looking at the examples found in the
- Insight/Examples directory. Note that this code is heavily
- commented and works with the ITK Software Guide (found at
- http://www.itk.org/ItkSoftwareGuide.pdf). (To build the examples,
- make sure the CMake flag "BUILD_EXAMPLES" is on.) You may also wish
- to peruse the many tests found in Insight/Testing/Code.
-
- If you would like to be more ambitious, a separate checkout of ITK
- applications is available. Please do not attempt this until ITK and
- its examples are building correctly (as described previously). The
- InsightApplications may be difficult to build because of their
- dependency on external packages like VTK, FLTK, and Qt.
-
- TO obtain the InsightApplications checkout via CVS:
-
- cvs -d :pserver:anonymous at www.itk.org:/cvsroot/InsightApplications co \
- -r Release-1-2 InsightApplications
-
-
-ITK resources are available at the following locations.
- + http://www.itk.org - main web page
- + http://www.itk.org/mailman/listinfo/insight-users - mailing list
- + Insight/README.html - in the source code distribution
- + Insight/Documentation/InsightStart.pdf - oriented towards developers
- but contains useful information about compiling and building ITK.
- + http://www.cmake.org - the CMake build environment
- + http://public.kitware.com/dashboard.php?name=itk - the ITK software
- quality dashboard
- + http://public.kitware.com/Dart - what manages the testing process in ITK
- + http://public.kitware.com/Cable - the automated C++ wrapping system
-
-
diff --git a/README.html b/README.html
deleted file mode 100644
index bc964ef..0000000
--- a/README.html
+++ /dev/null
@@ -1,320 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
- <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
- <title>ITK README File - Overview and further information</title>
-</head>
-<body>
-<table cellpadding="2" cellspacing="1" border="0" width="100%">
- <tbody>
- <tr valign="Top">
- <td align="Center">
- <h1>
- <a href="http://www.itk.org">
- <img src="./Documentation/Art/itkLogoMediumTransparentBackground.gif"
- alt="ITK Logo" width="200" height="128" align="Top" border=0></a>
- </h1>
- </td>
- <td>
- <h1>An Introduction to the <br>
-Insight Segmentation & Registration Toolkit <br>
- </h1>
- <hr align="Left" width="100%" size="2"></td>
- </tr>
- </tbody>
-</table>
-<br>
-Welcome to the National Library of Medicine Insight Segmentation and Registration
-Toolkit (ITK).<br>
-<br>
-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. <br>
-<h2>Introduction</h2>
-<h3>What is <a href="http://www.itk.org">ITK</a>?</h3>
-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.<br>
-<br>
-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.<br>
-<br>
-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.<br>
-
-<h3>What are ITK's origins?</h3>
-
-In 1999 the US <a href="http://www.nlm.nih.gov/nlmhome.html">National Library
-of Medicine</a> of the National Institutes of Health awarded a three-year
-contract to develop an open-source registration and segmentation toolkit,
-which eventually came to be known as the Insight Toolkit (ITK). The primary
-purpose of the project is to support the <a
-href="http://www.nlm.nih.gov/research/visible/visible_human.html"> Visible
-Human Project</a> by providing software tools to process and work with the
-project data. ITK's NLM Project Manager was Dr. Terry Yoo, who coordinated
-the six prime contractors who made up the Insight Software Consortium. These
-consortium members included the three commercial partners GE Corporate
-R&D, Kitware, Inc., and MathSoft (the company name is now Insightful);
-and the three academic partners University of North Carolina (UNC),
-University of Tennessee (UT), and University of Pennsylvania (UPenn). The
-Principle Investigators for these partners were, respectively, Bill Lorensen
-at GE CRD, Will Schroeder at Kitware, Vikram Chalana at Insightful, Stephen
-Aylward with Luis Ibanez at UNC (Luis is now at Kitware), Ross Whitaker with
-Josh Cates at UT (both now at Utah), and Dimitri Metaxas at UPenn (now at
-Rutgers). In addition, several subcontractors rounded out the consortium
-including Peter Raitu at Brigham & Women's Hospital, Celina Imielinska
-and Pat Molholt at Columbia University, Jim Gee at UPenn's Grasp Lab, and
-George Stetton at University of Pittsburgh. <br>
-
-<h3> Who are the developers?</h3>
-The best way to determine the names of developers is to view the CVS
-source code repository logs. Most of the early developers are listed in
-the following, however, many developers beyond those listed here will
-participate in the development of Insight as the code grows and becomes
-publicly accessible.<br>
-<br>
-Some of the early developers include:<br>
-<ul>
- <li>Elsa Angelini - Columbia, segmentation algorithms</li>
- <li>Brian Avants - UPenn; FEM classes, registration algorithms</li>
- <li> Stephen Aylward - UNC; architecture, algorithms</li>
- <li>Dan Blezek - GE CRD; testing infrastructure</li>
- <li>Josh Cates - Utah; imaging classes and filters</li>
- <li>Ting Chen - UPenn, segmentation algorithms</li>
- <li>Jeffrey Duda - UPenn; FEM classes, registration algorithms</li>
- <li>James Gee - UPenn; FEM architecture, registration algorithms</li>
- <li>Bill Hoffman - Kitware; CMake (build process); vxl/vnl numerics;
- infrastructure (smart pointers, object factories,
- callback mechanism)</li>
- <li>Paul Hughett - UPenn; quality, algorithms</li>
- <li>Luis Ibanez - UNC (now Kitware); imaging classes and filters</li>
- <li>Celina Imielinska - Columbia, segmentation algorithms</li>
- <li>Yinpeng Jin - Columbia, segmentation algorithms</li>
- <li>Brad King - Kitware; Mesh class, autowrapping of C++ code</li>
- <li>Bill Lorensen - GE CRD; testing, requirements, architecture</li>
- <li>Ken Martin - Kitware; Build process, architecture,
- infrastructure</li>
- <li>Dimitris Metaxas - UPenn, segmentation algorithms</li>
- <li>Jim Miller - GE CRD; Image classes, iterators, pipeline update
- mechanism</li>
- <li>Lydia Ng - Mathsoft (now Insightful); Image filters,
- clustering/segementation algorithms</li>
- <li>Aljaz Noe - UPenn; FEM classes</li>
- <li>Sayan Pathak – MathSoft (now Insightful); image
- clustering/segementation algorithms</li>
- <li>Will Schroeder - Kitware; architecture, Mesh classes, documentation,
- algorithms, core classes</li>
- <li>Marcelo Siqueira - UPenn; FEM classes</li>
- <li>George Stetton - Pittsburgh; image filters, algorithms</li>
- <li>Tessa Sundaram - UPenn; FEM classes, registration algorithms</li>
- <li>Jayaram Udupa - Upenn, segmentation algorithms</li>
- <li>Ross Whitaker - Utah; architecture, algorithms</li>
- <li>Ying Zhuge - UPenn, segmentation algorithms</li>
-</ul>
-
-<h3>How do I participate?</h3>
-Because ITK is an open-source system, you can participate. If you'd like
-to become involved, here are the following steps that you might consider.
-<br>
-<ol>
- <li>Read this document and the
- <a href="http://www.itk.org/ItkSoftwareGuide.pdf">
- <i>ITK Software Guide</i></a>. (The book is also available for purchase from
- <a href="http://www.kitware.com/products/index.html">
- Kitware's estore</a>.)</li>
- <li> Obtain access to the CVS repository (read-only, anonymous access),
-and obtain the distribution using the following procedure (see instructions
-in For More Information at the end of document).</li>
- <li>Find the Insight/Documents/InsightStart.doc and read it thoroughly.</li>
- <li>As this document suggests, join the insight-developers list.</li>
- <li>Contribute code or fix bugs by mailing code to the list or contacting
-a developer directly.</li>
- <li>Once you demonstrate your abilities, obtain read-write access to
- the CVS repository. Access can be obtained by following the procedure
- described in the Insight/Documents/InsightDeveloperStart.pdf file.</li>
-</ol>
-
-<h3>What are the terms of use?</h3>
-The ITK copyright is held by the Insight Software Consortium. This non-profit
-entity promotes the use of ITK for educational and research purposes. The
-<a href="http://www.itk.org/HTML/Copyright.htm">copyright</a> enables both
-commercial and non-commercial usage. There is a patented code found in the
-Insight/Code/Patented directory. If you use any of these code in commercial
-application, you must contact the patent holder to obtain permission.<br>
-
-<h2>TECHNICAL SUMMARY</h2>
-The following sections summarize the technical features of the NLM's Insight
-ITK toolkit.
-<h3>Design Philosophy</h3>
-The following are key features of the toolkit design philosophy.<br>
-<br>
-<ul>
- <li>The toolkit provides data representation and algorithms for performing
-segmentation and registration. The focus is on medical applications; although
-the toolkit is capable of processing other data types.<br>
- </li>
- <li>The toolkit provides data representations in general form for images
-(arbitrary dimension) and (unstructured) meshes.<br>
- </li>
- <li>The toolkit does not address visualization or graphical user interface.
-These are left to other toolkits (such as
-<a href="http://www.vtk.org">VTK</a>,
-<a href="http://rolle.engr.utk.edu/~vision/vispack/">VisPack</a>,
-<a href="http://mipgsun.mipg.upenn.edu/~Vnews/">3DViewnix</a>,
-<a href="http://caddlab.rad.unc.edu/technologies/index.html#metaObjects">
-MetaImage</a>, etc.)
- </li>
- <li> The toolkit provides minimal tools for file interface. Again, this
-is left to other toolkits/libraries to provide. </li>
- <li>Multi-threaded (shared memory) parallel processing is supported. </li>
-
- <li>The development of the toolkit is based on principles of extreme
-programming. That is, design, implementation, and testing is performed in a
-rapid, iterative process. Testing forms the core of this process. In Insight,
-testing is performed continuously as files are checked in, and every night
-across multiple platforms and compilers. The
-<a href="http://public.kitware.com/dashboard.php?name=itk">Insight testing
-dashboard</a>, where testing results are posted, is central to this
-process.</li>
-
-</ul>
-<h3>Architecture </h3>
-The following are key features of the toolkit architecture.
-<ul>
- <li>The toolkit is organized around a data-flow architecture. That is,
-data is represented using data objects which are in turn processed by process
-objects (filters). Data objects and process objects are connected together
-into pipelines. Pipelines are capable of processing the data in pieces according
-to a user-specified memory limit set on the pipeline.</li>
- <li>Object factories are used to instantiate objects. Factories allow run-time
-extension of the system. </li>
-</ul>
-<h3>Implementation Philosophy</h3>
-The following are key features of the toolkit implementation philosophy.<br>
-<ul>
- <li>The toolkit is implemented using generic programming principles. Such
-heavily templated C++ code challenges many compilers; hence development was
-carried out with the latest versions of the MSVC, Sun, gcc, Intel,
-and SGI compilers.</li>
- <li>The toolkit is cross-platform (Unix, Windows and MacOSX).</li>
- <li> The toolkit supports multiple language bindings, including such
- languages as Tcl, Python, and Java. These bindings are generated
- automatically using an auto-wrap process.
- <a href="http://www.itk.org/HTML/CableSwig.html">CableSwig</a> is the tool
- we use for wrapping the code.</li>
- <li> The memory model depends on "smart pointers" that maintain a reference
- count to objects. Smart pointers can be allocated on the stack, and when
- scope is exited, the smart pointers disappear and decrement their reference
- count to the object that they refer to. </li>
- <li>The Command/Observer design pattern is used for invoking and processing
- events.</li>
-</ul>
-<h3>Build Environment</h3>
-Insight uses the
-<a href="http://www.cmake.org">CMake</a>
-(cross-platform make) build environment. CMake uses
-configure and make on Unix and generates projects and workspaces in the windows
-environment.<br>
-<h3>Testing Environment</h3>
-Insight supports an extensive testing environment. The code is tested daily
-(and even continuously) on many hardware/operating system/compiler
-combinations and the results are posted daily on the
-<a href="http://public.kitware.com/dashboard.php?name=itk">Insight testing
-dashboard</a>. We use
-<a href="http://public.kitware.com/Dart/">Dart</a> to manage the testing
-process, and to post the results to the dashboard.
-<br>
-<h3>Background References </h3>
-<h4>C++ Patterns and Generics</h4>
-Insight uses many advanced design patterns and generic programming. You may find these references useful in understanding the design and syntax of Insight.
-<ul>
-<li><b>Design Patterns.</b> by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Grady Booch </li>
-<li><b>Generic Programming and the Stl : Using and Extending the C++ Standard Template Library</b> (Addison-Wesley Professional Computing Series)
-by Matthew H. Austern </li>
-<li><b>Advanced C++ Programming Styles and Idioms</b> by James O. Coplien</li>
-<li><b>C/C++ Users Journal</b></li>
-<li><b>C++ Report</b></li>
-</ul>
-
-
-<h2>ADDITIONAL INFORMATION</h2>
- <h3>Resources</h3>
- A number of resources are available to learn more about ITK.
- <ul>
- <li>The ITK web pages are located
- <a href="http://www.itk.org">http://www.itk.org</a>.</li>
- <li>The definitive guide to ITK is available from
- <a href="http://www.itk.org/ItkSoftwareGuide.pdf">
- <i>ITK Software Guide</i></a>. (The book is also available for
- purchase from <a href="http://www.kitware.com/products/index.html">
- Kitware's estore</a>.)</li>
- <li>Users of the toolkit should look in the file
- <a href="GettingStarted.txt">GettingStarted.txt</a>. This file contains
- information on how to obtain ITK and the basics of compilation and
- otherwise managing the software.</li>
- <li>Developers, or users interested in learning more, should look in the
- document <a href="Documentation/InsightStart.pdf">InsightStart.pdf</a> or
- InsightStart.doc found in the Insight/Documentation directory.</li>
- <li>Developers should also look at the ITK style guide
- <a href="Documentation/Style.pdf">Style.pdf</a>.</li>
- </ul>
-
- <h3>Examples</h3>
- A great way to learn about ITK is to see how it is used. There are three
- places to find examples.
- <ol>
- <li>The <a href="Examples/">Insight/Examples</a> distributed with ITK.
- The source code is available. The examples are used in the <i>ITK
- Software Guide</i> mentioned previously.</li>
- <li>The <a href="http://www.itk.org/HTML/Examples.htm">Examples web pages</a>.
- These are extensive descriptions, with images and references, of the
- examples found in #1 above.</li>
- <li>The <a href="Testing/Code/">Testing directories</a> distributed with
- ITK are simple, mainly undocumented examples of how to use the code.</li>
- </ol>
-
- <h3>Data</h3>
- <ul>
- <li>Data is available via anonymous ftp from:
- <a href="ftp://public.kitware.com/pub/itk/Data/">
- ftp://public.kitware.com/pub/itk/Data/</a>.</li>
- <li>See also the
- <a href="http://www.itk.org/HTML/Data.htm">ITK Data web page</a>.</li>
- </ul>
-
- <h3>Contacts</h3>
- <ul>
- <li>Terry Yoo (NLM/NIH Insight Project Manager yoo at fluorite.nlm.nih.gov)</li>
- <li>Bill Lorensen (PI GE CRD lorensen at crd.ge.com)</li>
- <li>Will Schroeder (PI Kitware, Inc. will.schroeder at kitware.com)</li>
- <li>Stephen Aylward (PI UNC aylward at unc.edu).</li>
- <li>Ross Whitaker (PI Utah whitaker at cs.utah.edu)</li>
- <li>Lydia Ng (PI Insightful lng at insightful.com)</li>
- <li>Dimitri Metaxas (PI Rutgers dnm at cs.rutgers.edu) </li>
- </ul>
- <br>
- <br>
- <br>
- <br>
- <br>
- <h3></h3>
- <h3> </h3>
- <br>
- </body>
- </html>
diff --git a/README.txt b/README.txt
new file mode 100644
index 0000000..f7b2981
--- /dev/null
+++ b/README.txt
@@ -0,0 +1,36 @@
+ITK: The Insight Toolkit for Segmentation and Registration
+
+
+Links
+-----
+
+* Homepage: http://www.itk.org
+* Download: http://www.itk.org/ITK/resources/software.html
+* Mailing List: http://www.itk.org/mailman/listinfo/insight-users
+* Book: http://www.itk.org/ITK/help/book.html
+* Help: http://www.itk.org/ITK/help/help.html
+
+
+About
+-----
+
+ITK is an open-source, cross-platform C++ toolkit for segmentation and
+registration. 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.
+
+The toolkit may be built from source using CMake (http://www.cmake.org).
+
+
+Copyright
+---------
+
+The Insight Software Consortium (http://www.insightsoftwareconsortium.org)
+holds the copyright of this software. This is a non-profit entity that
+promotes the use of ITK for educational and research purposes. ITK is
+distributed under a license that enables use for both non-commercial and
+commercial applications. See Copyright.txt for details.
--
1.7.1
More information about the Insight-developers
mailing list