# IRAF can't deal with .fits files

## Main Question or Discussion Point

I've been (trying) to learn astronomy, more specifically image reduction, using IRAF. I have, though, been having problems with the fits files from the Sloan Digital Sky Survey site. For example from this archive. I can't do anything with them. Implot, imstat all give errors. Using python, numdisplay can't work with this files either, although ds9 works fine.

I assume that with IRAF everything is fine since it can work with .fits from other surveys. My insistence with the above archive is the availability of the files (I haven't been able to find other source of unprocessed files...)

Can somebody help me? Is something wrong with the files or it might be something with IRAF?

Last edited:

Related Astronomy and Astrophysics News on Phys.org
phyzguy
I've been (trying) to learn astronomy, more specifically image reduction, using IRAF. I have, though, been having problems with the fits files from the Sloan Digital Sky Survey site. For example from this archive. I can't do anything with them. Implot, imstat all give errors. Using python, numdisplay can't work with this files either, although ds9 works fine.

I assume that with IRAF everything is fine since it can work with .fits from other surveys. My insistence with the above archive is the availability of the files (I haven't been able to find other source of unprocessed files...)

Can somebody help me? Is something wrong with the files or it might be something with IRAF?
I've never used IRAF, but Marthematica can open FITS files and allow you to examine them or plot the data inside. Python also has a module called Pyfits (available for download here). Here is some simple code I use to examine the FITS headers and data. One of these two should allow you to determine if the problem is with the files or with IRAF, although if ds9 works then the files are probably OK.

Code:
import pyfits

file = pyfits.open("your_file.fits")
data = file[0].data

print "\n"
print "Data size is:", data.shape
print "First data element is ",data[0,0]

How happy would I be if instead of IRAF I could just use Mathematica, matlab or even python, I hate that there isn't a viable alternative...

I just tried your suggestion and right after I enter the first command (after the import) pyraf tells me:

Code:
The following header keyword is invalid or follows an unrecognized non-standard convention:
SDSS                           / THIS HEADER CONTAINS SPECIAL SDSS KEYWORDS
The following header keyword is invalid or follows an unrecognized non-standard convention:
UNSIGNED                       / UNSIGNED DATA - NO BSCALE OR BZERO KEYWORDS
So it seems the problem is in the file. My question is then changed to: How do we make IRAF deal with this errors?

phyzguy
How happy would I be if instead of IRAF I could just use Mathematica, matlab or even python, I hate that there isn't a viable alternative...

I just tried your suggestion and right after I enter the first command (after the import) pyraf tells me:

Code:
The following header keyword is invalid or follows an unrecognized non-standard convention:
SDSS                           / THIS HEADER CONTAINS SPECIAL SDSS KEYWORDS
The following header keyword is invalid or follows an unrecognized non-standard convention:
UNSIGNED                       / UNSIGNED DATA - NO BSCALE OR BZERO KEYWORDS
So it seems the problem is in the file. My question is then changed to: How do we make IRAF deal with this errors?
What are you trying to do with the data that you can't do with ds9 or Python? Have you tried looking at this site, which has tools for vieing the SDSS data?

To phyzguy:
There's nothing specific that I want to do with the images that I can't do with python, the thing is that I don't have time to program all the tasks on python. Sure there are some repositories but they don't have all the tasks and time is an issue right now.

To Chronos:
That site is really a big help. Thank you for this reference it has proven to be very helpful.

The SDSS FITS files are in MEF (multi-extension FITS) format, and so you need to specify the image extension to the iraf task, e.g.

cl> imstat sdss.fits[1]

where the "[1]" specifies image extension one (the usual image, others include BINTABLES that cannot be used with image tasks). The FITSUTIL external package has some tasks for dealing with MEF that may help, esp the FXHEADER task that will list the extensions. If you just want to deal with the image you can copy it out of the file using

cl> imcopy sdss.fits[1] new.fits