<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2800.1276" name=GENERATOR></HEAD>
<BODY>
<DIV><SPAN class=957172814-09032004><FONT size=2>I just saw the vtkAlgorithm
classes in the respository. I have a suggestion. I noticed the "inputs"
and "outputs" are indexed based (inputs are specified via a numeric id). I
think implementing subclasses of Algorithm will be cleaner if the inputs and
outputs are specified via strings. The developer can indicate whatever
string names they want to associate with their inputs and outputs. If none
are specified, a default like "Input0" could be used.</FONT></SPAN></DIV>
<DIV><SPAN class=957172814-09032004><FONT size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=957172814-09032004><FONT size=2>The code may look
like:</FONT></SPAN></DIV>
<DIV><SPAN class=957172814-09032004><FONT size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=957172814-09032004><FONT
size=2>someAlgorithm->SetInputConnection("gradient",
someOtherAlgorithm->GetOutputConnection("gradient"));</FONT></SPAN></DIV>
<DIV><SPAN class=957172814-09032004><FONT size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=957172814-09032004><FONT size=2>or something like
that.</FONT></SPAN></DIV>
<DIV><SPAN class=957172814-09032004><FONT size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=957172814-09032004><FONT size=2>When you have algorithm classes
that have a number of inputs and outputs in becomes a nuisance to remember
mapping from integer index to contextual meaning for the
input/output.</FONT></SPAN></DIV>
<DIV><SPAN class=957172814-09032004><FONT size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=957172814-09032004><FONT size=2>I had played around with this
in ITK and generally liked the feeling. Instead of storing inputs and
outputs in vectors, they were stored in maps (string->DataObject). For
scheduling reasons, I didn't get a chance to put this into ITK. But I am
starting to put in DataObject wrappers around standard scalars so that algorithm
parameters (say a threshold) can themselves be a DataObject. In the few
algorithms I have tried this on, you can up with more inputs and outputs than
you can remember the numeric id for.</FONT></SPAN></DIV>
<DIV><SPAN class=957172814-09032004><FONT size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=957172814-09032004><FONT size=2></FONT></SPAN> </DIV>
<DIV>
<P style="MARGIN: 0in 0in 0pt"><B><SPAN
style="COLOR: navy; FONT-FAMILY: 'Comic Sans MS'">Jim Miller</SPAN></B>
<BR><B><I><SPAN
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Arial">_____________________________________</SPAN></I></B><BR><EM><SPAN
style="FONT-SIZE: 7.5pt; COLOR: black; FONT-FAMILY: Arial">Visualization &
Computer Vision</SPAN></EM><I><SPAN
style="FONT-SIZE: 7.5pt; COLOR: black; FONT-FAMILY: Arial"><BR><EM>GE
Research</EM><BR><EM>Bldg. KW, Room C218B</EM><BR><EM>P.O. Box 8, Schenectady NY
12301</EM><BR><BR></SPAN></I><EM><U><SPAN
style="FONT-SIZE: 7.5pt; COLOR: blue"><A
href="mailto:millerjv@research.ge.com">millerjv@research.ge.com</A></SPAN></U></EM></P>
<P style="MARGIN: 0in 0in 0pt"><EM><U><SPAN
style="FONT-SIZE: 7.5pt; COLOR: blue">james.miller@research.ge.com</SPAN></U></EM><BR><I><SPAN
style="FONT-SIZE: 7.5pt; COLOR: black; FONT-FAMILY: Arial">(518) 387-4005, Dial
Comm: 8*833-4005, </SPAN></I><BR><I><SPAN
style="FONT-SIZE: 7.5pt; COLOR: black; FONT-FAMILY: Arial">Cell: (518) 505-7065,
Fax: (518) 387-6981</SPAN></I> </P></DIV>
<DIV> </DIV></BODY></HTML>