#!/usr/bin/env python

import os
import sys
import pyfits
import numpy

if __name__ == "__main__":

    fn = sys.argv[1]
    bn,_ = os.path.splitext(fn)

    hdulist = pyfits.open(fn)
    print "Reading input", fn

    img = pyfits.PrimaryHDU(
        data=hdulist[0].data,
        header=hdulist[0].header
    )
    img_out_fn = bn+"_image.fits"
    print "Writing", img_out_fn
    img.writeto(img_out_fn, clobber=True)

    mask = pyfits.PrimaryHDU(
        data = hdulist[1].data.astype(numpy.int32),
        header = hdulist[1].header
    )
    mask_out_fn = bn+"_mask.fits"
    print "writing",mask_out_fn
    mask.writeto(mask_out_fn, clobber=True)

    var = pyfits.PrimaryHDU(
        data = hdulist[2].data,
        header = hdulist[2].header
    )
    var_out_fn = bn+"_var.fits"
    print "writing",var_out_fn
    var.writeto(var_out_fn, clobber=True)

    print "all done!"
