[Insight-users] Application walk through

Neil Killeen Neil.Killeen@atnf.csiro.au
Thu, 9 Jan 2003 17:04:50 +1100 (EST)


Luis

I forgot to ask one more thing (really !) about pipelines...

>  You said:
>
> Image are not actually passed from one filter to another.
>
> in
>
> A  --->  B ---- > C
>
> the output image of filter A stays with A.
> B "read" this image and use the data to compute
> the values it puts in its own output image.
> B's output image is an entity completly independent
> of A's output image.  Then C reads B's output image
> and use the data to compute the values of C's
> outtput image.
>
>


my understanding og such piplines is that if we have done

f1->SetInput(f0->GetOutput())
f2->SetInput(f1->GetOutput())
f3->SetInput(f2->GetOutput())

then we can call

f3->Update()

to initiate the whole thing.  This will ultimately cause
f0 to update itself (perhaps its an ImageFileReader).

Now, how are these connections made ?   You have indicated
that when each filter passes an image to the next filter,
the image is copied by SetInput; there is no shared
structure.

But somehow you must tell each successive filter
which filter has passed it input, so that that filter
may in turn be updated as needed.

Since the only thing that is passed in is the Image container, does it
contain a pointer to the filter that created it which is
fished out by the SetInput method or summfink....


cheers
Neil