[Insight-developers] Examples directory: strawman organization proposal
   
    Will Schroeder
     
    will.schroeder@kitware.com
       
    Tue, 17 Sep 2002 14:31:31 -0400
    
    
  
Hi Folks-
Luis and I have worked out a strawman proposal for the Examples directory. 
While we as a consortium have not worked out all the details on how to test 
the code in this directory, we do have a general idea of what it is 
supposed to do:
+ Provide simple, minimalist examples of important features of ITK and how 
to use them. The examples should have minimal dependencies on outside 
packages; and if they do, there should be CMake flags to turn them off.
+ Provide a consistent set of examples that will work in conjunctions with 
the ITK User's Guide
+ Provide a consistent set of examples that will work with ITK tutorials 
and courses
+ Make sure that the code is well documented, of consistent style, and 
always up-to-date with the current ITK code
(Please recall that we decided to make the Applications (the current 
examples) a separate checkout. They are too big and complex for teaching 
examples.)
Okay, with that behind us, here is what we are thinking:
Examples/ - is it Insight/Code/Examples or Insight/Examples (which is 
currently in place) ?
Examples/Installation - a very simple example to test compiling against the 
ITK libraries; configuring CMake
Examples/DataRepresentation - creating images and meshes;  basics of 
creating and executing the pipeline
Examples/Iterators - iterating over images and meshes
Examples/Infrastructure - events, observers, factories, smart pointers, 
namespaces, transforms, etc.
Examples/Numerics - working with VNL; a focus on interface with ITK classes
Examples/IO - the basics of reading/writing data
Examples/Filtering - examples of image processing and mesh filters
Examples/Segmentation - a suite of basic segmentation examples
Examples/Registration - a suite of basic registration methods
Examples/GUI - some outside package interface: wxWindows, Qt, FLTK, Tk, 
VTK. The absolute minimal interface.
Note: these subdirectories may have additional subdirectories according to 
language: Examples/IO/Cxx, Examples/IO/Tcl, Examples/IO/Python, etc.
Okay, what do you think? I'd like to finalize this at October's meeting.
Will