<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hello,<div><br></div><div>I have encountered problems because the ConditionalInterators are returning by reference and not value. Specifically, the following function signature is problematic for VectorImages:</div><div><br></div><div>const PixelType &amp; Get(void) const;</div><div><br></div><div><br></div><div>This signature is different then the more commonly used ImageRegion iterators or NeighborhoodIterator. Where it is simply:</div><div><br></div><div>PixelType Get() const;</div><div><br></div><div>As the later types of iterators are the most commonly used, and I presume they appear to have quite a reasonable performance characteristics, I believe that is the way to go to make all the iterator interfaces more uniform.</div><div><br></div><div>Additionally, the return by reference is not compatible with the VectorImage's VariableLengthVector which is used through out SimpleITK. Specifically I am currently in the progress of getting the VectorConfidenceConnectedImageFilter to work with VectorImages.</div><div><br></div><div>I am e-mailing the developers list to see if any one is aware of the history of why these iterators have diverged. Or are there other specific concerns.</div><div><br></div><div>There is a surprisingly simple patch for this issue in gerrit:</div><div><a href="http://review.source.kitware.com/#/c/5295/1">http://review.source.kitware.com/#/c/5295/1</a></div><div><br></div><div>Thanks,</div><div>Brad</div><div><br><div>
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; font-size: 12px; "><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font face="Helvetica" size="3" style="font: normal normal normal 12px/normal Helvetica; ">========================================================</font></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font face="Helvetica" size="3" style="font: normal normal normal 12px/normal Helvetica; ">Bradley Lowekamp<span class="Apple-converted-space">&nbsp;</span><span class="Apple-converted-space">&nbsp;</span></font></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font face="Helvetica" size="3" style="font: normal normal normal 12px/normal Helvetica; ">Medical Science and Computing for</font></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font face="Helvetica" size="3" style="font: normal normal normal 12px/normal Helvetica; ">Office of High Performance Computing and Communications</font></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font face="Helvetica" size="3" style="font: normal normal normal 12px/normal Helvetica; ">National Library of Medicine<span class="Apple-converted-space">&nbsp;</span></font></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font face="Helvetica" size="3" style="font: normal normal normal 12px/normal Helvetica; "><a href="mailto:blowekamp@mail.nih.gov">blowekamp@mail.nih.gov</a></font></p><br class="Apple-interchange-newline"></div><br class="Apple-interchange-newline">
</div>
<br></div></body></html>