<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi Gang-<div><br></div><div>Sorry to do this again-</div><div><br></div><div>For ROIs, see</div><div><br></div><div><a href="http://www.openmicroscopy.org/Schemas/ROI/2011-06/ROI.xsd">http://www.openmicroscopy.org/Schemas/ROI/2011-06/ROI.xsd</a></div><div><br></div><div>or a more readable version is at:</div><div><br></div><div><a href="http://git.openmicroscopy.org/src/develop/components/specification/Documentation/Generated/OME-2011-06/ome.html">http://git.openmicroscopy.org/src/develop/components/specification/Documentation/Generated/OME-2011-06/ome.html</a></div><div><br></div><div>(you'll have to scroll down a ways to the ROI schema).</div><div><br></div><div>&nbsp;If we want to achieve the interoperability that we often discuss, defining a single model for ROIs would help. &nbsp;Tell us what you don't like and we'll work on it. &nbsp;If you want to reject this, that's fine, and really not a problem. &nbsp;If you can't map what we have to imglib2, then we need to scratch our heads and figure out how we might make that work. &nbsp; There is no pretense that our existing model is perfect. &nbsp;If you tell us what's broken, we'll work hard to fix it.&nbsp;</div><div><br></div><div>If you come up with a new ROI model, let us know, and we'll do the translation work (more work for the Bio-Formats developers, known to you as Melissa and Curtis). &nbsp;Of course, if we all used the same one, or even worked to make the translation easy, wouldn't that be great?!?!?!</div><div><br></div><div>Cheers,</div><div><br></div><div>Jason</div><div><br></div><div><br><div><div>On 21 Jun 2011, at 19:17, Lee Kamentsky wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>Thanks Tobias,<br>I ended up not using the KD tree for my composite ROI, but I wrote a hyperrectangle search class, net.imglib2.algorithm.kdtree.VolumetricSearch, anyway. I'm looking at net.imglib2.collection.KDTree and the searches in net.imglib2.neighborsearch and I can see those are better places for it now. I'll see if I can find some time to reimplement it there.<br><br>But, the one in algorithms works - it's pretty cool to have a database of N-dimensional intervals that you can search in log time.<br><br>--Lee<br><br>On 6/21/2011 1:21 PM, Tobias Pietzsch wrote:<br><blockquote type="cite">On 06/10/2011 03:33 PM, Lee Kamentsky wrote:<br></blockquote><blockquote type="cite"><blockquote type="cite">Hi all, esp Dscho &amp; Stephan P. I'm thinking of doing a composite region<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">of interest which would be a collection any other kinds of region of<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">interest. I'm thinking that the most efficient way to do this is to use<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">a K-D tree to store references to the sub-ROIs: Wikipedia says that you<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">can search for hyper-rectangles (the bounds of the ROIs) by storing the<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">minimum and maximum extents as a 2N-d object in the hyperplane and then<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">the search for rectangles containing a point becomes a range search in<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">the 2N-d space for all points on one side of a hyperplane.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">So 2 questions:<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">1) Could I add a leaf that holds onto a real interval,<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">"RealntervalLeaf&lt;I extends RealInterval&gt;", a search method that returns<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">all points on one side of a hyperplane (T point, Node&lt;T&gt; node, bool []<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">above = false to retrieve nodes less than point in the given dimension,<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">true to retrieve nodes greater than point in the given dimension) and<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">some wrapper class that purports to be a database of "I extends<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">RealInterval" with a simple interface for retrieving all RealIntervals<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">containing a point?<br></blockquote></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Hi Lee,<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">I'm a bit out of the loop right now, just getting back into imglib development. I don't know if this has been discussed in the Skype channel or something, but...<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Did you consider using the new KDTree implementation in imglib2 core, instead of the net.imglib2.algorithm.kdtree?<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">The new KDTree does not require it's T to be a Leaf&lt; T &gt;<br></blockquote><blockquote type="cite">and there are implementations of the net.imglib2.neighborsearch.*NeighborSearch&lt; T &gt; interfaces.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">It uses exact median-finding algorithm for constructing the tree<br></blockquote><blockquote type="cite">(instead of the approximate one in net.imglib2.algorithm.kdtree).<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">It is also faster, if I remember correctly.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">best regards,<br></blockquote><blockquote type="cite">Tobias<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">2) imglib2-algorithms is really useful. There are going to be other<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">cases where imglib2 or other components would like to use algorithms to<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">construct things like NativeImg and RegionOfInterest. How do we manage<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">this? It sure would be nice if imglib2 and imglib2-algorithms were<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">interdependent. If we're not going to allow that, I'll probably<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">implement the composite ROI in imglib2-algorithms and I'll wait until<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">imglib2-algorithms to be completed before I use composite ROIs in ImageJ<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">2.0.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">I'm probably going to do the first for the fun of it, the legacy ROI<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">code will need it, need a break from the GUI stuff and this will be<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">refreshing. Tell me what you all think.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">--Lee<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">_______________________________________________<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">ImageJ-devel mailing list<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><a href="mailto:ImageJ-devel@imagejdev.org">ImageJ-devel@imagejdev.org</a><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><a href="http://imagejdev.org/mailman/listinfo/imagej-devel">http://imagejdev.org/mailman/listinfo/imagej-devel</a><br></blockquote></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">_______________________________________________<br></blockquote><blockquote type="cite">ImageJ-devel mailing list<br></blockquote><blockquote type="cite"><a href="mailto:ImageJ-devel@imagejdev.org">ImageJ-devel@imagejdev.org</a><br></blockquote><blockquote type="cite"><a href="http://imagejdev.org/mailman/listinfo/imagej-devel">http://imagejdev.org/mailman/listinfo/imagej-devel</a><br></blockquote><br><br>_______________________________________________<br>ImageJ-devel mailing list<br><a href="mailto:ImageJ-devel@imagejdev.org">ImageJ-devel@imagejdev.org</a><br>http://imagejdev.org/mailman/listinfo/imagej-devel<br></div></blockquote></div><br><div>
<div style="font-family: Helvetica; font-size: 12px; "><br class="Apple-interchange-newline"><br class="khtml-block-placeholder"></div><div style="font-family: Helvetica; font-size: 12px; "><span class="Apple-style-span" style="font-family: Helvetica; ">**************************</span></div><div style="font-family: Helvetica; font-size: 12px; "><font class="Apple-style-span" face="Arial">Wellcome Trust Centre for Gene Regulation &amp; Expression</font></div><div style="font-family: Helvetica; font-size: 12px; "><font class="Apple-style-span" face="Arial">College of Life Sciences</font></div><div style="font-family: Helvetica; font-size: 12px; "><font class="Apple-style-span" face="Arial">MSI/WTB/JBC Complex</font></div><div style="font-family: Helvetica; font-size: 12px; "><span class="Apple-style-span" style="font-family: Helvetica; ">University of Dundee</span></div><div style="font-family: Helvetica; font-size: 12px; "><span class="Apple-style-span" style="font-family: Helvetica; ">Dow Street</span></div><div style="font-family: Helvetica; font-size: 12px; "><span class="Apple-style-span" style="font-family: Helvetica; ">Dundee&nbsp; DD1 5EH</span></div><div style="font-family: Helvetica; font-size: 12px; "><span class="Apple-style-span" style="font-family: Helvetica; ">United Kingdom</span></div><div style="font-family: Helvetica; font-size: 12px; "><br style="font-family: Helvetica; "></div><div style="font-family: Helvetica; font-size: 12px; "><span class="Apple-style-span" style="font-family: Helvetica; ">phone (01382) 385819</span></div><div style="font-family: Helvetica; font-size: 12px; "><span class="Apple-style-span" style="font-family: Helvetica; ">Intl phone:&nbsp; 44 1382 385819&nbsp;</span></div><div style="font-family: Helvetica; font-size: 12px; "><span class="Apple-style-span" style="font-family: Helvetica; ">FAX &nbsp; (01382) 388072&nbsp;</span></div><div style="font-family: Helvetica; font-size: 12px; "><span class="Apple-style-span" style="font-family: Helvetica; ">email: <a href="mailto:jason@lifesci.dundee.ac.uk">jason@lifesci.dundee.ac.uk</a></span></div><div style="font-family: Helvetica; font-size: 12px; "><br style="font-family: Helvetica; "></div><div style="font-family: Helvetica; font-size: 12px; "><span class="Apple-style-span" style="font-family: Helvetica; ">Lab Page: <a href="http://gre.lifesci.dundee.ac.uk/staff/jason_swedlow.html">http://gre.lifesci.dundee.ac.uk/staff/jason_swedlow.html</a></span></div><div style="font-family: Helvetica; font-size: 12px; "><span class="Apple-style-span" style="font-family: Helvetica; ">Open Microscopy Environment: <a href="http://openmicroscopy.org">http://openmicroscopy.org</a></span></div><div style="font-family: Helvetica; font-size: 12px; "><span class="Apple-style-span" style="font-family: Helvetica; ">**************************</span></div><div style="font-family: Helvetica; font-size: 12px; "><br class="webkit-block-placeholder"></div><div style="font-family: Helvetica; font-size: 12px; "><div>The University of Dundee is a Scottish Registered Charity, No. SC015096.</div></div><span class="Apple-style-span" style="font-size: 12px; "><br class="Apple-interchange-newline"></span><br class="Apple-interchange-newline">
</div>
<br></div></body></html>