[fitsbits] start of Public Comment Period on the INHERIT convention
Tom McGlynn (NASA/GSFC Code 660.1)
tom.mcglynn at nasa.gov
Wed Jul 1 08:46:14 EDT 2015
Peter Weilbacher wrote:
> On Wed, 1 Jul 2015, THIERRY FORVEILLE wrote:
>
>> "Frank Valdes" <valdes at noao.edu> writes
>> ----- Original Message -----
>>> P.S. I really don't like the suggestion that multiple "images", say
>>> traditional CCD images, which are related should be "packed in a single
>>> binary table".
>>>
>> The flip side is that doing that covers the need which you describe, and is
>> already fully part of the standard.
>>
>> There is a non-trivial cost (in additional code in FITS readers that needs
>> writing and, more importantly, maintaining) to multiple solution to the same
>> problem, which I see as enough of a reason to say no to INHERIT.
> On the other hand, reading and writing bintable data is less efficient
> than writing image data. So when /using/ it, it creates extra overhead.
> So depending on the use-case, writing MEF instead of bintables does make
> a lot of sense, and that would benefit from INHERIT. (But since for
> those purposes, INHERIT can be implicitly be assumed for the case at
> hand, so that's a similarly weak argument for INHERIT as yours is
> against. ;-))
>
> Peter.
Since the binary encoding is the same for the actual image data, the
only difference here is in the header information,. For very large
images it won't matter much because the image data will dominate. For
small images it won't matter much because the overhead of locating and
opening the files will dominate. However even then I think it's easy to
construct use cases where using either binary tables or images (possibly
with inherit )is more efficient. I.e., if I have 100 images that I
need to store, then I can do that in only 2 HDUs using a single binary
table, while it might take 100 HDUs (including 100 headers) as images.
On the other hand a single image requires the extra primary header HDU
when encoded in a binary table.
Note that binary tables can handle both a set of homogeneous images (as
separate rows) and heterogeneous images (as separate columns). In the
former case the Green Bank convention (which I don't think should be in
the standard for reasons discussed elsewhere) can play a role very
similar to the inherit convention. For large images, the advent of
tiled images may make using binary tables the preferred choice in the
common cases where the user is interested in only a subset of the image.
Regards,
Tom McGlynn
More information about the fitsbits
mailing list