Handling of FITS files
FITS (Flexible Image Transport System) is commonly used in astronomy to
store images. A very simple way to describe the format is that they contain
an ASCII header describing the content of the file and the image itself
in binary format. DPUSER is designed to efficiently handle this kind of
files. The most common things you might want to do is reading
images, writing images and editing
the information in the header.
A set of functions has been optimised to deal
with large files, which probably do not fit in the main memory of your
computer.
Reading FITS files
DPUSER is able to read in FITS files, including FITS binary tables. The files may be compressed with gzip, uncompressing
is done on the fly. The task of reading in a FITS file can be done in two
ways:
-
Use the function readfits
-
Supply the filename in single quotes
-
Use the function readfitsextension
-
Use the function readfitsall
-
Use the function readfitsbintable
Examples
Read in a complete FITS file into a variable named image:
image = readfits("filename") or image
= 'filename'
Read in the first image of a FITS cube:
image = 'filename'[*,*,1]
Read in columns 100 to 200 and rows 50 to 150 of a FITS file:
image = 'filename'[100:200, 50:150]
Writing FITS files
DPUSER is able to write simple FITS files, including FITS extensions, but it cannot (yet) write
FITS tables. Writing, as reading FITS files can be accomplished using
two methods:
-
Use the procedure writefits
-
Assign a matrix to a filename in single quotes
DPUSER creates a new file in either way. You cannot overwrite part of an
existing file.
Examples
Write a 2-dimensional gaussian to a file named gauss.fits:
writefits "gauss.fits", gauss(129,129,10)
which is equivalent to:
'gauss.fits' = gauss(129,129,10)
Editing the FITS header
Once a FITS file is read into memory, where it is represented by a matrix,
it is possible to edit and display the FITS header information with a set
of FITS header editing functions. These are:
header |
Returns the FITS header as a string |
getfitskey |
Returns the value of a FITS key |
setfitskey |
Sets the value of a FITS key |
setwcs |
Sets the world coordinate system in the FITS header |
copyheader |
Copy a FITS header to a variable |
Optimised routines
Some data analysis tasks require the handling of huge files. The following
functions have been optimised to deal with large files. To take advantage
of these capabilities, use filenames in single quotes and not the function
readfits.
header |
Returns the FITS header as a string |
cubeavg |
Does an average in the 3rd dimension |
cubemedian |
Does a median in the 3rd dimension |
ssa |
Simple Shift-and-Add |
ssastat |
Simple Shift-and-Add statistics |
sssa |
Simple Shift-and-Add using statistics |
wsa |
Weighted Shift-and-Add |
swsa |
Weighted Shift-and-Add using statistics |