<!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>