For many years there was officially no such thing as disc FITS. However, ad hoc implementations have existed for a long time. Of these, FITSDIN will handle files adhering to the FITS rules for blocking (and more), but it doesn't process byte-swapped `FITS' files. Thus it can process files with fixed-length records of semi-arbitrary length; so, for example, files mangled during network transfer, which have 512-byte records rather than the customary 2880, may be read. However, it will not handle, VAX FITS files as may be produced with FIGARO's WDFITS. FITSDIN will accept a list of files with wildcards. However, a comma-separated list must be enclosed in quotation marks. Also wildcards must be protected. Here are some examples so you get the idea.
% fitsdin '*.fit'
% fitsdin \*.fit
ICL> fitsdin *.fit
% fitsdin '"i*.fit,abc123.fts"'
ICL> fitsdin "i*.fit,abc123.fts"
In the following example a floating-point file is read (BITPIX=
32)
and so FMTCNV is not required.
% fitsdin '*.fits'
2 files to be processed...
Processing file number 1: /home/scratch/dro/gr.fits.
File /scratch/dro/gr.fits(1) Descriptors follow:
SIMPLE = T / Standard FITS format
BITPIX = -32 / No. of bits per pixel
NAXIS = 2 / No. of axes in image
NAXIS1 = 512 / No. of pixels
NAXIS2 = 256 / No. of pixels
EXTEND = T / FITS extension may be present
BLOCKED = T / FITS file may be blocked
BUNIT = 'none given ' / Units of data values
CRPIX1 = 1.000000000000E+00 / Reference pixel
CRVAL1 = 0.000000000000E+00 / Coordinate at reference pixel
CDELT1 = 1.000000000000E+00 / Coordinate increment per pixel
CTYPE1 = ' ' / Units of coordinate
CRPIX2 = 1.000000000000E+00 / Reference pixel
CRVAL2 = 0.000000000000E+00 / Coordinate at reference pixel
CDELT2 = 1.000000000000E+00 / Coordinate increment per pixel
CTYPE2 = ' ' / Units of coordinate
ORIGIN = 'ESO-MIDAS' / Written by MIDAS
OBJECT = 'artificial image' / MIDAS desc.: IDENT(1)
: : :
: : :
: : :
HISTORY ESO-DESCRIPTORS END ................
END
OUT - Output image > gr
Completed processing of disc file /home/scratch/dro/gr.fits to gr.
File has illegal-length blocks (512). Blocks should be a multiple (1--10) of the
FITS record length of 2880 bytes.
Processing file number 2: /home/scratch/dro/indef.fits.
File /home/scratch/dro/indef.fits(1) Descriptors follow:
SIMPLE = T / FITS STANDARD
BITPIX = 32 / FITS BITS/PIXEL
NAXIS = 2 / NUMBER OF AXES
NAXIS1 = 256 /
NAXIS2 = 20 /
BSCALE = 3.7252940008E28 / REAL = TAPE*BSCALE + BZERO
BZERO = 7.9999999471E37 /
OBJECT = 'JUNK[1/1]' /
ORIGIN = 'KPNO-IRAF' /
: : :
: : :
: : :
END
OUT - Output image > iraf
Completed processing of disc file /home/scratch/dro/indef.fits to iraf.
NDFTRACE shows that the object name is written to the NDF's title, that axes derived from the FITS headers are present, and that gr is a _REAL NDF.
% ndftrace gr
NDF structure /home/scratch/dro/iraf:
Title: artificial image
Units: none given
Shape:
No. of dimensions: 2
Dimension size(s): 512 x 256
Pixel bounds : 1:512, 1:256
Total pixels : 131072
Axes:
Axis 1:
Label : Axis 1
Units : pixel
Extent: -0.5 to 511.5
Axis 2:
Label : Axis 2
Units : pixel
Extent: -0.5 to 255.5
Data Component:
Type : _REAL
Storage form: PRIMITIVE
Bad pixels may be present
Extensions:
FITS <_CHAR*80>
Both FITSIN and FITSDIN write the FITS headers into an NDF extension
called FITS within your NDF. The extension is a literal copy of all
the 80-character `card images' in order. These can be inspected or
written to a file via the command FITSLIST. There is more on this NDF
extension and its purpose in
the FITS
Airlock.
KAPPA --- Kernel Application Package