<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hi-<br>
    Just joined the openside-users list with information about the
    Sakura VisionTek SVSLIDE format.<br>
    You may already have data about this new format.<br>
    Sakura promises an "open-source" export, but has not yet provided
    one.<br>
    <br>
    We were able to determine (solely from examining a sample file) that
    SVSLIDE is actually a SQLite database containing <span
      style="color: rgb(0, 0, 0); font-family: 'Segoe UI', Verdana,
      Arial; font-size: medium; font-style: normal; font-variant:
      normal; font-weight: normal; letter-spacing: normal; line-height:
      normal; orphans: auto; text-align: start; text-indent: 0px;
      text-transform: none; white-space: normal; widows: auto;
      word-spacing: 0px; -webkit-text-stroke-width: 0px;
      background-color: rgb(255, 255, 255); display: inline !important;
      float: none;">eXpress Persistent Objects (XPO.)<br>
      We used a simple SQLite database browser to explore our sample
      file.<br>
      <br>
      The database schema includes several fixed tables containing
      typical metadata about the slide, </span><span style="color:
      rgb(0, 0, 0); font-family: 'Segoe UI', Verdana, Arial; font-size:
      medium; font-style: normal; font-variant: normal; font-weight:
      normal; letter-spacing: normal; line-height: normal; orphans:
      auto; text-align: start; text-indent: 0px; text-transform: none;
      white-space: normal; widows: auto; word-spacing: 0px;
      -webkit-text-stroke-width: 0px; background-color: rgb(255, 255,
      255); display: inline !important; float: none;"><span
        style="color: rgb(0, 0, 0); font-family: 'Segoe UI', Verdana,
        Arial; font-size: medium; font-style: normal; font-variant:
        normal; font-weight: normal; letter-spacing: normal;
        line-height: normal; orphans: auto; text-align: start;
        text-indent: 0px; text-transform: none; white-space: normal;
        widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;
        background-color: rgb(255, 255, 255); display: inline
        !important; float: none;">annotation data,</span> and the name
      of a single table named with a GUID tied to that slide.<br>
      <br>
      The unique table has three columns: [id] VARCHAR(50), [size]
      BIGINT, [data] BLOB.<br>
      [id] is a unique primary key.<br>
      The first three rows of the unique table hold the [id]:<br>
      ++MagicBytes<br>
      ++VersionBytes<br>
      Header<br>
      <br>
      There are two typical </span><span style="color: rgb(0, 0, 0);
      font-family: 'Segoe UI', Verdana, Arial; font-size: medium;
      font-style: normal; font-variant: normal; font-weight: normal;
      letter-spacing: normal; line-height: normal; orphans: auto;
      text-align: start; text-indent: 0px; text-transform: none;
      white-space: normal; widows: auto; word-spacing: 0px;
      -webkit-text-stroke-width: 0px; background-color: rgb(255, 255,
      255); display: inline !important; float: none;"><span
        style="color: rgb(0, 0, 0); font-family: 'Segoe UI', Verdana,
        Arial; font-size: medium; font-style: normal; font-variant:
        normal; font-weight: normal; letter-spacing: normal;
        line-height: normal; orphans: auto; text-align: start;
        text-indent: 0px; text-transform: none; white-space: normal;
        widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;
        background-color: rgb(255, 255, 255); display: inline
        !important; float: none;">sort of </span>rows in the unique
      table:<br>
      a "data" row with a unique id, containing an image tile<br>
      a paired row (</span><span style="color: rgb(0, 0, 0);
      font-family: 'Segoe UI', Verdana, Arial; font-size: medium;
      font-style: normal; font-variant: normal; font-weight: normal;
      letter-spacing: normal; line-height: normal; orphans: auto;
      text-align: start; text-indent: 0px; text-transform: none;
      white-space: normal; widows: auto; word-spacing: 0px;
      -webkit-text-stroke-width: 0px; background-color: rgb(255, 255,
      255); display: inline !important; float: none;"><span
        style="color: rgb(0, 0, 0); font-family: 'Segoe UI', Verdana,
        Arial; font-size: medium; font-style: normal; font-variant:
        normal; font-weight: normal; letter-spacing: normal;
        line-height: normal; orphans: auto; text-align: start;
        text-indent: 0px; text-transform: none; white-space: normal;
        widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;
        background-color: rgb(255, 255, 255); display: inline
        !important; float: none;">of unknown significance) </span>with
      the same id, suffixed with an "#" character (e.g.- </span><span
      style="color: rgb(0, 0, 0); font-family: 'Segoe UI', Verdana,
      Arial; font-size: medium; font-style: normal; font-variant:
      normal; font-weight: normal; letter-spacing: normal; line-height:
      normal; orphans: auto; text-align: start; text-indent: 0px;
      text-transform: none; white-space: normal; widows: auto;
      word-spacing: 0px; -webkit-text-stroke-width: 0px;
      background-color: rgb(255, 255, 255); display: inline !important;
      float: none;"><span style="color: rgb(0, 0, 0); font-family:
        'Segoe UI', Verdana, Arial; font-size: medium; font-style:
        normal; font-variant: normal; font-weight: normal;
        letter-spacing: normal; line-height: normal; orphans: auto;
        text-align: start; text-indent: 0px; text-transform: none;
        white-space: normal; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px; background-color: rgb(255, 255,
        255); display: inline !important; float: none;">T;2048|47616;1;2;0
        )</span> .<br>
      <br>
      A typical data row:<br>
      The data column contains a standard monochrome JPEG tile of
      512x512.<br>
      The size </span><span style="color: rgb(0, 0, 0); font-family:
      'Segoe UI', Verdana, Arial; font-size: medium; font-style: normal;
      font-variant: normal; font-weight: normal; letter-spacing: normal;
      line-height: normal; orphans: auto; text-align: start;
      text-indent: 0px; text-transform: none; white-space: normal;
      widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;
      background-color: rgb(255, 255, 255); display: inline !important;
      float: none;"><span style="color: rgb(0, 0, 0); font-family:
        'Segoe UI', Verdana, Arial; font-size: medium; font-style:
        normal; font-variant: normal; font-weight: normal;
        letter-spacing: normal; line-height: normal; orphans: auto;
        text-align: start; text-indent: 0px; text-transform: none;
        white-space: normal; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px; background-color: rgb(255, 255,
        255); display: inline !important; float: none;">column </span>holds
      the size in bytes of the data blob.<br>
      <br>
      The id </span><span style="color: rgb(0, 0, 0); font-family:
      'Segoe UI', Verdana, Arial; font-size: medium; font-style: normal;
      font-variant: normal; font-weight: normal; letter-spacing: normal;
      line-height: normal; orphans: auto; text-align: start;
      text-indent: 0px; text-transform: none; white-space: normal;
      widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;
      background-color: rgb(255, 255, 255); display: inline !important;
      float: none;"><span style="color: rgb(0, 0, 0); font-family:
        'Segoe UI', Verdana, Arial; font-size: medium; font-style:
        normal; font-variant: normal; font-weight: normal;
        letter-spacing: normal; line-height: normal; orphans: auto;
        text-align: start; text-indent: 0px; text-transform: none;
        white-space: normal; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px; background-color: rgb(255, 255,
        255); display: inline !important; float: none;">column </span>is
      comprised of five fields separated by a semicolon[;].<br>
      [id] T;2048|47616;1;2;0<br>
      [1] T : apparently indicates "Tile"<br>
      [2] 2048|47616 : are the row-index|column-index (in pixels)<br>
      [3] 1: the pyramid level {1 is the highest resolution (e.g.-
      scanned with 40x objective), other resolutions are 2, 4, 8, 16,
      32, 64, 128, with 256 being a thumbnail smaller than a single
      tile}<br>
      [4] 2: the monocolor {0=Red,1=Green,2=Blue)<br>
      [5] 0: unknown (always zero?)<br>
      <br>
      The row- and column-index are based on the highest resolution
      (largest) image, regardless of the pyramid-level (i.e.- an
      absolute "location" in the image.)<br>
      <br>
      I can upload a sample SVSLIDE file if requested.<br>
      <br>
      Thank you and keep the good work!<br>
      -Don Regula<br>
      Stanford Pathology<br>
      <br>
    </span>
  </body>
</html>