[fitsbits] Re: New MIME-types-for-FITS RFC draft

William Pence William.D.Pence at nasa.gov
Mon Mar 22 16:31:31 EST 2004


In the interest of promoting more discussion, here are some highlights of
the latest FITS MIME draft proposal available at
        http://www.ucolick.org/~sla/fits/mime/
Note that since this is a formal Internet draft document, words like
"MUST", "REQUIRED", "SHALL", "SHOULD", and "MAY" have a precise
interpretation.  They  are defined in RFC-2119, but for convenience I've
attached the relevant text to the end of this message. 

For those who have not yet read it, this FITS proposal requests that 2 new
Internet MIME types be defined: "application/fits" and "image/fits".  A MIME
type is a sort of descriptive label for the data file that gets passed along
with it when it is downloaded;  Web browsers and other applications may use
the MIME type to decide how to display or process the file.

Section 5.1 describes the "application/fits" MIME type, and says that files
described with this media type "SHOULD conform" to the FITS standards.  In
an ideal world one might prefer to say "MUST conform", but the current
wording is perhaps more realistic, since it allows FITS files that may have
only minor transgressions from the Standard.

Section 5.2 describes the "image/fits" MIME type and says:

 - files SHOULD have a Primary HDU with positive integer values for
   the NAXIS and NAXISn keywords, and hence SHOULD contain at 
   least 1 pixel.  

 - In rare cases it may be appropriate to describe a 
   NULL image -- a dataless container for FITS keywords,
   with NAXIS=0 or NAXISn=0 -- as 'image/fits' but this usage is 
   discouraged because such files may confuse simple image viewer
   applications.

 - files MAY have one or more conforming extension HDUs following
   the primary HDU.

 - SHOULD be principally intended to communicate the single data
   array in the primary HDU.

 - One-dimensional arrays (NAXIS = 1) may be described as image/fits.

 - Three-dimensional data arrays (NAXIS = 3, and NAXIS1, NAXIS2,
   and NAXIS3 all greater than 1) may be described as image/fits.

 - Files with degenerate axes (i.e., with one or more NAXISn = 1)
   MAY be described as image/fits, but the first axes SHOULD be 
   non-degenerate, i.e., the degenerate axes should be the highest
   dimensions.   Writers of new applications that produce this
   type of file SHOULD consider using the WCSAXES keyword to
   express the dimensionality, instead of using degenerate axes.

 - Files with 4 or more non-degenerate axes SHOULD be described
   as application/fits, not image/fits, except in rare cases it
   MAY be appropriate to do so.

 - Mosaic images SHOULD NOT be described as image/fits.

 - Multi-exposure-frame (MEF) mosaic images MUST be declared
   as application/fits and not as image/fits.

 - Random groups FITS files MUST be described as application/fits
   and not as image/fits.

 - Any FITS file that can be described as image/fits could instead
   be described as application/fits, depending on context and
   intended usage.

---------------------------------------------------------------

The following terms are defined in RFC 2119, at:
  http://www.faqs.org/rfcs/rfc2119.html
  http://www.ietf.org/rfc/rfc2119.txt


1. MUST   This word, or the terms "REQUIRED" or "SHALL", mean that the
   definition is an absolute requirement of the specification.

2. MUST NOT   This phrase, or the phrase "SHALL NOT", mean that the
   definition is an absolute prohibition of the specification.

3. SHOULD   This word, or the adjective "RECOMMENDED", mean that there
   may exist valid reasons in particular circumstances to ignore a
   particular item, but the full implications must be understood and
   carefully weighed before choosing a different course.

4. SHOULD NOT   This phrase, or the phrase "NOT RECOMMENDED" mean that
   there may exist valid reasons in particular circumstances when the
   particular behavior is acceptable or even useful, but the full
   implications should be understood and the case carefully weighed
   before implementing any behavior described with this label.

5. MAY   This word, or the adjective "OPTIONAL", mean that an item is
   truly optional.  One vendor may choose to include the item because a
   particular marketplace requires it or because the vendor feels that
   it enhances the product while another vendor may omit the same item.
   An implementation which does not include a particular option MUST be
   prepared to interoperate with another implementation which does
   include the option, though perhaps with reduced functionality. In the
   same vein an implementation which does include a particular option
   MUST be prepared to interoperate with another implementation which
   does not include the option (except, of course, for the feature the
   option provides.)

6. Guidance in the use of these Imperatives

   Imperatives of the type defined in this memo must be used with care
   and sparingly.  In particular, they MUST only be used where it is
   actually required for interoperation or to limit behavior which has
   potential for causing harm (e.g., limiting retransmisssions)  For
   example, they must not be used to try to impose a particular method
   on implementors where the method is not required for
   interoperability.

-- 
____________________________________________________________________
Dr. William Pence                   William.D.Pence(nospam)@nasa.gov
NASA/GSFC Code 662         HEASARC         +1-301-286-4599 (voice)     
Greenbelt MD 20771                         +1-301-286-1684 (fax)




More information about the fitsbits mailing list