[Insight-developers] Developer's Guide - Write A Filter
Luis Ibanez
ibanez@choroid.cs.unc.edu
Sat, 29 Sep 2001 07:43:34 -0400 (EDT)
Will,
Here are some comments/questions about the Write A Filter document.
Content:
0) It is really nice to see all these concept together !!,
The initial section on "terminology" helps a lot.
1) In "overview of filter creation" it says that GenerateData()
has to allocate memory for the output, while ThreadedGenerateData()
should not. Is that right ?
I thought that the streaming mechanism was doing the allocations
before calling GenerateData()... (I'm not allocating memory in
most of the filters...maybe we just found a bug :-) )
2) I added some figures from a tutorial we have here, they illustrate
the pipeline connections (ProcesObject/DataObject), and a UML
sequence diagram of the updating mechanism. The original figures
were done with xfig, and exported as eps.
Probably we will have to modify these figures to better fit the
text.
3) I would like to add some UML class diagrams to make clearer what
the options are when selecting the base class for a filter. This
is discussed in "Overview of Filter creation". In particular
showing the method that the developer will have to override.
4) A UML sequence diagram could also be helpful for describing the
update negotiation at the DataObject level.
5) It could probably be good to add a table (or some kind of symbol
in the text) to indicate what methods are expected to be overrided
by the user and what methods are provided by the system.
The discussion on the updating mechanism is nicely detailed, but
I guess that the developer reading it will have in mind the
question: "what do I have to rewrite ?"
6) It was great to add the description of the relation between
Multithreading and the Events. I finally understood why the
multithreaded filters are keeping track of the thread id
before invoking events.
7) A description of the Command/Observers/Event mechanism seem
to be necesary. Would you prefer to make of this a separte
chapter ?
We have a couple of diagrams on this too.
Document style:
1) The formating is now using the InsightDocument style, and we have
the decoration lines from fancyhdr.sty :)
2) fancyhdr.sty and floatflt.sty were checked in under
InsightDocumens/Latex
3) would you like to use a different font (maybe courier) for class
names and method names cited in the text ?
we have some macros that can facilitate that.
4) we are including the itk logo in each documen, so the itkLogo.jpg
file is repeated in different directories. Should we arrange a
central directory for graphic files ? like is done in
Insight/Documentation/Art ?
Thanks
Luis
----------------------
On Thu, 27 Sep 2001, Will Schroeder wrote:
> Hi Folks-
>
> As promised, I've added a chapter to the Developer's Guide (in InsightDocuments/User/DeveloperGuide) explaining how to write a filter (with an emphasis on data streaming). For those confused about streaming, please read this. It's rough, I plan on adding some more examples, reorganizing, etc. but for now I think it will help.
>
> There is both the original LaTeX and a pdf file. I used vanilla LaTeX, I couldn't get the InsightDocuments/Latex style files going because there are some missing files...I'm tracking them down.
>
> Will
>
> _______________________________________________
> Insight-developers mailing list
> Insight-developers@public.kitware.com
> http://public.kitware.com/mailman/listinfo/insight-developers
>
--
Luis Ibanez CB#: 7060
Research Assistan Professor phone: (919) 843 5436
Division of Neurosurgery fax: (919) 966 6627
University of North Carolina at Chapel Hill email: ibanez@cs.unc.edu
Chapel Hill, NC 27599-7060 http://www.cs.unc.edu/~ibanez