Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

IRAF can't deal with .fits files

  1. Oct 5, 2013 #1
    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: Oct 5, 2013
  2. jcsd
  3. Oct 5, 2013 #2


    User Avatar
    Science Advisor

    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 (Text):

    import pyfits

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

    print "Header items are:",header.keys()
    for name in header.keys():
        print name, " is ",header[name]
    print "\n"
    print "Data size is:", data.shape
    print "First data element is ",data[0,0]

  4. Oct 5, 2013 #3
    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 (Text):
    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:
    So it seems the problem is in the file. My question is then changed to: How do we make IRAF deal with this errors?
  5. Oct 5, 2013 #4


    User Avatar
    Science Advisor

    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?
  6. Oct 6, 2013 #5


    User Avatar
    Science Advisor
    Gold Member

  7. Oct 6, 2013 #6
    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.
  8. Oct 9, 2013 #7
    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
  9. Oct 20, 2013 #8
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook