<div dir="ltr"><div><div>Hi Benjamin,<br><br></div>I tracked this and reached some preliminary conclusions.<br></div><br>In summary, I had only been able to extract regions in special cases 
while for the rest of the areas/slides I was not able to extractdue to the yet unknown coordinates system.<br><br>It looks like when you put in the offset coordinates into the ndpa file (
hamamatsu.<div id=":1ae" class="">XOffsetFromSlideCentre and 
hamamatsu.<div id=":1ae" class="">YOffsetFromSlideCentre). I did this by manually editing the xml itself. This will give you a point EXACTLY in the centre of the main image.<br><br></div><div id=":1ae" class="">However, these offset values themselves are actually relative to the centre of the whole slide (as you guessed). Or this is at least what appears to me, I can&#39;t think of another option.<br></div><div id=":1ae" class="">The way I knew that is I went hunting for a slide that the roi of the macro image is slightly to the left of the centre of the physical slide and there the XOffsetFromSlideCentre was negative!<br><br></div><div id=":1ae" class="">There is another tag hamamatsu.stage.center, which I then investigated, but it does not look like the correct value to look at, since I have a slide where the x from hamamatsu.stage.center is actually smaller than the abs(-XOffsetFromSlideCentre). Unless this tag uses a different measurement unit.<br><br></div><div id=":1ae" class="">In this way, we need the complete width+length of the whole slide to calculate coordinates. This has to be somewhere in the ndpi file itself ( I hope). Otherwise, I wonder how the ndp.view software calculates it to place the annotations at the correct site?? I sent hamamatsu an email querying this.<br><br></div><div id=":1ae" class="">BTW There are also tiff.ResolutionUnit (in my slides it says centimeter), tiff.XResolution and tiff.YResolution. Can these tags help?<br></div><div id=":1ae" class=""><br></div><div id=":1ae" class="">Best wishes,<br>Ahmed<br></div><div id=":1ae" class=""><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Nov 10, 2014 at 8:57 PM, Benjamin Gilbert <span dir="ltr">&lt;<a href="mailto:bgilbert@cs.cmu.edu" target="_blank">bgilbert@cs.cmu.edu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 11/10/2014 02:27 AM, Ahmed Bassiouni wrote:<br>
&gt; The NDP annotations seems to use their own coordinate system which I can<br>
&gt; not convert to the openslide pixel based system to extract the pictures.<br>
<br>
</span>There are several other coordinate values in NDPI and VMS slides which<br>
seem consistent with yours:<br>
<br>
hamamatsu.XOffsetFromSlideCentre<br>
hamamatsu.YOffsetFromSlideCentre<br>
<br>
and in VMS only:<br>
<br>
hamamatsu.PhysicalHeight<br>
hamamatsu.PhysicalWidth<br>
hamamatsu.PhysicalMacroHeight<br>
hamamatsu.PhysicalMacroWidth<br>
<br>
The values of PhysicalMacroWidth/Height imply that the units are nm.<br>
Playing around in GIMP, I found that the OffsetFromSlideCentre values<br>
are the offset of the center of the main image relative to the center of<br>
the macro image (i.e., the slide), with +x pointing right and +y<br>
pointing down.<br>
<span class=""><br>
&gt; (some of the point coordinates are actually negative!! weird! see<br>
&gt; example below)<br>
<br>
</span>More specifically, all of your X coordinates are negative.  Perhaps the<br>
origin is the center of the physical slide (or the center of the main<br>
image)?<br>
<br>
If the coordinates are relative to the main image, you can use the<br>
openslide.mpp-x/y properties to compute the correct scaling factor.<br>
<br>
If the coordinates are relative to the entire slide, there&#39;s a problem,<br>
since NDPI doesn&#39;t seem to provide an equivalent of the VMS-only<br>
properties above.  In order to convert the annotation coordinates to<br>
main image coordinates, you would need to know the size of the slide,<br>
which would need to be either hardcoded or calculated from (a) the<br>
downsample of the macro image and (b) its pixel dimensions.  The<br>
downsample, in turn, can be calculated from (c) the X/YResolution tags<br>
of the macro IFD, which OpenSlide does not expose right now.  However,<br>
the resulting slide dimensions would be fairly inaccurate because of the<br>
low resolutions of (b) and (c).<br>
<br>
I could add properties to expose the downsample of the macro image if<br>
needed, but I&#39;m hoping there&#39;s a better solution.  Please let us know<br>
what you find.<br>
<br>
--Benjamin Gilbert<br>
<br>
_______________________________________________<br>
openslide-users mailing list<br>
<a href="mailto:openslide-users@lists.andrew.cmu.edu">openslide-users@lists.andrew.cmu.edu</a><br>
<a href="https://lists.andrew.cmu.edu/mailman/listinfo/openslide-users" target="_blank">https://lists.andrew.cmu.edu/mailman/listinfo/openslide-users</a><br>
</blockquote></div><br></div>