Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
wcs.pscale = np.sqrt(wcs.wcs.cd[0,0]**2 +
wcs.wcs.cd[1,0]**2)*3600.
#print 'IDCSCALE: %.3f' %(wcs.idcscale)
#print refimage.filename(), ref_wcs.idcscale, ref_wcs.wcs.cd, flt_wcs.idcscale, ref_wcs.orientat
if segmentation:
#print '\nSEGMENTATION\n\n',(seg_ones+1).dtype, refdata.dtype, ref_wcs, flt_wcs
### +1 here is a hack for some memory issues
blotted_seg = astrodrizzle.ablot.do_blot(refdata+0, ref_wcs,
flt_wcs, 1, coeffs=True, interp='nearest',
sinscl=1.0, stepsize=1, wcsmap=None)
blotted_ones = astrodrizzle.ablot.do_blot(seg_ones+1, ref_wcs,
flt_wcs, 1, coeffs=True, interp='nearest',
sinscl=1.0, stepsize=1, wcsmap=None)
blotted_ones[blotted_ones == 0] = 1
ratio = np.round(blotted_seg/blotted_ones)
grow = nd.maximum_filter(ratio, size=3, mode='constant', cval=0)
ratio[ratio == 0] = grow[ratio == 0]
blotted = ratio
else:
#print '\nREFDATA\n\n', refdata.dtype, ref_wcs, flt_wcs
blotted = astrodrizzle.ablot.do_blot(refdata, ref_wcs, flt_wcs, 1, coeffs=True, interp='poly5', sinscl=1.0, stepsize=10, wcsmap=None)
return blotted
if wcs.idcscale is None:
wcs.idcscale = np.sqrt(np.sum(wcs.wcs.cd[0,:]**2))*3600.
else:
wcs.idcscale = np.sqrt(np.sum(wcs.wcs.cd[0,:]**2))*3600.
wcs.pscale = np.sqrt(wcs.wcs.cd[0,0]**2 +
wcs.wcs.cd[1,0]**2)*3600.
#print 'IDCSCALE: %.3f' %(wcs.idcscale)
#print refimage.filename(), ref_wcs.idcscale, ref_wcs.wcs.cd, flt_wcs.idcscale, ref_wcs.orientat
if segmentation:
#print '\nSEGMENTATION\n\n',(seg_ones+1).dtype, refdata.dtype, ref_wcs, flt_wcs
### +1 here is a hack for some memory issues
blotted_seg = astrodrizzle.ablot.do_blot(refdata+0, ref_wcs,
flt_wcs, 1, coeffs=True, interp='nearest',
sinscl=1.0, stepsize=1, wcsmap=None)
blotted_ones = astrodrizzle.ablot.do_blot(seg_ones+1, ref_wcs,
flt_wcs, 1, coeffs=True, interp='nearest',
sinscl=1.0, stepsize=1, wcsmap=None)
blotted_ones[blotted_ones == 0] = 1
ratio = np.round(blotted_seg/blotted_ones)
grow = nd.maximum_filter(ratio, size=3, mode='constant', cval=0)
ratio[ratio == 0] = grow[ratio == 0]
blotted = ratio
else:
#print '\nREFDATA\n\n', refdata.dtype, ref_wcs, flt_wcs
blotted = astrodrizzle.ablot.do_blot(refdata, ref_wcs, flt_wcs, 1, coeffs=True, interp='poly5', sinscl=1.0, stepsize=10, wcsmap=None)
ctx = pyfits.open(visit['product']+'_drc_ctx.fits')
bits = np.log2(ctx[0].data)
mask = ctx[0].data == 0
single_image = np.cast[np.float32]((np.cast[int](bits) == bits) & (~mask))
ctx_wcs = pywcs.WCS(ctx[0].header)
ctx_wcs.pscale = utils.get_wcs_pscale(ctx_wcs)
for file in visit['files']:
flt = pyfits.open(file, mode='update')
for ext in [1,2]:
flt_wcs = pywcs.WCS(flt['SCI',ext].header, fobj=flt, relax=True)
flt_wcs.pscale = utils.get_wcs_pscale(flt_wcs)
blotted = astrodrizzle.ablot.do_blot(single_image, ctx_wcs,
flt_wcs, 1, coeffs=True, interp='nearest',
sinscl=1.0, stepsize=10, wcsmap=None)
ctx_mask = blotted > 0
sci = flt['SCI',ext].data
dq = flt['DQ',ext].data
if simple_mask:
print('{0}: Mask image without overlaps, extension {1:d}'.format(file, ext))
dq[ctx_mask] |= 1024
else:
print('{0}: Clean CRs with LACosmic, extension {1:d}'.format(file, ext))
if with_ctx_mask:
inmask = blotted == 0