[Insight-users] Constructing circular pipeline?

Parag Chandra pchandra@radonc.unc.edu
Tue, 7 Jan 2003 15:21:19 -0500


This is a multi-part message in MIME format.

------=_NextPart_000_00B4_01C2B660.6DAD8840
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Hello all,

I have constructed most of the classes in my program as derivations of =
ProcessObject, and have strung them together successfully into a =
pipeline that forms 1 iteration of a processing loop I need to execute =
repeatedly. For every iteration except the first, the output of the last =
filter in the pipeline during iteration i becomes the input of the first =
filter in the pipeline during iteration i+1. I want to be able to =
construct a circular pipeline in such a way that it runs until a custom =
termination criterion is met (which may be as simple as 'run for 10 =
iterations'). Is it just as simple as tying together the last filter's =
output to the first filter's input? If the pipeline is automatically =
re-run every time any upstream DataObject gets ::Modified(), how would I =
prevent an endless loop? Would I be better off just manually calling =
Update() on each filter when I want it to run? And on a related note, =
how would I manage the memory of the inputs and outputs so that the =
intermediate results get freed and the filters don't keep creating tons =
of new DataObjects that are only going to get thrown away?=20

Thanks,
Parag Chandra
------=_NextPart_000_00B4_01C2B660.6DAD8840
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2800.1126" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>Hello all,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>I have constructed most of the classes =
in my=20
program as derivations of ProcessObject, and have strung them together=20
successfully into a pipeline that forms 1 iteration of&nbsp;a processing =
loop I=20
need to execute repeatedly. For every iteration except the first, the =
output of=20
the last filter in the pipeline during iteration i becomes the input of =
the=20
first filter in the pipeline during iteration i+1. I want to be able to=20
construct a circular pipeline in such a way that it runs until a custom=20
termination criterion is met (which may be as simple as 'run for 10=20
iterations'). Is it just as simple as tying together the last filter's =
output to=20
the first filter's input? If the pipeline is automatically re-run every =
time any=20
upstream DataObject gets ::Modified(),&nbsp;how would I prevent an =
endless loop?=20
Would I be better off just manually calling Update() on each filter when =
I want=20
it to run? And on a related note, how would I manage the memory of the =
inputs=20
and outputs so that the intermediate results get freed and the filters =
don't=20
keep creating tons of new DataObjects that are only going to get thrown =
away?=20
</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Thanks,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Parag =
Chandra</FONT></DIV></BODY></HTML>

------=_NextPart_000_00B4_01C2B660.6DAD8840--