[Insight-users] Filter re-use problems
Zachary Pincus
zpincus at stanford.edu
Mon Feb 7 17:23:01 EST 2005
Karthik (and Luis),
I really appreciate your time! I managed not to realize that I had set
up a recursive pipeline... Thanks for the information -- that fixed
everything.
Zach
On Feb 7, 2005, at 12:45 PM, Karthik Krishnan wrote:
> Hi Zach,
>
> Sorry about the confusion. After some "lessons" from Master Luis, here
> is what is happening,
>
> You cannot connect the output of a filter to the filter's input and
> use it iteratively without disconnecting the pipeline. So after the
> first iteration, use
> mask->DisconnectPipeline();
> as in
> Loop()
> {
> filter->SetInput( input );
> filter->Update();
> output = filter->GetOutput();
> output->DisconnectPipeline();
> input = output;
> }
>
> See any one of the iterative filters, for example
> Code/BasicFilters/itkVotingBinaryIterativeHoleFillingImageFilter.txx
>
> Does this help ?
>
> Pipelines in ITK:
> See
> http://public.kitware.com/pipermail/insight-users/2004-January/
> 006293.html
> or chapter 13 of the Guide.
>
> Thanks
> kk
>
>
> Zachary Pincus wrote:
>
>> Karthik,
>>
>> Thanks for your email. Unfortunately, calling
>> mask->UpdateLargestPossibleRegion(); gives a compile-time error: mask
>> is an Image::Pointer, and there doesn't seem to be such a method for
>> Images.
>>
>> If I instead call m_Resampler->UpdateLargestPossibleRegion(); before
>> or after calling m_Resampler->SetInput(mask);, still nothing happens.
>>
>> You are, however, correct in your guess that the size of the input
>> changes: there is no resolution change, but the input image is
>> rotated, changing the size. However, between the iterations (e.g.
>> calling function 1 and 2 on image A, and then on image B, the size of
>> the input image also changes... but that works fine.) I guess that I
>> basically still don't understand the pipeline mechanism and how it
>> caches the region information -- I figured that when a new input was
>> set, everything should be recomputed -- right?
>>
>> Thanks for all your time on this,
>>
>> Zach Pincus
>>
>>
>> On Feb 6, 2005, at 12:04 AM, Karthik Krishnan wrote:
>>
>>> Hi Zach,
>>>
>>> Sorry about the earlier mail.
>>>
>>> Please use
>>> mask->UpdateLargestPossibleRegion() instead of Update();
>>>
>>> I am guessing that the size of the input to the resampler in the
>>> second function changes because the resampler in the first function
>>> is changing the resolution.
>>>
>>> Does this help ?
>>>
>>> Thanks
>>> kk
>>
>>
>>
>>
>
>
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users
>
More information about the Insight-users
mailing list