Network Working Group S. Allen Request for Comments: 4047 UCO/Lick Observatory Category: Informational D. Wells National Radio Astronomy Observatory April 2005 MIME Sub-type Registrations for Flexible Image Transport System (FITS) Status of This Memo This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited. Copyright Notice Copyright (C) The Internet Society (2005). Abstract This document describes the registration of the Multipurpose Internet Mail Extensions (MIME) sub-types to be used by the international astronomical community for the interchange of Flexible Image Transport System (FITS) files. The encoding is defined by the published FITS standard documents. The FITS format has been in use since 1979, and almost all data from astronomical observations are interchanged by using FITS. Table of Contents 1. Introduction.................................................. 2 2. Conventions Used in this Document............................. 2 3. Overview...................................................... 2 4. FITS Definition............................................... 3 4.1. FITS Structure.......................................... 3 4.2. History of FITS Features................................ 5 4.3. Stability of the FITS definition........................ 6 4.4. Portability of FITS files............................... 7 4.5. Application Programming Interfaces to FITS.............. 7 4.6. FITS File Conformance Testing........................... 8 4.7. Archives That Distribute FITS Files..................... 8 5. IANA Considerations........................................... 9 5.1. Registration of application/fits........................ 10 5.2. Registration of image/fits.............................. 14 6. References.................................................... 19 6.1. Normative References.................................... 19 Allen & Wells Informational [Page 1] RFC 4047 MIME Sub-type Registrations for FITS April 2005 6.2. Informative References.................................. 20 7. Security Considerations....................................... 21 8. Contributors.................................................. 21 9. Acknowledgements.............................................. 22 Authors' Addresses................................................ 22 Full Copyright Statement.......................................... 23 1. Introduction The FITS file format [FITS] was designed in order to facilitate the interchange of astronomical image data between observatories. FITS provides a means of transporting arrays and tables of data and keyword/value pairs of metadata. FITS is defined by standards documents that are approved by the International Astronomical Union (IAU, http://www.iau.org/) and published in refereed journals. Before the inception of HTTP, astronomers used the Internet to exchange FITS files. Multiple unofficial media types for FITS files [ASU] came into use shortly after the inception of the WWW and have remained in use. Currently (2005) the international astronomical community is pursuing many cooperative efforts (e.g., [IVOA], [NVO], [AstroGrid], [AVO]) to produce web services that provide astronomical data. The exchange of FITS files is a fundamental element of the prototypes for these web services [SIAP]. The astronomical community has to agree to use one set of media types for FITS files in order to promote interoperability of its various services. In its simplest form, FITS is used as a means of transporting astronomical image data in a raster form along with coordinate information and other standard and locally defined metadata. In such applications FITS is much like the well-known TIFF format [TIFF] with the addition of the GeoTIFF tags [GeoTIFF]. However, FITS is capable of describing a much broader range of data than 2-dimensional rasters. A consensus has developed in the FITS community that two media types are needed: one for images and one for all other cases. 2. Conventions Used in this Document The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC-2119 [Require]. 3. Overview This document describes the registration of the MIME media sub-types "application/fits" and "image/fits". Allen & Wells Informational [Page 2] RFC 4047 MIME Sub-type Registrations for FITS April 2005 In 1988 the International Astronomical Union formed the FITS Working Group (IAUFWG) to oversee matters pertaining to the evolution of the FITS data format. The IAUFWG has approved the submission of this document and the registration of these two MIME types. 4. FITS Definition FITS is defined by a document approved by the International Astronomical Union (IAU) and published in the journal Astronomy & Astrophysics [NOST]. Conventions for additional keywords used in FITS files are proposed by interested parties and negotiated and reviewed by ad hoc committees of the FITS community. If such usage of additional keywords is approved by national committees and the IAUFWG then they become new reserved keywords in the FITS standard and are published in an ongoing series of papers (e.g., [WCS1, WCS2]). Copies of the standard documents can be found at the following sites: http://fits.gsfc.nasa.gov/ http://archive.stsci.edu/fits/ http://www.cv.nrao.edu/fits/ http://heasarc.gsfc.nasa.gov/docs/heasarc/fits.html Although a brief structure and feature description is provided in this section as background information, the reader is directed to the FITS standards documents to obtain complete feature and technical details. 4.1. FITS Structure A FITS file consists of a sequence of one or more header and data units (HDUs) optionally followed by special records. The structure of a FITS file is based on blocks with a length of 2880 8-bit bytes (23040 bits). This size was chosen because it is evenly divisible by the byte and word lengths of all known computer systems. All FITS files have lengths that are integral multiples of this block size. Each FITS header consists of a sequence of one or more 2880-byte blocks that hold 36 80-character records (36*80=2880). The records consist of ASCII keyword/value pairs plus optional comments. The character set is the 7-bit printing ASCII codes, including the ASCII space. In particular, the control codes CR, LF, FF, TAB and NUL are not used in FITS headers. The keywords are up to 8 characters in length. Some keywords are mandatory, and their meaning is rigidly Allen & Wells Informational [Page 3] RFC 4047 MIME Sub-type Registrations for FITS April 2005 prescribed. Among these are keywords that describe the structure and size of the subsequent data array. The standard reserves other keywords for the purpose of conveying specifically defined items of metadata. Keywords that are neither mandatory nor reserved may be inserted with semantics that are defined by local conventions. (Some local conventions have later been adopted into standardized practice.) The end of the header is signified by a block containing the keyword "END". A simple example of a FITS header for a digital image, using only keywords that were specified in the initial FITS Agreement of March 1979 [FITS], is as follows: 1 2 3 4 5 6 1234567890123456789012345678901234567890123456789012345678901234567.. SIMPLE = T / file does conform to FITS standard BITPIX = 16 / 16-bit twos-complement pixel values NAXIS = 2 / 2-dimensional image NAXIS1 = 512 / first axis length NAXIS2 = 512 / second axis length COMMENT ----------------------------------------------------- COMMENT FITS (Flexible Image Transport System) format is defined COMMENT in 'Astronomy and Astrophysics', volume 376, page 359; COMMENT bibcode: 2001A&A...376..359H COMMENT ----------------------------------------------------- ORIGIN = 'Lick Observatory ' / DATE = '2003-11-22T05:23:45' / when this file was written END (These 13 records are followed by 23 80-character records of ASCII spaces, to pad the header block to the 2880-byte FITS block size.) The first keyword/value pair, SIMPLE=T, is the signature of FITS; all FITS files begin with these characters. BITPIX is the second keyword of all FITS files; legal values for it are 8, 16, 32, -32 and -64. NAXIS is the third keyword of all FITS files; legal values for it are 0 to 999. NAXIS=0 is legal, and implies that there is no image data matrix associated with the header (and the NAXISi keywords must not be present); this value is common for files that will be given the media type "application/fits" as discussed in section 5.1 of this document. NAXIS=2 is the value most often used for files that will be given the media type "image/fits", as discussed in section 5.2 of this document (NAXIS=3 FITS images are also common). The COMMENT records will be ignored by FITS reading software, but are used here to specify the precise journal citation for the FITS standard, an item of information that is important for archiving on timescales of decades. The ORIGIN keyword is commonly used in FITS files to encode the name of the institution where the file was produced. The DATE keyword is used to convey the timestamp for the file (whereas the Allen & Wells Informational [Page 4] RFC 4047 MIME Sub-type Registrations for FITS April 2005 keyword DATE-OBS is used to convey observation start times). FITS headers commonly contain a vast variety of additional keywords used to encode metadata. In particular, a digital image header will often include keywords to specify the precise celestial coordinates of the pixels of the 2-D matrix, with conventions that became part of the FITS standard in 2002 (see [WCS2]). Finally, the above example demonstrates how, in addition to the COMMENT records, 60% of the bytes in keyword=value records in FITS headers are reserved for comments. Although the simple header example above is contained in only one FITS block, multi-block FITS headers are commonly interchanged. Following each header is a data unit that consists of a sequence of zero or more 2880-byte blocks. In accordance with the description in the keywords of their header, these blocks contain an N-dimensional data array, optionally followed by other small groups of array data. In most cases, the data array represents either an N-dimensional array of image pixel values or a 2-dimensional array of tabular data. Following the HDUs a FITS file may contain zero or more 2880-byte blocks of special records. The standard does not specify anything about their content. (This convention for special records is not known to have been used for any purpose other than prototyping new elements of the standard, such as random groups and BINTABLE.) The initial HDU in a FITS file is known as the primary HDU (PHDU); any subsequent HDU is known as an extension HDU (XHDU). The keyword content of the PHDU is distinct (a PHDU requires a slight alteration before it can become an XHDU, and most types of XHDU cannot become a PHDU). A PHDU may have a data array consisting of zero elements, and this will often be the case for FITS files intended to communicate tables and multiple images. An XHDU may be one of several standard types, or it may be another conforming type. Standard types of XHDU include "IMAGE" (containing an N-dimensional data array similar in most respects to the PHDU), "TABLE" (containing a 2-dimensional table of ASCII character data), and "BINTABLE" (containing a 2-dimensional table of binary data whose elements may themselves be multi- dimensional arrays). 4.2. History of FITS Features In 1981 the original definition of FITS described a single HDU containing one multi-dimensional image array [FITS], as illustrated by the sample header shown in section 4.1. Subsequent agreements have used the original framework of HDUs and keyword/value pairs to extend FITS while preserving the validity of all existing files. FITS now has standard means of describing multiple arrays of image data and/or multiple tables of numeric and character information. Allen & Wells Informational [Page 5] RFC 4047 MIME Sub-type Registrations for FITS April 2005 Brief highlights of the history of FITS - 1979: Initial FITS Agreement and first interchange of files - 1980: Random groups convention developed - 1981: Published original (single HDU) definition [FITS] - 1981: Published random groups definition [GROUPS] - 1982: Formally endorsed by the IAU - 1988: Defined rules for multiple HDUs [XTENSION] - 1988: FITS Working Group established by IAU [IAUFWG] - 1988: Extended to include ASCII tables [TABLE] - 1990: Extended to include IEEE floating-point data - 1994: Extended to multiple image arrays [IMAGE] - 1995: Extended to binary tables [BINTABLE] - 1997: Adopted a Y2K-compliant date format - 2001: Reiterated existing standard in one paper [NOST] - 2002: Approved conventions for world coordinates [WCS1, WCS2] 4.3. Stability of the FITS Definition After the adoption of FITS by the IAU in 1982, some in the emerging community of FITS users realized that there would be tension between the need for archival stability and the need for evolution. In order to satisfy both of these requirements they set up a controlled parliamentary process. At the time of the Generalized Extensions Agreement [XTENSION], the meta-agreement that controls the evolution of FITS, the FITS community adopted the guiding principle "Once FITS, always FITS". Under this rule, no change may be made to FITS that invalidates existing files. Changes to the FITS standard occur only after action by the IAU FITS Working Group (FWG). The FWG acts only after approval by regional working groups that coordinate FITS activity in various parts of the world. FITS has been adopted as the archival format for image data and interferometric data obtained by many ground-based observatories and for all data from many spacecraft. Many astrophysical archives store Allen & Wells Informational [Page 6] RFC 4047 MIME Sub-type Registrations for FITS April 2005 their data in FITS format, and most astronomical catalog data has been transcribed into FITS files. The many terabytes of data in these archives contribute to the stability of the FITS standard. 4.4. Portability of FITS files Eric Greisen, one of the authors of the original document [FITS], relates that in 1979 [t]he first FITS files were written by a PL/I program on an IBM 360 under OS/MFT (32-bit, twos-complement numbers and 8-bit EBCDIC characters) and were read by a Fortran program executing on a CDC 6400 under SCOPE (60-bit, ones-complement numbers and 6-bit "Display Code" characters). [Remark] Subsequent evolution of computing hardware and FITS over 25 years has not degraded this ability to transfer the data content. The structure of FITS files is extremely general, and this necessarily complements the nature of astronomical data. FITS is used to store observations of the entire electromagnetic spectrum from radio to gamma rays, from ground-based observatories and from spacecraft. FITS is also used to communicate physical properties other than radiation intensity; these may be inferred from observations or calculated by theoretical models. The pedigree of data in a FITS file typically varies among disciplines; FITS may be used to store raw and uncalibrated data, completely reduced and calibrated data, or both. Nevertheless, the FITS standard provides that the syntactic content of the data and metadata are unambiguously available to posterity. Observatories have developed numerous local conventions for the storage and transfer of data peculiar to their instrumentation and purview. Application software for handling FITS files from different regions of the electromagnetic spectrum has been largely disjoint. For a FITS file that consists of multiple HDUs there are no widely established conventions governing the meaning of, interrelations between, and suggested use of the data sets. Recognition of any local conventions used for FITS data has often been based on heuristics of the additional (non-standard) keyword/value pairs. Fully understanding the semantic content of a FITS file usually requires an external data dictionary. 4.5. Application Programming Interfaces to FITS Although the definition of FITS is expressed in terms of the bit content of the files, there are widely supported application programming interfaces (APIs) which simplify the task of manipulating Allen & Wells Informational [Page 7] RFC 4047 MIME Sub-type Registrations for FITS April 2005 FITS files. Interfaces exist for many languages and operating systems. A partial list of APIs follows: CFITSIO http://heasarc.gsfc.nasa.gov/fitsio/ fitsTcl http://heasarc.gsfc.nasa.gov/ftools/fv/fitsTcl_home.html WCSLIB http://www.atnf.csiro.au/people/mcalabre/WCS/ PyFITS http://www.stsci.edu/resources/software_hardware/pyfits WCSTools http://tdc-www.harvard.edu/software/wcstools/ FUNTOOLS http://hea-www.harvard.edu/RD/funtools/ IDLASTRO http://idlastro.gsfc.nasa.gov/ fitsy http://cfa-www.harvard.edu/~john/fitsy/ IUEDAC http://archive.stsci.edu/iue/iuedacfits.html Mathematica http://documents.wolfram.com/v5/Built-inFunctions/ GraphicsAndSound/ImportAndExport/ AdditionalInformation/Import.html MatLab http://www.mathworks.com/access/helpdesk/help/techdoc/ ref/fitsread.shtml?cmdname=fitsread Current lists of more APIs can be found at http://fits.gsfc.nasa.gov/fits_libraries.html List of applications that use FITS are found in the IANA registrations of the media types. 4.6. FITS File Conformance Testing FITS files can be tested for conformance to the Definition of FITS rules [NOST, WCS1, WCS2] with an application named "fitsverify", which is available at http://heasarc.gsfc.nasa.gov/docs/software/ftools/fitsverify/ in the form of executable binary files for Solaris, Linux, and Windows platforms, as well as in source code. Although "fitsverify" has not been endorsed by the IAUFWG, users should be aware that the designer of the program was the Secretary of the Technical Panel that produced the published FITS standard [NOST]. 4.7. Archives That Distribute FITS Files As noted in section 4.3 of this RFC, massive (multi-terabyte) data archives that contain and/or distribute FITS files contribute to the stability of the FITS standard. There are numerous publicly available archives of FITS files derived from both space and ground- based observations that span the entire range of the electromagnetic spectrum from radio to gamma-ray wavelengths. The following are examples of such archives, in no particular order: Allen & Wells Informational [Page 8] RFC 4047 MIME Sub-type Registrations for FITS April 2005 Telescope(s) URLs for archive access ------------ ------------------------------------------------------ KPNO,CTIO,.. http://archive.noao.edu/nsa/ VLT,HST,.. http://archive.eso.org/ Subaru http://smoka.nao.ac.jp/ SDSS http://www.sdss.org/dr3/ CFHT http://cadcwww.dao.nrc.ca/cfht/cfht.html VLA,VLBA,GBT http://e2e.aoc.nrao.edu/archive/archive_describe.html HST,MAST http://archive.stsci.edu/ HEASARC http://heasarc.gsfc.nasa.gov/w3browse/ Chandra http://cxc.harvard.edu/cda/ LaPalma http://archive.ast.cam.ac.uk/ingarch/ BIMA http://bimaarch.ncsa.uiuc.edu/ Keck-DEIMOS http://archive.deep.ucolick.org/ ComptonGRO http://cossc.gsfc.nasa.gov/archive/index.html Spitzer,.. http://www.ipac.caltech.edu/ AAT http://www.aao.gov.au/archive/ HIPASS http://www.atnf.csiro.au/research/multibeam/ multibeam.html JCMT http://salish.dao.nrc.ca:8080/jcmt/intro.html COBE,WMAP http://lambda.gsfc.nasa.gov/ EVN http://www.jive.nl/archive/scripts/listarch.php Gemini http://gemini.ast.cam.ac.uk/sciops/data/dataIndex.html XMM-Newton http://xmm.vilspa.esa.es/external/xmm_data_acc/xsa/ 5. IANA Considerations The general nature of the full FITS standard requires the use of the media type "application/fits". Nevertheless, the principal intent for a great many FITS files is to convey a single data array in the PHDU, and such arrays are very often 2-dimensional images. Several common image viewing applications already display single-HDU FITS files, and the prototypes for virtual observatory projects specify that data provided by web services be conveyed by the data array in the PHDU. These uses justify the registration of a second media type, namely "image/fits", for files which use the subset of the standard described by the original FITS standard paper [FITS]. We note that the media type "image/gif" [MIME2] admits raster images that are three dimensional, because animated GIF images contain two spatial dimensions and one temporal dimension. We note that the media types "image/vnd.dwg" and "image/vnd.dxf" admit data that include three-dimensional vectors and curves as well as objects created by using constructive solid geometry. Following these precedents for the "image" media type, we specify that "image/fits" MAY be used to describe FITS PHDUs that have other than two dimensions. We expect that most files described as "image/fits" will have two-dimensional (NAXIS=2) PHDUs. Allen & Wells Informational [Page 9] RFC 4047 MIME Sub-type Registrations for FITS April 2005 5.1. Registration of application/fits To: ietf-types@iana.org Subject: Registration of Standard MIME Media type application/fits MIME media type name: application MIME subtype name: fits Required parameters: none Optional parameters: none Encoding considerations: binary FITS files can be quite large. When transferred via HTTP it may be efficient for the transaction to make use of content-coding or transfer-coding values such as "gzip", "compress", or "deflate". Security considerations: FITS provides a means of transporting arrays and tables of data and keyword/value pairs of metadata. The standard FITS keywords are either mandatory or reserved. Mandatory keywords provide information necessary for correct interpretation of the data; reserved keywords merely provide standard bits of metadata. As such, the current standard FITS keywords do not pose security risks. A FITS file author may insert additional keywords with semantics that are not described by the standard. Parties exchanging FITS files may employ locally defined conventions that use various keywords and their values to induce actions on the part of the recipient. There are existing local conventions where such keywords are used to request the reading of other files and/or URIs. There are other local conventions where such keywords are used to modify the state of a telescope and/or instrument. The security implications of local conventions such as these SHOULD be analyzed by the parties employing them. Interoperability considerations: FITS files have been successfully transported between wildly different computers since 1979. The difficulty most likely to be encountered by a FITS application is inability to acquire the computational resources required by a very large FITS file. Allen & Wells Informational [Page 10] RFC 4047 MIME Sub-type Registrations for FITS April 2005 Published specification: The specification for this content type is published as a series of papers in refereed astronomical journals: Hanisch, R., et al., "Definition of the Flexible Image Transport System (FITS)", Astronomy & Astrophysics, 376, p. 359, 2001. Greisen, E. and M. Calabretta, "Representations of world coordinates in FITS", Astronomy & Astrophysics, 395, p. 1061, 2002. Calabretta, M. and E. Greisen, "Representations of celestial coordinates in FITS", Astronomy & Astrophysics, 395, p. 1077, 2002. Copies of these specifications can also be found via: http://fits.gsfc.nasa.gov/ http://archive.stsci.edu/fits/ http://www.cv.nrao.edu/fits/ http://heasarc.gsfc.nasa.gov/docs/heasarc/fits.html Applications that use this media type: There are many astronomical image viewing and data reduction applications including, but not limited to, the following list: IRAF http://iraf.noao.edu/ AIPS http://www.aoc.nrao.edu/aips/ AIPS++ http://aips2.nrao.edu/ MIDAS http://www.eso.org/projects/esomidas/ ds9 http://hea-www.harvard.edu/RD/ds9/ fv http://heasarc.gsfc.nasa.gov/ftools/fv/ Aladin http://aladin.u-strasbg.fr/ Starlink http://star-www.rl.ac.uk/ Miriad http://bima.astro.umd.edu/miriad/ STSDAS http://www.stsci.edu/resources/software_hardware/stsdas PROS http://hea-www.harvard.edu/PROS/pros.html CIAO http://cxc.harvard.edu/ciao/ XANADU http://heasarc.gsfc.nasa.gov/docs/xanadu/xanadu.html HESSI http://hesperia.gsfc.nasa.gov/ssw/hessi/doc/ FITSview http://www.nrao.edu/software/fitsview/ XMM-SAS http://xmm.vilspa.esa.es/external/xmm_sw_cal/sas_frame.shtml At the present time many of these applications are not designed to support use as viewers of "application/fits" files in association with web browsers. Allen & Wells Informational [Page 11] RFC 4047 MIME Sub-type Registrations for FITS April 2005 Additional information: A FITS file described with the media type "application/fits" SHOULD conform to the published standards for FITS files as determined by convention and agreement within the international FITS community. No other constraints are placed on the content of a file described as "application/fits". A FITS file described with the media type "application/fits" may have an arbitrary number of conforming extension header and data units (XHDUs) that follow its mandatory primary header and data unit (PHDU). The XHDUs may be one of the standard types ("IMAGE", "TABLE", and "BINTABLE") or any other type that satisfies the "Requirements for Conforming Extensions" (section 4.4.1 of [NOST]). The PHDU or any "IMAGE" XHDU may contain zero to 999 dimensions with zero or more pixels along each dimension. The PHDU may use the random groups convention, in which the dimension of the first axis is zero and the keywords GROUPS, PCOUNT and GCOUNT appear in the header. NAXIS1=0 and GROUPS=T is the signature of random groups; see section 7 of the Definition of FITS paper [NOST]. Recommendations for application writers: An application intended to handle "application/fits" SHOULD be able to provide a user with a manifest of all of the HDUs that are present in the file and with all of the keyword/value pairs from each of the HDUs. An application intended to handle "application/fits" SHOULD be prepared to encounter XHDUs that contain either ASCII or binary tables, and to provide a user with access to their elements. An application which can modify FITS files or retrieve FITS files from an external service SHOULD be capable of writing such files to a local storage medium. Complete interpretation of the meaning and intended use of the data in each of the HDUs typically requires the use of heuristics that attempt to ascertain which local conventions were used by the author of the FITS file. As examples, files with media type "application/fits" might contain any of the following contents: - An empty PHDU (containing zero data elements) followed by a table HDU that contains a catalog of celestial objects. Allen & Wells Informational [Page 12] RFC 4047 MIME Sub-type Registrations for FITS April 2005 - An empty PHDU followed by a table HDU that encodes a series of time-tagged photon events from an exposure using an X-ray detector. - An empty PHDU followed by a series of IMAGE HDUs containing data from an exposure taken by a mosaic of CCD detectors. - An empty PHDU followed by a series of table HDUs that contain a snapshot of the state of a relational database. - A PHDU containing a single image along with keyword/value pairs of metadata. - A PHDU with NAXIS1=0 and GROUPS=T followed by random groups data records of complex fringe visibilities Magic number(s): "SIMPLE = T" Jeff Uphoff of the National Radio Astronomy Observatory (NRAO) has contributed database entries for the magic number file which is used by the Unix "file" command. Magic number files with these entries are distributed with a variety of Unix-like operating systems. In addition to recognizing a FITS file using the string given above, the Uphoff entries also recognize the data type of the pixels in the PHDU. File extension(s): fits This file extension SHOULD NOT be interpreted as a prescription. The FITS standard originated in the era when files were stored and exchanged via magnetic tape; it does not prescribe any nomenclature for files on disk. Various sites within the FITS community have long-established practices where files are presumed to be FITS by context. File extensions used at such sites commonly indicate content of the file instead of the data format. In the absence of other information it is reasonably safe to presume that a file name ending in ".fits" is intended to be a FITS file. Nevertheless, there are other commonly used extensions; e.g., ".fit", ".fts", and many others not suitable for listing in a media type registration. Intended usage: Common Persons to contact for further information: "Steve Allen" "Don Wells" Allen & Wells Informational [Page 13] RFC 4047 MIME Sub-type Registrations for FITS April 2005 Author/Change controller: "Steve Allen" The IAU FITS Working Group may authorize changes to this document. 5.2. Registration of image/fits To: ietf-types@iana.org Subject: Registration of Standard MIME Media type image/fits MIME media type name: image MIME subtype name: fits Required parameters: none Optional parameters: none Encoding considerations: binary FITS files can be quite large. When transferred via HTTP it may be efficient for the transaction to make use of content-coding or transfer-coding values such as "gzip", "compress", or "deflate". Security considerations: FITS provides a means of transporting arrays and tables of data and keyword/value pairs of metadata. The standard FITS keywords are either mandatory or reserved. Mandatory keywords provide information necessary for correct interpretation of the data; reserved keywords merely provide standard bits of metadata. As such, the current standard FITS keywords do not pose security risks. A FITS file author may insert additional keywords with semantics that are not described by the standard. Parties exchanging FITS files may employ locally defined conventions that use various keywords and their values to induce actions on the part of the recipient. There are existing local conventions where such keywords are used to request the reading of other files and/or URIs. There are other local conventions where such keywords are used to modify the state of a telescope and/or instrument. The security implications of local conventions such as these SHOULD be analyzed by the parties employing them. Allen & Wells Informational [Page 14] RFC 4047 MIME Sub-type Registrations for FITS April 2005 Interoperability considerations: FITS files have been successfully transported between wildly different computers since 1979. The difficulty most likely to be encountered by a FITS application is inability to acquire the computational resources required by a very large FITS file. Published specification: The specification for this content type is published as a series of papers in refereed astronomical journals: Hanisch, R., et al., "Definition of the Flexible Image Transport System (FITS)", Astronomy & Astrophysics, 376, p. 359, 2001. Greisen, E. and M. Calabretta, "Representations of world coordinates in FITS", Astronomy & Astrophysics, 395, p. 1061, 2002. Calabretta, M. and E. Greisen, "Representations of celestial coordinates in FITS", Astronomy & Astrophysics, 395, p. 1077, 2002. Copies of these specifications can also be found via: http://fits.gsfc.nasa.gov/ http://archive.stsci.edu/fits/ http://www.cv.nrao.edu/fits/ http://heasarc.gsfc.nasa.gov/docs/heasarc/fits.html Applications that use this media type: There are many astronomical image viewing and data reduction applications including, but not limited to, the following list: IRAF http://iraf.noao.edu/ AIPS http://www.aoc.nrao.edu/aips/ AIPS++ http://aips2.nrao.edu/ MIDAS http://www.eso.org/projects/esomidas/ ds9 http://hea-www.harvard.edu/RD/ds9/ fv http://heasarc.gsfc.nasa.gov/ftools/fv/ Aladin http://aladin.u-strasbg.fr/ Starlink http://star-www.rl.ac.uk/ Miriad http://bima.astro.umd.edu/miriad/ STSDAS http://www.stsci.edu/resources/software_hardware/stsdas PROS http://hea-www.harvard.edu/PROS/pros.html CIAO http://cxc.harvard.edu/ciao/ XANADU http://heasarc.gsfc.nasa.gov/docs/xanadu/xanadu.html Allen & Wells Informational [Page 15] RFC 4047 MIME Sub-type Registrations for FITS April 2005 HESSI http://hesperia.gsfc.nasa.gov/ssw/hessi/doc/ FITSview http://www.nrao.edu/software/fitsview/ XMM-SAS http://xmm.vilspa.esa.es/external/xmm_sw_cal/sas_frame.shtml Non-astronomical FITS image display applications include: netpbm http://netpbm.sourceforge.net/ gimp http://www.gimp.org/ IDL http://www.rsinc.com/ ImageMagick http://www.imagemagick.com/ Mathematica http://www.wolfram.com/ MatLab http://www.mathworks.com/ xv http://www.trilon.com/xv/xv.html There are also two FITS plug-ins for Adobe Photoshop (http://www.adobe.com/products/photoshop/), available at http://astroshed.com/fitsplug/fitsplug.htm and http://www.spacetelescope.org/projects/fits_liberator/ At the present time many of the applications listed above are not designed to support use as viewers of "image/fits" files in association with web browsers. Additional information: A FITS file described with the media type "image/fits" SHOULD have a PHDU with positive integer values for the NAXIS and NAXISn keywords, and hence SHOULD contain at least one pixel. Files with 4 or more non-degenerate axes (NAXISn>1) SHOULD be described as "application/fits", not as "image/fits". (In rare cases it may be appropriate to describe a NULL image -- a dataless container for FITS keywords, with NAXIS=0 or NAXISn=0 -- or an image with 4+ non- degenerate axes as "image/fits" but this usage is discouraged because such files may confuse simple image viewer applications.) FITS files declared as "image/fits" MAY also have one or more conforming XHDUs following their PHDUs. These extension HDUs MAY contain standard, non-linear, world coordinate system (WCS) information in the form of tables or images. The extension HDUs MAY also contain other, non-standard metadata pertaining to the image in the PHDU in the forms of keywords and tables. A FITS file described with the media type "image/fits" SHOULD be principally intended to communicate the single data array in the PHDU. This means that "image/fits" SHOULD NOT be applied to FITS files containing MEF (multi-exposure-frame) mosaic images. Also, random groups files MUST be described as "application/fits" and not as "image/fits". Allen & Wells Informational [Page 16] RFC 4047 MIME Sub-type Registrations for FITS April 2005 A FITS file described with the media type "image/fits" is also valid as a file of media type "application/fits". The choice of classification depends on the context and intended usage. Recommendations for application writers: An application that is intended to handle "image/fits" SHOULD be able to provide a user with a manifest of all of the HDUs that are present in the file and with all of the keyword/value pairs from each of the HDUs. An application writer MAY choose to ignore HDUs beyond the PHDU, but even in this case the application SHOULD be able to present the user with the keyword/value pairs from the PHDU. Note that an application intended to render "image/fits" for viewing by a user has significantly more responsibility than an application intended to handle, e.g., "image/tiff" or "image/gif". FITS data arrays contain elements which typically represent the values of a physical quantity at some coordinate location. Consequently they need not contain any pixel rendering information in the form of transfer functions, and there is no mechanism for color look-up tables. An application SHOULD provide this functionality, either statically using a more or less sophisticated algorithm, or interactively allowing a user various degrees of choice. Furthermore, the elements in a FITS data array may be integers or floating-point numbers. The dynamic range of the data array values may exceed that of the display medium and the eye, and their distribution may be highly nonuniform. Logarithmic, square-root, and quadratic transfer functions along with histogram equalization techniques have proved helpful for rendering FITS data arrays. Some elements of the array may have values which indicate that their data are undefined or invalid; these should be rendered distinctly. Via WCS Paper I [WCS1] the standard permits "CTYPEnnn = 'COMPLEX'" to assert that a data array contains complex numbers (future revisions might admit other elements such as quaternions or general tensors). Three-dimensional data arrays (NAXIS=3 with NAXIS1, NAXIS2 and NAXIS3 > 1) are of special interest. Applications intended to handle "image/fits" MAY default to displaying the first 2D plane of such an image cube, or they MAY default to presenting such an image in a fashion akin to that used for an animated GIF, or they MAY present the data cube as a mosaic of "thumbnail" images. Even in the absence of WCS indication of a temporal axis the time-lapse movie-looping display technique can be effective, and application writers SHOULD consider offering it for all three-dimensional arrays. An "image/fits" PHDU with NAXIS=1 is describing a one-dimensional entity such as a spectrum or a time series. Applications intended to Allen & Wells Informational [Page 17] RFC 4047 MIME Sub-type Registrations for FITS April 2005 handle "image/fits" MAY default to displaying such an image as a graphical plot rather than as a two-dimensional picture with a single row. An application that cannot handle an image with dimensionality other than 2 SHOULD gracefully indicate its limitations to its users when it encounters NAXIS=1 or NAXIS=3 cases, while still providing access to the keyword/value pairs. FITS files with degenerate axes (i.e., 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). An algorithm designed to render only two-dimensional images will be capable of displaying such an NAXIS=3 or NAXIS=4 FITS array that has one or two of the axes consisting of a single pixel, and an application writer SHOULD consider coding this capability into the application. Writers of new applications which generate FITS files intended to be described as "image/fits" SHOULD consider using the WCSAXES keyword [WCS1] to declare the dimensionality of such degenerate axes, so that NAXIS can be used to convey the number of non-degenerate axes. Magic number(s): "SIMPLE = T" Jeff Uphoff of the National Radio Astronomy Observatory (NRAO) has contributed database entries for the magic number file which is used by the Unix "file" command. Magic number files with these entries are distributed with a variety of Unix-like operating systems. In addition to recognizing a FITS file using the string given above, the Uphoff entries also recognize the data type of the pixels in the PHDU. File extension(s): fits This file extension SHOULD NOT be interpreted as a prescription. The FITS standard originated in the era when files were stored and exchanged via magnetic tape; it does not prescribe any nomenclature for files on disk. Various sites within the FITS community have long-established practices where files are presumed to be FITS by context. File extensions used at such sites commonly indicate content of the file instead of the data format. In the absence of other information it is reasonably safe to presume that a file name ending in ".fits" is intended to be a FITS file. Nevertheless, there are other commonly used extensions; e.g., ".fit", ".fts", and many others not suitable for listing in a media type registration. Allen & Wells Informational [Page 18] RFC 4047 MIME Sub-type Registrations for FITS April 2005 Intended usage: Common Persons to contact for further information: "Steve Allen" "Don Wells" Author/Change controller: "Steve Allen" The IAU FITS Working Group may authorize changes to this document. 6. References 6.1. Normative References [Require] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [MIME1] Freed, N. and N. Borenstein, "Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies", RFC 2045, November 1996. [MIME2] Freed, N. and N. Borenstein, "Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types", RFC 2046, November 1996. [MIME4] Freed, N., Klensin, J., and J. Postel, "Multipurpose Internet Mail Extensions (MIME) Part Four: Registration Procedures", BCP 13, RFC 2048, November 1996. [HTTP] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999. [NOST] Hanisch, R., et al., "Definition of the Flexible Image Transport System (FITS)", Astronomy & Astrophysics, 376, p. 359, 2001. [WCS1] Greisen, E. and M. Calabretta, "Representations of world coordinates in FITS", Astronomy & Astrophysics, 395, p. 1061, 2002. [WCS2] Calabretta, M. and E. Greisen, "Representations of celestial coordinates in FITS", Astronomy & Astrophysics, 395, p. 1077, 2002. Allen & Wells Informational [Page 19] RFC 4047 MIME Sub-type Registrations for FITS April 2005 6.2. Informative References [FITS] Wells, D., et al., "FITS: A Flexible Image Transport System", Astronomy & Astrophysics Supplement, 44, p. 363, 1981. [GROUPS] Greisen, E. and R. Harten, "An extension of FITS for groups of small arrays of data", Astronomy & Astrophysics Supplement, 44, p. 371, 1981. [XTENSION] Grosbol, P., et al., "Generalized extensions and blocking factors for FITS", Astronomy & Astrophysics Supplement, 73, p. 359, 1988. [IAUFWG] McNally, D., ed., "Transactions of the IAU, Vol. XXB 1988, Proceedings of the Twentieth General Assembly Baltimore 1988", Kluwer Academic, p. 52 (Resolution B2), 1988. [TABLE] Harten, R., et al., "The FITS tables extension", Astronomy & Astrophysics Supplement, 73, p. 365, 1988. [IMAGE] Ponz, J., et al., "The FITS image extension", Astronomy & Astrophysics Supplement, 105, p. 53, 1994. [BINTABLE] Cotton, W., et al., "Binary table extension to FITS", Astronomy & Astrophysics Supplement, 113, p. 159, 1995. [Remark] Greisen, E., "FITS: A remarkable achievement in information exchange" in "Information Handling in Astronomy -- Historical Vistas", A. Heck, ed., Kluwer Academic, p. 71, 2003. [IVOA] The International Virtual Observatory Alliance, http://www.ivoa.net/ [NVO] The US National Virtual Observatory, http://www.us- vo.org/ [AstroGrid] The UK AstroGrid, http://www.astrogrid.org/ [AVO] The European Astrophysical Virtual Observatory, http://www.euro-vo.org/ [ASU] Albrecht, M., et al., "Astronomical Server URL", http://vizier.u-strasbg.fr/doc/asu.html, 1996. Allen & Wells Informational [Page 20] RFC 4047 MIME Sub-type Registrations for FITS April 2005 [SIAP] Tody, D., et al., "Simple Image Access Prototype Specification", http://www.us-vo.org/pubs/, 2002. [TIFF] Adobe Systems Incorporated, "TIFF Revision 6.0", http://partners.adobe.com/asn/developer/pdfs/tn/TIFF6.pdf 1992. [GeoTIFF] Ritter, N. and M. Ruth, "GeoTIFF Format Specification", http://www.remotesensing.org/geotiff/geotiff.html, 2000. 7. Security Considerations The security considerations of interchanging FITS files are discussed above within the text of the IANA registration for each media type. 8. Contributors Several individuals have made significant contributions to the content and clarity of this text: - Francois Ochsenbein (Observatoire Astronomique de Strasbourg) - Clive Davenhall (Institute for Astronomy of the Royal Observatory Edinburgh) - Tom McGlynn (Laboratory for High Energy Astrophysics of the NASA Goddard Space Flight Center) - Lucio Chiappetti (Milan section of the Italian Istituto di Astrofisica Spaziale e Fisica Cosmica) - William Pence (NASA High Energy Astrophysics Science Archive Research Center) - Arnold Rots (High Energy Astrophysics Division of the Smithsonian Astrophysical Observatory) - Doug Tody (National Radio Astronomy Observatory) - Bob Hanisch (Space Telescope Science Institute) - Mark Calabretta (Australia Telescope National Facility) Allen & Wells Informational [Page 21] RFC 4047 MIME Sub-type Registrations for FITS April 2005 9. Acknowledgements This document originated when William Joye of the Research and Development Group at the Smithsonian Astrophysical Observatory High Energy Astrophysics Division discovered many experimental and unofficial MIME media types being used by various agencies. Jeff Uphoff of the National Radio Astronomy Observatory (NRAO) contributed the FITS entries for the magic number file that permits the Unix-like "file" command on many systems to identify a FITS file. Nelson Zarate verified that the fgread and fgwrite programs are able to store hierarchical directories containing files with arbitrary MIME media types within a HDU of a FITS file. The fgread and fgwrite programs are part of the FITSUTIL IRAF external package (version dated September 1999) written by N. Zarate, D. Tody, and R. Seaman at National Optical Astronomy Observatory (NOAO). Authors' Addresses Steven L. Allen UCO/Lick Observatory University of California Santa Cruz, CA 95064 USA Phone: +1 831 459 3046 EMail: sla@ucolick.org Donald C. Wells National Radio Astronomy Observatory 520 Edgemont Road Charlottesville, Virginia 22903-2475 USA Phone: +1 434 296 0277 EMail: dwells@nrao.edu Allen & Wells Informational [Page 22] RFC 4047 MIME Sub-type Registrations for FITS April 2005 Full Copyright Statement Copyright (C) The Internet Society (2005). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Intellectual Property The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf- ipr@ietf.org. Acknowledgement Funding for the RFC Editor function is currently provided by the Internet Society. Allen & Wells Informational [Page 23]