[ome-devel] ROI storage with OME

josh.moore at gmx.de josh.moore at gmx.de
Thu Jun 11 11:05:23 BST 2009


Ooops, that's what I get for copy-n-pasting from a PDF. The SVG path
elements should have looked like this:

<path d="M x y h 2 l 1 1 v 2 l 1 1 v 1 h -1 l -1 -1 h -1 v -4 z" "style="..." /> 
<path d="M x y h 2 v 1 h 1 v 3 h1 v 1 h -1 v -1 h -2 v -4  z"    "style="..." /> 

All the crazy signs were just fancy quotes. My apologies,
~Josh.


josh.moore at gmx.de writes:
 > 
 > Hi Ghislain,
 > 
 > the data structure planned for Rois moving forward is based closely on
 > SVG, as pointed out by Melissa in her recent email. As you probably
 > know, SVG supports a generalized "path" concept:
 > 
 >   http://www.w3.org/TR/SVGTiny12/single-page.html#paths-PathData
 > 
 > Looking briefly, there is some literature comparing the two. For
 > example in:
 > 
 >   http://svg.dmi.unict.it/iplab/administrator/users/spie2005_2.pdf
 > 
 >         
 > CC4:  2 2 4 2 4 4 4 2 4 6 0 6 6 0 0 0 0 6 
 > <path d=$,1r}(BM x y h 2 v 1 h 1 v 3 h1 v 1 h -1 v -1 h -2 v -4  z$,1r}(B style=$,1r}(B...$,1r}(B /> 
 >         
 > CC8: 2 2 3 4 4 3 4 6 7 6 0 0 0 7 
 > <path d=$,1r}(BM x y h 2 l 1 1 v 2 l 1 1 v 1 h -1 l -1 -1 h -1 v -4 z $,1r|(Bstyle=$,1r}(B...$,1r}(B /> 
 >         
 > 
 > The SVG representation is certainly bit more verbose, but that was for
 > a shape without curves. Representations using bezier curves could
 > presumably be more compact (though less exact at the pixel level).
 > 
 > It would be interesting to hear if you think that SVG paths would
 > support your current work.
 > 
 > As for the "group of points" model, you may have to fill me in more on
 > exactly what you need. With paths, there's the possibility of
 > representing doughnuts. For example,
 > 
 > M 69.09375 0 C 30.946591 -4.7369516e-015 2.0995637e-013 20.013396 0
 > 44.65625 C 0 69.299106 30.946591 89.281253 69.09375 89.28125 C
 > 107.24091 89.28125 138.21874 69.299107 138.21875 44.65625 C 138.21875
 > 20.013394 107.24091 3.6849557e-013 69.09375 0 z M 60.90625 31.78125 C
 > 83.8734 31.781251 102.5 39.856781 102.5 49.8125 C 102.5 59.768218
 > 83.873401 67.84375 60.90625 67.84375 C 37.939097 67.843748 19.28125
 > 59.768219 19.28125 49.8125 C 19.281251 39.85678 37.939099 31.78125
 > 60.90625 31.78125 z 
 > 
 > is the doughnut available at:
 > 
 >   http://upload.wikimedia.org/wikipedia/en/1/1e/Purple_donut.svg
 > 
 > but I'm not sure that's what you're going for.
 > 
 > Cheers,
 > ~Josh.
 > 
 > Ghislain Bonamy writes:
 >  > ...
 >  > While playing with different storage format, it became evident that
 >  > storing the polygon as a chain code (along with the coordinate of
 >  > the first point) was extremely space efficient and probably just as
 >  > computing intensive to draw back the current system to store
 >  > polygons. Using the chain code vs. set of point is about 3-4 times
 >  > more efficient.
 >  > 
 >  > Because the volume of ROI outputted by High content imaging will
 >  > become extremely voluminous, I was thinking that perhaps adding to
 >  > OME an ROI model that stores polygon/polyline as a chain code would
 >  > be very useful.
 >  > 
 >  > Finally for more complex shapes, perhaps a "Group of Point" model
 >  > could also be implemented. This would be useful for complex shape
 >  > that can not readily be turned into a vector (such as a donut, or
 >  > other objects with a hole in them).
 >  > 
 >  > Looking forward to hearing your thoughts,
 >  >  
 >  > Ghislain Bonamy, PhD 


More information about the ome-devel mailing list