[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