[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 &amp; 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&amp;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 &amp; 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 &ndash; 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),&nbsp;
-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