<div dir="ltr"><div><div><div><div>Thanks all,<br><br></div>This is pretty much what I thought..<br></div>I don&#39;t have a lot of requirements at this point, but am trying to look ahead to usage threads for the image portion of the Cube model.<br></div>The current annotation scheme(s) are directed to VOTable, so if I can&#39;t properly serialize an image dataset in VOTable, then it will have to do something else.<br><br></div>Mark<br><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Oct 17, 2019 at 4:38 AM Mark Taylor &lt;<a href="mailto:M.B.Taylor@bristol.ac.uk">M.B.Taylor@bristol.ac.uk</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Yes, you could put a tile compressed FITS image in there.<br>
In that case the FIELD metadata items would have to[*] describe<br>
the COMPRESSED_DATA (and optionally GZIP_COMPRESSED_DATA)<br>
columns defined in FITS 4.0 section 10.1.3 as well as any<br>
additional optional tiling-related columns that may be included.<br>
Current VOTable parsers would certainly see such referenced<br>
FITS files as tables rather than images, but downstream processing<br>
could be written to turn them back into images.<br>
That feels like a bit of a hack, but it may fit Mark&#39;s<br>
requirements for doing this (I don&#39;t know what those are).<br>
<br>
Mark T<br>
<br>
[*] that&#39;s not strictly true: VOTable 5.2 says<br>
<br>
   &quot;The VOTable specification does not define the behavior of parsers<br>
    with respect to this doubling of the metadata. A parser may ignore<br>
    the FITS metadata, or it may compare it with the VOTable metadata<br>
    for consistency, or other possibilities.&quot;<br>
<br>
so it wouldn&#39;t actually violate the standard to e.g. supply<br>
column metadata in the VOTable that refers to the image rather<br>
than the tile compression; but it would at least lead to<br>
unpredictable parsing results.<br>
<br>
<br>
On Thu, 17 Oct 2019, Seaman, Robert Lewis - (rseaman) wrote:<br>
<br>
&gt; Could this work with tile compressed FITS images, which are indeed bintables?<br>
&gt; <br>
&gt; Rob Seaman<br>
&gt; Lunar and Planetary Laboratory<br>
&gt; University of Arizona<br>
&gt; --<br>
&gt; <br>
&gt; On 10/16/19, 4:27 PM, &quot;<a href="mailto:apps-bounces@ivoa.net" target="_blank">apps-bounces@ivoa.net</a> on behalf of Mark Taylor&quot; &lt;<a href="mailto:apps-bounces@ivoa.net" target="_blank">apps-bounces@ivoa.net</a> on behalf of <a href="mailto:M.B.Taylor@bristol.ac.uk" target="_blank">M.B.Taylor@bristol.ac.uk</a>&gt; wrote:<br>
&gt; <br>
&gt;     Mark,<br>
&gt;     <br>
&gt;     I don&#39;t think this is going to work.  The &lt;FITS&gt; element in VOTable<br>
&gt;     is only designed to point at a FITS Binary Table (BINTABLE extension),<br>
&gt;     not a FITS image (primary HDU or IMAGE extension).  The reason that<br>
&gt;     the extnum has to be &gt;0 is that you can&#39;t put a BINTABLE in the primary<br>
&gt;     HDU, only in one of the later extensions.  If a VOTable parser gets<br>
&gt;     directed from the FITS element to an HDU that does not contain<br>
&gt;     a BINTABLE, it&#39;s going to fail to understand it; that&#39;s certainly<br>
&gt;     true of my parser, and I&#39;d say it&#39;s the clear intention of the<br>
&gt;     standard, e.g. (VOTable 1.3 section 2.3):<br>
&gt;     <br>
&gt;       Henceforth, we shall abbreviate &quot;FITS Binary Table and its Conventions&quot;<br>
&gt;       simply by the word &quot;FITS&quot;.<br>
&gt;     <br>
&gt;     If you wanted to insert the content of an image dataset into a VOTable<br>
&gt;     document, you&#39;d have to do something like use a cell of a table<br>
&gt;     with multi-dimensional array type.<br>
&gt;     <br>
&gt;     Mark<br>
&gt;     <br>
&gt;     On Wed, 16 Oct 2019, CresitelloDittmar, Mark wrote:<br>
&gt;     <br>
&gt;     &gt; All,<br>
&gt;     &gt; <br>
&gt;     &gt; In my presentation at the interop (DM session), I mentioned that the<br>
&gt;     &gt; VOTable serializations of the 2D and 4D image fail validation.<br>
&gt;     &gt; <br>
&gt;     &gt; I&#39;m not terribly surprised (it is VO*Table* after all), but I have some<br>
&gt;     &gt; small hope of working up to some usage work on the Cube-Image in the near<br>
&gt;     &gt; future and am not sure what the strategy is for serializing/annotating<br>
&gt;     &gt; image datasets.<br>
&gt;     &gt; <br>
&gt;     &gt; Looking for suggestions..<br>
&gt;     &gt; <br>
&gt;     &gt; Basically, I&#39;m currently using the same mode that I do with tabular<br>
&gt;     &gt; datasets.  Include the header metadata, describe the content, point to the<br>
&gt;     &gt; FITS file.<br>
&gt;     &gt; <br>
&gt;     &gt;       &lt;FIELD ID=&quot;_col-image&quot; name=&quot;image&quot; datatype=&quot;int&quot;/&gt;<br>
&gt;     &gt;       &lt;DATA&gt;<br>
&gt;     &gt;         &lt;FITS extnum=&quot;0&quot;&gt;<br>
&gt;     &gt;           &lt;STREAM<br>
&gt;     &gt; href=&quot;file:///data/vao/staff/mcd/docs/models/dm/Cube/examples/src/chandra_2Dsky_image.fits&quot;/&gt;<br>
&gt;     &gt;         &lt;/FITS&gt;<br>
&gt;     &gt;       &lt;/DATA&gt;<br>
&gt;     &gt; <br>
&gt;     &gt; 1) obviously, there is no field named &quot;image&quot; in the dataset, I could use<br>
&gt;     &gt; the block name, but it&#39;s still a hack<br>
&gt;     &gt; 2) extnum=&quot;0&quot;<br>
&gt;     &gt; The VOTable spec is pretty clear that the extensions are &quot;numbered from 1<br>
&gt;     &gt; up, the main header being numbered 0&quot;.<br>
&gt;     &gt; So, it&#39;s no surprise that I get the following validation error on this:<br>
&gt;     &gt; (using votlint in stilts_3.0-9)<br>
&gt;     &gt;    ERROR (l.293, c.26): cvc-minInclusive-valid: Value &#39;0&#39; is not<br>
&gt;     &gt; facet-valid with respect to minInclusive &#39;1&#39; for type &#39;positiveInteger&#39;.<br>
&gt;     &gt;    ERROR (l.293, c.26): cvc-attribute.3: The value &#39;0&#39; of attribute<br>
&gt;     &gt; &#39;extnum&#39; on element &#39;FITS&#39; is not valid with respect to its type,<br>
&gt;     &gt; &#39;positiveInteger&#39;.<br>
&gt;     &gt;    ERROR (l.294, c.112): Non-positive extension number extnum=0<br>
&gt;     &gt;    WARNING (l.294, c.112): Read error for external stream<br>
&gt;     &gt; uk.ac.starlink.table.TableFormatException: Can&#39;t read FITS header<br>
&gt;     &gt; <br>
&gt;     &gt; And, if I point it at a non-table HDU in later extensions...<br>
&gt;     &gt;    WARNING (l.294, c.93): Read error for external stream<br>
&gt;     &gt; java.io.IOException: No table HDU at extension 2<br>
&gt;     &gt; <br>
&gt;     &gt; I suppose I could do it with the &lt;BINARY&gt; node, but it&#39;d be nice for the<br>
&gt;     &gt; redirect to work.<br>
&gt;     &gt; <br>
&gt;     &gt; Mark<br>
&gt;     &gt; <br>
&gt;     <br>
&gt;     --<br>
&gt;     Mark Taylor   Astronomical Programmer   Physics, Bristol University, UK<br>
&gt;     <a href="mailto:m.b.taylor@bris.ac.uk" target="_blank">m.b.taylor@bris.ac.uk</a> +44-117-9288776  <a href="http://www.star.bris.ac.uk/%7Embt/" rel="noreferrer" target="_blank">http://www.star.bris.ac.uk/~mbt/</a><br>
&gt;     <br>
&gt; <br>
&gt; <br>
<br>
--<br>
Mark Taylor   Astronomical Programmer   Physics, Bristol University, UK<br>
<a href="mailto:m.b.taylor@bris.ac.uk" target="_blank">m.b.taylor@bris.ac.uk</a> +44-117-9288776  <a href="http://www.star.bris.ac.uk/%7Embt/" rel="noreferrer" target="_blank">http://www.star.bris.ac.uk/~mbt/</a></blockquote></div>