[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