[Insight-developers] Updates...

Will Schroeder will.schroeder at kitware.com
Fri Sep 1 13:48:32 EDT 2000


Hi Folks-

Talking with the other GE and Kitware folks we realized yesterday that 
there is a lot of basic architecture stuff going on in Insight and very little 
communication about exactly what. I suspect that this may be causing 
extra confusion and frustration to those people trying to use the system. 
So this is my attempt to capture the essence of what I believe to be 
happening from the architecture points of view. I've broken the 
email into three parts: past (What's Been Done), present (What's Being Done), 
and future (What's To Be Done).

What's Been Done 
---------------- 
* Basic infrastructure: CVS, web page, mailing list, etc.
* Basic code infrastructure like Object, TimeStamp, DataObject, 
   ProcessObject, ObjectFactory, Macro.h, style guidelines, requirements 
   document, etc.
* Representations: Mesh, various containers for points, cells, and pixel data 
   associated with these. Mesh boundary (e.g.,   GetCellBoundaryNeighbors). 
   Image, image iterators (mainly done).
* Skeleton testing examples.

What's Underway 
--------------- 
* Wrapper generators -> C++ to Tcl, Python, other interpreted languages
* Build process. What was there before was good, but Bill Hoffman and Ken 
   Martin have put their heads together and come up with several improvements.
   ...much simpler, cleaner, cross platform, generates makefiles and MicroSoft 
   workspaces, etc. (see Bill's email sent yesterday).
* Update mechanism. Now that the iterators are stabilizing, we can look at 
   creating and executing algorithms that process/stream the data in 
   pieces. We started with vtk as a system that works, but are reworking it to 
   fit in the compile-time generic programming environment. We are also 
   improving it based on previous experience.
* Full regression testing environment.

What's To Be Done (in the near future) 
-----------------
* Get a license/copyright on the code.
* Complete writing of algorithms like the RandomImageSource and ShrinkImage 
   to reflect the streaming architecture and provide an example.
* Write some Mesh algorithms (like a simple connectivity) to test Mesh data 
   structures.
* Implement geometrically-oriented Mesh methods like FindCell, FindPoint, and 
   conversion between parametric and world space.
* Implement additional cell types (in the context of the mesh) to support 
   things like digital curves, etc.

Our priorities are: getting the build process solid and getting the pipeline 
execution process down. I think once we do that, the algorithm folks can 
start going to town.

Will





More information about the Insight-developers mailing list