<br><br><div class="gmail_quote">On Thu, Jul 26, 2012 at 12:50 PM, Tobias Pietzsch <span dir="ltr"><<a href="mailto:pietzsch@mpi-cbg.de" target="_blank">pietzsch@mpi-cbg.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi,<br>
<br>
>>> 2.) Neighborhood interface<div class="im"><br>
> setSpan(long[] span);<br>
> span(long[] span);<br>
> copyOn(RandomAccessible<T> target)<br>
<br></div>
I think, the "span" concept is too specialised for the interface.<br></blockquote><div><br>Right: for instance, it does not work with the HyperSphere which requires a scalar long radius.<br> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

The assumption is that the bounding box of the neighborhood structuring element is 2*span[d]+1 in every dimension. The anchor point is assumed to be the center of this neighborhood.<br>
<br>
We should think of non-symmetric neighborhoods as well.<br>
I suggest that instead of a long[] span, we use an Interval to specify the bounding box. The anchor point is always the (0,0,...,0) of the interval. The above span would translate to interval.min[d] = -span[d], interval.max[] = span[d].<br>

<br>
What would setSpan() do? Does this change the size and shape of the structuring element?<div class="im"><br></div></blockquote><div>Just the global size, the actual meaning should be let to concrete implementation. <br>But as you noted, it is too specific for the interface, until we come with an idea that would enable to specify the dimension of a generic neighborhood....<br>
<br> </div></div><br>