def load(self, infile, frequency=None):
"""
Load input sky image from file into this instance.
Parameters
----------
infile : str
The path to the input sky patch
frequency : float, optional
The frequency of the sky patch;
Unit: [MHz]
"""
self.infile = infile
if frequency is not None:
self.frequency = frequency
with fits.open(infile) as f:
self.data = f[0].data
header = f[0].header.copy(strip=True)
self.header_.extend(header, update=True)
self.ysize_in, self.xsize_in = self.data.shape
logger.info("Loaded sky patch from: %s (%dx%d)" %
(infile, self.xsize_in, self.ysize_in))
if (self.xsize_in != self.xsize) or (self.ysize_in != self.ysize):
logger.warning("Scale input sky patch to size %dx%d" %
(self.xsize, self.ysize))
zoom = ((self.ysize+0.1)/self.ysize_in,
(self.xsize+0.1)/self.xsize_in)
self.data = ndimage.zoom(self.data, zoom=zoom, order=1)
评论列表
文章目录