[fitsbits] Start of the 'INHERIT' Public Comment Period
Doug Tody
dtody at nrao.edu
Fri Apr 6 18:59:11 EDT 2007
There are two different issues being discussed here:
1) What is a convention, and what is our role in documenting them, and
2) Is the INHERIT convention (most recently) a good idea
Regarding 1), I suggest that a convention is not an official recommended
standard, and if we are confused about this fact, we cannot proceed to
document conventions. I suspect that if we examine any convention carefully
in the same way that we do broad FITS standards, we will find plenty of
things to be concerned about which each individual convention. Probably
if this were not the case, and it were generally useful, it would long ago
have been promoted as a general standard. Nontheless, conventions can
be quite useful for solving more limited problems.
The FITS registry of conventions should not "recommend" or "discourage"
any convention. If we start making such distinctions are we are
starting to repeat the standards process. I suggest it is better to
merely document them uniformly. We can attach some of the discussions
of the review groups to inform potential adopters of any issues.
It is not our job however, to revisit the design of each convention,
or we are repeating the standards process (and we will probably throw
out 80% of them).
Regarding 2), INHERIT is an established convention in current use, and
as such should be documented. It is absolutely fine if we do so with various
caveats about possible issues.
Regarding whether INHERIT is a good idea: I can comment on that
a bit as I had a lot to do with creating this way back when.
The point is not a reduction in file size as Bill suggests, but
to avoid duplicating information in the way the MEF file is stored.
Duplicating information in a complex data structure is bad, and causes
problems with, for example, dynamic updates. At run time, when an
individual extension is accessed, the inherited information is supposed
to be included, and the header is restored to its full logical size.
Hence if one "imcopies" a single extension, the inheritance is resolved
and the result is a self-contained FITS object.
I agree with Steve that this is a simple example of a broader problem
of associating relational entities. FITS is in essence a relational
system; every FITS object (even an image) is actually a table.
INHERIT is a simple means for specifying the relationship between two
or more tables composed as an MEF. A FITS MEF is a simple container
with one level of structure. Every extension logically inherits from
the "global header" (primary HDU). One can resolve the inheritance to
simplify access to an individual extension, but this is problematic
as it is very easy to get into a situation where updates affecting
the entire MEF object do not propagate to all the extensions.
The real problem with INHERIT is that it is a simplistic solution to
what is a more general problem. On the other hand, it *is* simple, and
is adequate for such complex data where we need to aggregate a number
of primary data objects (images, tables) into a container. Like most
conventions, it does not fully address the underlying problem.
- Doug
More information about the fitsbits
mailing list