FITStoImage
Converting a FITS cube to a CASA Image
If you want to perform analysis on a FITS file in CASA, you first need to import it into `.image` format.
importfits('file.fits','file.image')
If this works, great! You can move on. CASA will treat NaN values in an image as 'masked'.
Dealing with Errors
There may be issues with FITS headers. CASA respects a large number of header keys (reference).
There are many ways to edit a FITS header. One of the most straightforward to use is edhead. Otherwise, one can use CASA's imhead
CASA Keyword | FITS keyword | Description |
beammaj | BMAJ | Major axis of the clean beam |
beammin | BMIN | Minor axis of the clean beam |
beampa | BPA | Position angle of the clean beam |
bunit | BUNIT | Brightness unit (K, Jy/beam, etc) |
cdeltn | CDELTn | Pixel size, nth axis (max n is 4) |
crpixn | CRPIXn | Pixel coordinate of reference point, nth axis |
crvaln | CRVALn | Pixel location of reference point, nth axis |
ctypen | CTYPEn | Axis name, nth axis. For FITS, this includes the projection |
cunitn | CUNITn | Pixel units, nth axis |
datamax | DATAMAX | Maximum pixel value in image |
datamin | DATAMIN | Minimum pixel value in image |
date-obs | DATE-OBS | Date of the observation |
equinox | EQUINOX | Reference frame for directional coordinates |
imtype | Image type: intensity, | |
minpos | Position of the minimum value (world unit) | |
minpixpos | Same in pixel (array) | |
maxpos | Position of the maximum value (world unit) | |
maxpixpos | Same in pixel (array) | |
object | OBJECT | Source name |
observer | OBSERVER | Observer name |
projection | CTYPEn | Image projection ('SIN','TAN', or 'ZEA') |
reffreqtype | Reference frame for the spectral coordinates | |
restfreq | RESTFREQ | Rest Frequency |
shape | NAXISn | Number of pixels along each axis |
telescope | TELESCOP | Telescope name |
What does it mean if you get this sort of error?
CASA <1>: importfits('file.fits','file.image')
2013-12-18 13:06:18 WARN importfits::FITSCoordinateUtil::fromFITSHeader The wcs function failures are too severe to continue ...
2013-12-18 13:06:18 WARN importfits::ImageFITSConverterImpl::FITSToImage (file /var/rpmbuild/BUILD/casapy-stable/casapy-stable-42.0.26945/casacore/images/Images/ImageFITSConverter.tcc, line 71) No proper coordinate system defined in FITS file. Using dummy linear system instead.
First, go to the `casapy-yyyymmdd-hhmmss.log` file and look at the errors.
2013-12-18 13:06:18 INFO importfits::FITSCoordinateUtil::fromFITSHeader celfix incurred the error Inconsistent or unrecognized coordinate axis types
2013-12-18 13:06:18 INFO importfits::FITSCoordinateUtil::fromFITSHeader spcfix incurred the error Inconsistent or unrecognized coordinate axis types
2013-12-18 13:06:18 INFO importfits::FITSCoordinateUtil::fromFITSHeader cylfix incurred the error Inconsistent or unrecognized coordinate axis types
In my case, the error turned out to be that `CTYPE3` was set to `RADI-LSR`, while it should be `VELO-LSR` to be recognized by the CASA system. The velocity convention is, unfortunately, lost.