def save(self, filename, clobber=False):
hdulist = pf.HDUList()
ext = '.oif.fits'
if filename.find(ext)==-1: filename += ext
hdu = pf.PrimaryHDU()
hdu.header.set('EXT', 'MODEL', comment='Type of information in the HDU')
hdu.header.set('DATE', strftime('%Y%m%dT%H%M%S'), comment='Creation Date')
hdu.header.set('NOBJ', self.nobj, comment='Number of objects in the model')
hdu.header.set('NPARAMS', self.nparams, comment='Total number of free parameters')
for i, item in enumerate(self._objs):
hdu.header.set('OBJ'+str(i), item.name, comment='Name of object '+str(i))
allmodes = ['vis2', 't3phi', 't3amp', 'visphi', 'visamp']
for mode in allmodes:
number = []
if getattr(self.oidata, mode):
number = [len(i) for i in getattr(self.oidata, "_input_"+mode) if i is not None]
hdu.header.set('N'+mode, int(np.sum(number)), comment='Total number of '+mode+' measurements')
hdu.header.set('F_'+mode, len(number), comment='Number of '+mode+' files')
hdu.header.add_comment('Written by Guillaume SCHWORER')
hdulist.append(hdu)
hdulist.writeto(filename, clobber=clobber)
for item in self._objs:
item.save(filename, append=True, clobber=clobber)
if self._hasdata: self.oidata.save(filename, append=True, clobber=clobber)
return filename
评论列表
文章目录