<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> If we want to achieve the interoperability that we often discuss, defining a single model for ROIs would help. Tell us what you don't like and we'll work on it. If you want to reject this, that's fine, and really not a problem. 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. There is no pretense that our existing model is perfect. If you tell us what's broken, we'll work hard to fix it. </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). 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 & 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<I extends RealInterval>", 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<T> 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< T ><br></blockquote><blockquote type="cite">and there are implementations of the net.imglib2.neighborsearch.*NeighborSearch< T > 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 & 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 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: 44 1382 385819 </span></div><div style="font-family: Helvetica; font-size: 12px; "><span class="Apple-style-span" style="font-family: Helvetica; ">FAX (01382) 388072 </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>