[Insight-developers] ConditionalConstIterator Error?
John M. Galeotti
jgaleotti@cmu.edu
Wed, 16 Apr 2003 04:20:29 -0400
If I derive from ImageConstIterator, then I am forced to have a
SetIndex method, which is ill-defined since multiple locations on a
path can map to the same image index, and many image indices will not
map to any point on a path.
So, should I try to descend from ImageConstIterator,
ConditionalConstIterator, or nothing at all?
John
On Tuesday, April 15, 2003, at 10:08 PM, Luis Ibanez wrote:
>
> Hi John,
>
>
> It is not a problem that the path does not cover all
> the image. In fact, most iterator don't cove the full
> image since they are conditioned to walk over a region.
>
> You can safely derive your new iterator from the
> ImageConstIterator (or the ImageConstIteratorWithIndex).
>
> There is no advantage in deriving from the
> ConditionalConstIterator. As a matter of fact you just
> encountered that the conditional iterator has additional
> functionality that is not needed in your path iterator.
>
>
> Please note also that Josh recently added a chapter on
> iterators to the SoftwareGuide.pdf.
>
> Hope that helps
>
>
> Luis
>
>
> --------------------------------------
> John M. Galeotti wrote:
>> Hello, I am working on an iterator to walk through an image following
>> any type of path. Since most paths will not cover all image indices,
>> it would be logical for this iterator to descend from
>> ConditionalConstIterator, but there is one small problem.
>> ConditionalConstIterator includes the pure virtual function
>> IsPixelIncluded(), which would be almost useless and prohibitively
>> expensive to calculate for some types of paths (paths are almost
>> always traveled linearly), and so I really do not want to implement
>> the exhaustive search required for it. The documentation in
>> ConditionalConstIterator states that this function is used to
>> "Compute whether the index of interest should be included in the
>> flood." Therefore, it seems that this pure virtual function should
>> be introduced into the ITK class hierarchy in its child
>> FloodFilledFunctionConditionalConstIterator, not in
>> ConditionalConstIterator. A quick look at the
>> ConditionalConstIterator inheritance diagram seems to indicate that
>> this would not be a problem, and
>> FloodFilledFunctionConditionalConstIterator.h would not even have to
>> be modified.
>> Could someone please remove the IsPixelIncluded() function from
>> ConditionalConstIterator.h?
>> Thank you,
>> John Galeotti
>> jgaleotti@cmu.edu
>> _______________________________________________
>> Insight-developers mailing list
>> Insight-developers@public.kitware.com
>> http://public.kitware.com/mailman/listinfo/insight-developers
>
>
>
> _______________________________________________
> Insight-developers mailing list
> Insight-developers@public.kitware.com
> http://public.kitware.com/mailman/listinfo/insight-developers