Skip to content

Instantly share code, notes, and snippets.

@low-sky
Created July 17, 2015 17:37
Show Gist options
  • Save low-sky/e50420b1d5de2c0999a2 to your computer and use it in GitHub Desktop.
Save low-sky/e50420b1d5de2c0999a2 to your computer and use it in GitHub Desktop.
WISE mosaic
from astropy.table import Table
from astropy.wcs import wcs
from astropy.io import fits
import montage_wrapper as montage
import urllib
import numpy as np
import shutil
import os
filename = 'pathfinder_mom0.fits'
w = wcs.WCS(filename)
t = Table.read('tiles.fits')
data = fits.getdata(filename)
hdr = fits.getheader(filename)
x,y = w.wcs_world2pix(t['ra'],t['dec'],0)
idx = np.where((x>=-0.1*data.shape[1])*(x<=1.1*data.shape[1])*(y>=-0.1*data.shape[0])*(y<=1.1*data.shape[0]))
#*(t['band']=='halpha')*(t['qcgrade']!='D')*(t['in_dr2']=='true'))
try:
shutil.rmtree('./tmp/')
except OSError:
pass
try:
os.mkdir('tmp')
except OSError:
pass
for ctr,ii in enumerate(idx[0]):
url = 'http://unwise.me/data/{0}/{1}/unwise-{1}-w4-img-m.fits'.format(t[ii]['coadd_id'][0:3],t[ii]['coadd_id'])
print(url)
urllib.urlretrieve(url,'./tmp/Temp{0}.fits'.format(ctr))
hdr.totextfile('hdr.tmp',clobber=True)
montage.mosaic('tmp','wisemosaic',header='hdr.tmp')
hdu = fits.open('wisemosaic/mosaic.fits')
mosdata = hdu[0].data
moswcs = wcs.WCS(hdu[0].header)
OldPixelAreaArcsec2 = np.abs(np.linalg.det(wcs.WCS('tmp/Temp0.fits').pixel_scale_matrix*3600))
NewPixelAreaArcsec2 = np.abs(np.linalg.det(moswcs.pixel_scale_matrix)*
(3.6e3**2))
PixPerSr = 4.254e10/NewPixelAreaArcsec2
mosdata = 10**(-8.088)*hdu[0].data*PixPerSr*1e-6*\
(NewPixelAreaArcsec2/OldPixelAreaArcsec2)
moshdr = hdu[0].header
moshdr['BUNIT'] = 'MJy/sr'
hduout = fits.PrimaryHDU(mosdata,header=moshdr)
hduout.writeto('wise22_'+filename,clobber=True)
shutil.rmtree('./wisemosaic/')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment