Пример #1
0
for ii in xrange(Nobj):
    #--------------------------------------------------------------------------
    id = float(IDs[ii])
    ra = float(RAs[ii])
    dec = float(DECs[ii])
    rad = float(rads[ii])
    alpha1_stamp = loc + str(id) + '_alpha1.dat'
    alpha2_stamp = loc + str(id) + '_alpha2.dat'
    #    kappa_stamp  = loc+str(id)+'_kappa.dat'
    #    gamma1_stamp = loc+str(id)+'_gamma1.dat'
    #    gamma2_stamp = loc+str(id)+'_gamma2.dat'
    mag_stamp = loc + str(id) + '_mag.dat'
    lensra_stamp = loc + str(id) + '_lensra.dat'
    lensdec_stamp = loc + str(id) + '_lensdec.dat'
    #-------------------------------------------------------------------------- make .dat files
    lens_xy = ft.coords2pix(mag_name, (ra, dec))
    print 'processing img %s: (RA=%s, DEC=%s)  <=>  (x=%s, y=%s)' % (
        str(id), str(ra), str(dec), str(lens_xy[0]), str(lens_xy[1]))
    #<<<140607>>> the chopped size (2*rad) is plausible as long as the lens fitting pixel is larger than the HST image pixel
    alpha1 = alpha1_tot[lens_xy[1] - rad:lens_xy[1] + rad,
                        lens_xy[0] - rad:lens_xy[0] + rad]
    alpha2 = alpha2_tot[lens_xy[1] - rad:lens_xy[1] + rad,
                        lens_xy[0] - rad:lens_xy[0] + rad]
    #    kappa  =  kappa_tot[lens_xy[1]-rad:lens_xy[1]+rad,lens_xy[0]-rad:lens_xy[0]+rad]
    #    gamma1 = gamma1_tot[lens_xy[1]-rad:lens_xy[1]+rad,lens_xy[0]-rad:lens_xy[0]+rad]
    #    gamma2 = gamma2_tot[lens_xy[1]-rad:lens_xy[1]+rad,lens_xy[0]-rad:lens_xy[0]+rad]
    mag = mag_tot[lens_xy[1] - rad:lens_xy[1] + rad,
                  lens_xy[0] - rad:lens_xy[0] + rad]

    lens_x = np.arange(int(lens_xy[0] - rad + 1), int(lens_xy[0] + rad + 1))
    lens_y = np.arange(int(lens_xy[1] - rad + 1), int(lens_xy[1] + rad + 1))
Пример #2
0
x = 4689.6758
y = 5428.9874
rad = 115"""
# RXJ1347 - a2
x = 4935.8924 
y = 4149.0681
rad = 45

cut = img[y-rad:y+rad,x-rad:x+rad]
# Create fits file
pf.PrimaryHDU(cut).writeto('img_cut.fits',clobber=True)

#-------------------------------------------------------------------------------------------------------------
# to cut off a postage stamp from lens model as well
img_WCS_center=fitstools.pix2coords(img_name,(x,y))
lens_xy=fitstools.coords2pix(mag_name,img_WCS_center)

print "center in HST image's pixel space: x=", x, "y=", y
print "center in WCS coordinate (deg): RA=", img_WCS_center[0], "DEC=", img_WCS_center[1]
print "center in lens model's pixel space: x=", lens_xy[0], "y=", lens_xy[1]

f = open('img_WCS_ctr.dat', 'w')
f.write("%s  %s\n" % (x, y))
f.write("%s  %s\n" % (img_WCS_center[0], img_WCS_center[1]))
f.write("%s  %s\n" % (lens_xy[0], lens_xy[1]))
f.close()

# below is the chopped maps of lensing quantities for specific image cuts
alpha1 = alpha1_tot[lens_xy[1]-rad:lens_xy[1]+rad,lens_xy[0]-rad:lens_xy[0]+rad]  
alpha2 = alpha2_tot[lens_xy[1]-rad:lens_xy[1]+rad,lens_xy[0]-rad:lens_xy[0]+rad]
gamma1 = gamma1_tot[lens_xy[1]-rad:lens_xy[1]+rad,lens_xy[0]-rad:lens_xy[0]+rad]
Пример #3
0
crpix2 = hdu[0].header['CRPIX2']

for ii in xrange(Nobj):
    #--------------------------------------------------------------------------
    id = float(IDs[ii])
    ra = float(RAs[ii])
    dec = float(DECs[ii])
    rad = float(rads[ii])
    stampname = args.stamp_dir + '/' + str(id) + '_cut.dat'
    raname = args.stamp_dir + '/' + str(id) + '_ra.dat'
    decname = args.stamp_dir + '/' + str(id) + '_dec.dat'
    plotname = args.stamp_dir + '/' + str(id) + '_cut.png'
    fitsname = args.stamp_dir + '/' + str(id) + '_cut.fits'
    #--------------------------------------------------------------------------
    # make .dat files
    (x, y) = ft.coords2pix(img_name, (ra, dec))  # NOTE this usage - tuple !!
    print 'processing img %s: (RA=%s, DEC=%s)  <=>  (x=%s, y=%s), with rad=%s' % (
        str(id), str(ra), str(dec), str(x), str(y), str(rad))
    cut = img[y - rad:y + rad, x - rad:x + rad]
    if str(id) == '4.3':
        cut[0:34, 24:rad * 2] = 0
        print 'contamination on %s is cleaned' % id

    img_x = np.arange(int(x - rad + 1), int(x + rad + 1))
    img_y = np.arange(int(y - rad + 1), int(y + rad + 1))
    X, Y = np.meshgrid(img_x, img_y)
    img_x_tot = X.flatten()
    img_y_tot = Y.flatten()
    img_wcs_tot = ft.pix2coords(img_name, (img_x_tot, img_y_tot))
    np.savetxt(stampname, cut.flatten(), fmt='%s')
    np.savetxt(raname, img_wcs_tot[0], fmt='%s')
Пример #4
0
for ii in xrange(Nobj):
    #--------------------------------------------------------------------------
    id=float(IDs[ii])
    ra=float(RAs[ii])
    dec=float(DECs[ii])
    rad=float(rads[ii])
    alpha1_stamp = loc+str(id)+'_alpha1.dat'
    alpha2_stamp = loc+str(id)+'_alpha2.dat'
#    kappa_stamp  = loc+str(id)+'_kappa.dat'
#    gamma1_stamp = loc+str(id)+'_gamma1.dat'
#    gamma2_stamp = loc+str(id)+'_gamma2.dat'
    mag_stamp    = loc+str(id)+'_mag.dat'
    lensra_stamp = loc+str(id)+'_lensra.dat'
    lensdec_stamp= loc+str(id)+'_lensdec.dat'
    #-------------------------------------------------------------------------- make .dat files
    lens_xy=ft.coords2pix(mag_name,(ra,dec))
    print 'processing img %s: (RA=%s, DEC=%s)  <=>  (x=%s, y=%s)' % (str(id), str(ra), str(dec), str(lens_xy[0]), str(lens_xy[1]))
    #<<<140607>>> the chopped size (2*rad) is plausible as long as the lens fitting pixel is larger than the HST image pixel
    alpha1 = alpha1_tot[lens_xy[1]-rad:lens_xy[1]+rad,lens_xy[0]-rad:lens_xy[0]+rad]
    alpha2 = alpha2_tot[lens_xy[1]-rad:lens_xy[1]+rad,lens_xy[0]-rad:lens_xy[0]+rad]
#    kappa  =  kappa_tot[lens_xy[1]-rad:lens_xy[1]+rad,lens_xy[0]-rad:lens_xy[0]+rad]
#    gamma1 = gamma1_tot[lens_xy[1]-rad:lens_xy[1]+rad,lens_xy[0]-rad:lens_xy[0]+rad]
#    gamma2 = gamma2_tot[lens_xy[1]-rad:lens_xy[1]+rad,lens_xy[0]-rad:lens_xy[0]+rad]
    mag    =    mag_tot[lens_xy[1]-rad:lens_xy[1]+rad,lens_xy[0]-rad:lens_xy[0]+rad]

    lens_x = np.arange(int(lens_xy[0]-rad+1),int(lens_xy[0]+rad+1))
    lens_y = np.arange(int(lens_xy[1]-rad+1),int(lens_xy[1]+rad+1))
    lens_wcs=ft.pix2coords(mag_name,(lens_x,lens_y))

    # output ASCII files for all relevant quantities to feed into matlab
    np.savetxt(alpha1_stamp ,alpha1,fmt='%s')
Пример #5
0
crpix2 = hdu[0].header['CRPIX2']

for ii in xrange(Nobj):
    #--------------------------------------------------------------------------
    id=float(IDs[ii])
    ra=float(RAs[ii])
    dec=float(DECs[ii])
    rad=float(rads[ii])
    stampname= args.stamp_dir+'/'+str(id)+'_cut.dat'
    raname   = args.stamp_dir+'/'+str(id)+'_ra.dat'
    decname  = args.stamp_dir+'/'+str(id)+'_dec.dat'
    plotname = args.stamp_dir+'/'+str(id)+'_cut.png'
    fitsname = args.stamp_dir+'/'+str(id)+'_cut.fits'
    #--------------------------------------------------------------------------
    # make .dat files
    (x,y)=ft.coords2pix(img_name,(ra,dec))   # NOTE this usage - tuple !!
    print 'processing img %s: (RA=%s, DEC=%s)  <=>  (x=%s, y=%s), with rad=%s' % (str(id), str(ra), str(dec), str(x), str(y),
    str(rad))
    cut = img[y-rad:y+rad,x-rad:x+rad]
    if str(id) == '4.3':
        cut[0:34,24:rad*2]=0
        print 'contamination on %s is cleaned' % id

    img_x = np.arange(int(x-rad+1),int(x+rad+1))
    img_y = np.arange(int(y-rad+1),int(y+rad+1))
    X,Y = np.meshgrid(img_x,img_y)
    img_x_tot=X.flatten()
    img_y_tot=Y.flatten()
    img_wcs_tot = ft.pix2coords(img_name,(img_x_tot,img_y_tot))
    np.savetxt(stampname,cut.flatten(),fmt='%s')
    np.savetxt(raname,img_wcs_tot[0],fmt='%s')
Пример #6
0
#x = 2731.7342; y = 2908.9482; rad = 25;     # 14.1
#x = 3502.9053; y = 3604.6515; rad = 12;     # 14.2
#x = 2238.8085; y = 2374.8719; rad = 15;     # 14.3

cut = img[y - rad:y + rad, x - rad:x + rad]

# clean some noises
#cut[0:34,24:rad*2]=0       # 4.3

# Create fits file
pf.PrimaryHDU(cut).writeto('img_cut.fits', clobber=True)

#-------------------------------------------------------------------------------------------------------------
# to cut off a postage stamp from lens model as well
img_WCS_center = fitstools.pix2coords(img_name, (x, y))
lens_xy = fitstools.coords2pix(mag_name, img_WCS_center)

print "center in HST image's pixel space: x=", x, "y=", y
print "center in WCS coordinate (deg): RA=", img_WCS_center[
    0], "DEC=", img_WCS_center[1]
print "center in lens model's pixel space: x=", lens_xy[0], "y=", lens_xy[1]

f = open('img_WCS_ctr.dat', 'w')
f.write("%s  %s\n" % (x, y))
f.write("%s  %s\n" % (img_WCS_center[0], img_WCS_center[1]))
f.write("%s  %s\n" % (lens_xy[0], lens_xy[1]))
f.close()

# below is the chopped maps of lensing quantities for specific image cuts
#<<<140607>>> the chopped size (2*rad) is plausible as long as the lens fitting pixel is larger than the HST image pixel
alpha1 = alpha1_tot[lens_xy[1] - rad:lens_xy[1] + rad,