[fitsbits] start of Public Comment Period on the INHERIT convention

Erik Bray embray at stsci.edu
Thu Jul 2 17:32:39 EDT 2015


On 07/01/2015 05:14 PM, Rob Seaman wrote:
> On Jul 1, 2015, at 12:19 PM, Steve Allen <sla at ucolick.org> wrote:
>
>> Whereas we are effectively relying on the conventions of the INHERIT
>> keyword, we did not choose to use the INHERIT keyword.  The usage in the
>> FITS files from DEIMOS, HIRES, and LRIS is sensible, legal, and not part of
>> the FITS standard.  I do not object to making INHERIT part of the standard.
>> I also do not see the need to add the complexity of INHERIT to the FITS
>> standard.
>
> Isn’t it more a question of how to disinherit the primary header (should that
> ever prove necessary)?  For use cases in which an MEF represents a single (if
> perhaps, complicated) observation, it is only natural to regard the contents
> of a (dataless) primary HDU as pertaining to the observation as a whole and
> hence as being inherited.  How then would one assert the opposite other than
> by placing INHERIT=F in HDUs for which the primary doesn’t apply?
>
> The question is whether disinheritance is something any project has ever
> needed.
>
> That said, an important aspect of this exercise is to capture usage that
> already exists.  Large amounts of data have been written relying on INHERIT.
> The keyword should be reserved for this purpose and whether in the standard
> or a style guide the usage should be described such that these pre-existing
> data files can be properly interpreted in the future.

I think that in the past it has been used for hierarchical data models layered 
on top of FITS, where it might have made sense as a local convention to go 
looking for a keyword in the primary HDU if it's not found in the HDU it was 
looked up in.  In that case the only purpose of INHERIT is to disable that 
behavior for some files that for whatever reason do not have that hierarchical 
structure.

So I would be fine if it were in the standard as a reserved keyword, with that 
usage of it documented, so long as it is clear that FITS readers and writers are 
not expected to do anything with it to be conforming to the standard, similarly 
to how the BLOCKED keyword is mentioned in the standard (in this case I'm not 
necessarily saying that INHERIT should be "deprecated", just that the keyword is 
reserved for a particular use case that may only be of localized interest).

I would still worry though about it being misused.  It would be "dangerous" if 
it were used with WCS keywords for example.  I would recommend that it not be 
counted on that general FITS software will interpret this keyword.

Erik



More information about the fitsbits mailing list