<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Hello,<br>
    <br>
    I'd like to share with you our findings so far regarding the Ventana
    BIF slide format. The files we've investigated so far are BigTIFF
    that contain tiled levels along with a label and a thumbnail.<br>
    <br>
    The description of the thumbnail directory is "Thumbnail".<br>
    The description of the label directory is "Label Image".<br>
    The description of actual image directories follow this pattern:
    "level=0 mag=40 quality=90", "level=1 mag=20 quality=90", "level=2
    mag=10 quality=90" and so on<br>
    <br>
    The label directory contains XMP metadata (Tiff tag #700). This is a
    sample of such metadata:<br>
    <br>
    <i><tt>&lt;iScan Magnification="40" ScanRes="0.232500"
        UnitNumber="BI10N0306" UserName="admin" BuildVersion="3.3.1.1"
        BuildDate="December, 13 2011" SlideAnnotation="" ShowLabel="1"
        LabelBoundary="0" Z-layers="1" Z-spacing="1" FocusMode="0"
        FocusQuality="1" ScanMode="1"&gt;</tt></i><i><tt><br>
      </tt></i><i><tt>&nbsp;&nbsp;&nbsp; &lt;AOI0 Left="450" Top="1381" Right="633"
        Bottom="1465"/&gt;</tt></i><i><tt><br>
      </tt></i><i><tt>&nbsp;&nbsp;&nbsp; &lt;AOI1 Left="279" Top="1323" Right="382"
        Bottom="1415"/&gt;</tt></i><i><tt><br>
      </tt></i><i><tt>&nbsp;&nbsp;&nbsp; &lt;AOI2 Left="234" Top="421" Right="919"
        Bottom="1206"/&gt;</tt></i><i><tt><br>
      </tt></i><i><tt>&lt;/iScan&gt;</tt></i><i><tt><br>
      </tt></i><br>
    Level 0 also contains XMP metadata that look like this:<br>
    <br>
    <i><tt>&lt;?xml version="1.0"?&gt;</tt></i><i><tt><br>
      </tt></i><i><tt>&lt;EncodeInfo Ver='2'&gt;</tt></i><i><tt><br>
      </tt></i><i><tt>&lt;SlideInfo Rack="0" Slot="16"
        BaseName="405210fa-5d23-4e3e-aafc-68129b714907"
        JP2FileName="D:/CoreoImages/Customer/Customer_1_17_201210292112.bif"
        StitchApproach="0" FallbackStitchApproach="0"
        UseFallbackForStitch="0"&gt;</tt></i><i><tt><br>
      </tt></i><i><tt>&lt;ServerDirectory Path=" " Copy="false"/&gt;</tt></i><i><tt><br>
      </tt></i><i><tt>&lt;LabelImage Path="C:\Program Files\Ventana
        Medical Systems Inc\iScan\ThumbnailImages\thumb_bs0_16.jpg"/&gt;</tt></i><i><tt><br>
      </tt></i><i><tt>&lt;iScan Magnification='40' ScanRes='0.23250'
        UnitNumber='BI10N0306' UserName='admin' BuildVersion='3.3.1.1'
        BuildDate='December, 13 2011' SlideAnnotation='' ShowLabel='1'
        LabelBoundary='0'&nbsp; Z-layers='1' Z-spacing='1' FocusMode='0'
        FocusQuality='1' ScanMode='1'&gt;</tt></i><i><tt><br>
      </tt></i><i><tt>&lt;AOI0 Left="450" Top="1381" Right="633"
        Bottom="1465" AOIScanned="1"/&gt;</tt></i><i><tt><br>
      </tt></i><i><tt>&lt;AOI1 Left="279" Top="1323" Right="382"
        Bottom="1415" AOIScanned="0"/&gt;</tt></i><i><tt><br>
      </tt></i><i><tt>&lt;AOI2 Left="234" Top="421" Right="919"
        Bottom="1206" AOIScanned="1"/&gt;</tt></i><i><tt><br>
      </tt></i><i><tt>&lt;/iScan&gt;</tt></i><i><tt><br>
      </tt></i><i><tt>&lt;AoiInfo XIMAGESIZE="1024" YIMAGESIZE="1360"
        NumRows="17" NumCols="11" Pos-X="0" Pos-Y="49268"
DirPath="C:/DirTemp\Slot0_16\405210fa-5d23-4e3e-aafc-68129b714907\AOI0"/&gt;</tt></i><i><tt><br>
      </tt></i><i><tt>&lt;AoiInfo XIMAGESIZE="1024" YIMAGESIZE="1360"
        NumRows="10" NumCols="12" Pos-X="5473" Pos-Y="30559"
DirPath="C:/DirTemp\Slot0_16\405210fa-5d23-4e3e-aafc-68129b714907\AOI1"/&gt;</tt></i><i><tt><br>
      </tt></i><i><tt>&lt;AoiInfo XIMAGESIZE="1024" YIMAGESIZE="1360"
        NumRows="61" NumCols="95" Pos-X="28274" Pos-Y="25569"
DirPath="C:/DirTemp\Slot0_16\405210fa-5d23-4e3e-aafc-68129b714907\AOI2"/&gt;</tt></i><i><tt><br>
      </tt></i><i><tt>&lt;/SlideInfo&gt;</tt></i><i><tt><br>
      </tt></i><i><tt>&lt;SlideStitchInfo Left="-1" Top="-1" Right="-1"
        Bottom="-1"&gt;</tt></i><i><tt><br>
      </tt></i><i><tt>&lt;ImageInfo AOIScanned="1" Width="1024"
        Height="1360" NumRows="17" NumCols="11" Pos-X="0" Pos-Y="49268"
        MaxJTPFileSize="0"&gt;</tt></i><i><tt><br>
      </tt></i><i><tt>&lt;TileJointInfo FlagJoined='0' Confidence='0'
        Direction='RIGHT' Tile1='1' Tile2='2' OverlapX='0'
        OverlapY='0'/&gt;</tt></i><i><tt><br>
      </tt></i><i><tt>&lt;TileJointInfo FlagJoined='0' Confidence='0'
        Direction='RIGHT' Tile1='2' Tile2='3' OverlapX='0'
        OverlapY='0'/&gt;</tt></i><i><tt><br>
      </tt></i><i><tt>&lt;TileJointInfo FlagJoined='1' Confidence='98'
        Direction='RIGHT' Tile1='3' Tile2='4' OverlapX='115'
        OverlapY='2'/&gt;</tt></i><i><tt><br>
      </tt></i><i><tt>&lt;TileJointInfo FlagJoined='1' Confidence='94'
        Direction='RIGHT' Tile1='4' Tile2='5' OverlapX='115'
        OverlapY='2'/&gt;</tt></i><i><tt><br>
      </tt></i><i><tt>&lt;TileJointInfo FlagJoined='0' Confidence='0'
        Direction='RIGHT' Tile1='5' Tile2='6' OverlapX='0'
        OverlapY='0'/&gt;</tt></i><i><tt><br>
      </tt></i><i><tt>&lt;TileJointInfo FlagJoined='1' Confidence='98'
        Direction='RIGHT' Tile1='6' Tile2='7' OverlapX='114'
        OverlapY='2'/&gt;</tt></i><i><tt><br>
      </tt></i><i><tt>&lt;TileJointInfo FlagJoined='1' Confidence='98'
        Direction='RIGHT' Tile1='7' Tile2='8' OverlapX='121'
        OverlapY='1'/&gt;</tt></i><i><tt><br>
      </tt></i><i><tt>&lt;TileJointInfo FlagJoined='1' Confidence='96'
        Direction='RIGHT' Tile1='8' Tile2='9' OverlapX='114'
        OverlapY='0'/&gt;</tt></i><i><tt><br>
      </tt></i><i><tt>&lt;TileJointInfo FlagJoined='1' Confidence='94'
        Direction='RIGHT' Tile1='9' Tile2='10' OverlapX='101'
        OverlapY='1'/&gt;</tt></i><i><tt><br>
      </tt></i><i><tt>&lt;TileJointInfo FlagJoined='1' Confidence='90'
        Direction='RIGHT' Tile1='10' Tile2='11' OverlapX='118'
        OverlapY='-1'/&gt;</tt></i><i><tt><br>
      </tt></i><i><tt>&lt;TileJointInfo FlagJoined='1' Confidence='99'
        Direction='RIGHT' Tile1='22' Tile2='21' OverlapX='107'
        OverlapY='1'/&gt;</tt></i><i><tt><br>
      </tt></i><i><tt>&lt;TileJointInfo FlagJoined='1' Confidence='99'
        Direction='RIGHT' Tile1='21' Tile2='20' OverlapX='108'
        OverlapY='2'/&gt;</tt></i><i><tt><br>
      </tt></i><i><tt>.........</tt></i><i><tt><br>
      </tt></i><i><tt>&lt;/ImageInfo&gt;</tt></i><i><tt><br>
      </tt></i><i><tt>&lt;ImageInfo AOIScanned="0" Width="1024"
        Height="1360" NumRows="10" NumCols="12" Pos-X="5473"
        Pos-Y="30559" MaxJTPFileSize="0"&gt;</tt></i><i><tt><br>
      </tt></i><i><tt>&lt;TileJointInfo FlagJoined='0' Confidence='0'
        Direction='RIGHT' Tile1='0' Tile2='0' OverlapX='0'
        OverlapY='0'/&gt;</tt></i><i><tt><br>
      </tt></i><i><tt>.........</tt></i><i><tt><br>
      </tt></i><i><tt> &lt;/ImageInfo&gt;</tt></i><i><tt><br>
      </tt></i><i><tt>&lt;/SlideStitchInfo&gt;</tt></i><i><tt><br>
      </tt></i><i><tt>&lt;AoiOrigin&gt;</tt></i><i><tt><br>
      </tt></i><i><tt>&lt;AOI0 OriginX="0" OriginY="38080"/&gt;</tt></i><i><tt><br>
      </tt></i><i><tt>&lt;AOI1 OriginX="6144" OriginY="68000"/&gt;</tt></i><i><tt><br>
      </tt></i><i><tt>&lt;AOI2 OriginX="30720" OriginY="0"/&gt;</tt></i><i><tt><br>
      </tt></i><i><tt>&lt;/AoiOrigin&gt;</tt></i><i><tt><br>
      </tt></i><i><tt>&lt;/EncodeInfo&gt;</tt></i><br>
    <br>
    By trying to render tiles like in a regular TIFF files overlapping
    occurs. It is not clear to us yet how tile indexing works (left to
    right - top to bottom, spiral ?). It also seems that stitching
    information is relative between tiles. This means that for different
    viewports where different tiles are visible, tile positioning will
    vary. Tile stitching information for the scaled down levels is not
    given.<br>
    <br>
    Here are two sample xml files, one for a label image and one for a
    level 0:<br>
    <a class="moz-txt-link-freetext" href="http://www.smartcode.gr/xmp.zip">http://www.smartcode.gr/xmp.zip</a><br>
    <br>
    Regards<br>
    Pappas Agelos
    <div class="moz-cite-prefix">On 24/8/2013 00:10, Benjamin Gilbert
      wrote:<br>
    </div>
    <blockquote cite="mid:5217CFDA.2090501@cs.cmu.edu" type="cite">
      <pre wrap="">On 08/22/2013 03:59 AM, Yves Sucaet wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="">We've been able to partly decipher the Ventana BIF format, however we
have a problem figuring out the final tile stitching data. We'd be quite
willing to contribute our code to OpenSlide, if somebody would be able
to continue working on it and figure out the stitching. We have some
technical understanding on what kind of information is contained in the
BIF-files as well, for those interested.
</pre>
      </blockquote>
      <pre wrap="">
Hi Yves,

BIF is on my to-do list.  Actually, BIF was part of the motivation for 
the cleanup work: the TIFF ops backend couldn't handle irregular tile 
positions.

Your contributions are welcome, of course.  If you'd be willing to write 
up what you've learned about the format, that would be very helpful.

Thanks,
--Benjamin Gilbert
_______________________________________________
openslide-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:openslide-users@lists.andrew.cmu.edu">openslide-users@lists.andrew.cmu.edu</a>
<a class="moz-txt-link-freetext" href="https://lists.andrew.cmu.edu/mailman/listinfo/openslide-users">https://lists.andrew.cmu.edu/mailman/listinfo/openslide-users</a>

</pre>
    </blockquote>
    <br>
  </body>
</html>