Example #1
0
File: rmf.py Project: pabell/ximpol
 def __init__(self, hdu):
     """Constructor.
     """
     _bounds = hdu.data
     _x = _bounds['CHANNEL']
     _y = 0.5*(_bounds['E_MIN'] + _bounds['E_MAX'])
     fmt = dict(xname='Channel', yname='Energy', yunits='keV')
     xInterpolatedUnivariateSplineLinear.__init__(self, _x, _y, **fmt)
Example #2
0
File: rmf.py Project: pabell/ximpol
 def __init__(self, hdu):
     """Constructor.
     """
     _bounds = hdu.data
     _x = _bounds['CHANNEL']
     _y = 0.5 * (_bounds['E_MIN'] + _bounds['E_MAX'])
     fmt = dict(xname='Channel', yname='Energy', yunits='keV')
     xInterpolatedUnivariateSplineLinear.__init__(self, _x, _y, **fmt)
Example #3
0
File: mrf.py Project: pabell/ximpol
 def __init__(self, mrf_file_path):
     """Constructor.
     """
     logger.info('Reading modulation factor data from %s...' % mrf_file_path)
     self.hdu_list = fits.open(mrf_file_path)
     self.hdu_list.info()
     _data = self.hdu_list['MODFRESP'].data
     _x = 0.5*(_data.field('ENERG_LO') + _data.field('ENERG_HI'))
     _y = _data.field('MODFRESP')
     fmt = dict(xname='Energy', xunits='keV', yname='Modulation factor',
                optimize=True, tolerance=1e-4)
     xInterpolatedUnivariateSplineLinear.__init__(self, _x, _y, **fmt)
     self.generator = xAzimuthalResponseGenerator()
Example #4
0
 def __init__(self, mrf_file_path):
     """Constructor.
     """
     logger.info('Reading modulation factor data from %s...' % mrf_file_path)
     self.hdu_list = fits.open(mrf_file_path)
     self.hdu_list.info()
     _data = self.hdu_list['MODFRESP'].data
     _x = 0.5*(_data.field('ENERG_LO') + _data.field('ENERG_HI'))
     _y = _data.field('MODFRESP')
     fmt = dict(xname='Energy', xunits='keV', yname='Modulation factor',
                optimize=True, tolerance=1e-4)
     xInterpolatedUnivariateSplineLinear.__init__(self, _x, _y, **fmt)
     self.generator = xAzimuthalResponseGenerator()
Example #5
0
 def __init__(self, arf_file_path):
     """Constructor.
     """
     logger.info('Reading effective area data from %s...' % arf_file_path)
     self.hdu_list = fits.open(arf_file_path)
     self.hdu_list.info()
     _data = self.hdu_list['SPECRESP'].data
     _x = 0.5*(_data.field('ENERG_LO') + _data.field('ENERG_HI'))
     _y = _data.field('SPECRESP')
     fmt = dict(xname='Energy', xunits='keV', yname='Effective area',
                yunits='cm$^2$')
     xInterpolatedUnivariateSplineLinear.__init__(self, _x, _y, **fmt)
     _x = self.hdu_list['VIGNETTING'].data['ENERGY'][0]
     _y = self.hdu_list['VIGNETTING'].data['THETA'][0]
     _z = self.hdu_list['VIGNETTING'].data['VIGNETTING'][0]
     fmt = dict(xname='Energy', xunits='keV', yname='Off-axis angle',
                yunits='arcmin', zname='Vignetting')
     self.vignetting = xInterpolatedBivariateSplineLinear(_x, _y, _z, **fmt)
Example #6
0
 def __init__(self, arf_file_path):
     """Constructor.
     """
     logger.info('Reading effective area data from %s...' % arf_file_path)
     self.hdu_list = fits.open(arf_file_path)
     self.hdu_list.info()
     _data = self.hdu_list['SPECRESP'].data
     _x = 0.5 * (_data.field('ENERG_LO') + _data.field('ENERG_HI'))
     _y = _data.field('SPECRESP')
     fmt = dict(xname='Energy',
                xunits='keV',
                yname='Effective area',
                yunits='cm$^2$')
     xInterpolatedUnivariateSplineLinear.__init__(self, _x, _y, **fmt)
     _x = self.hdu_list['VIGNETTING'].data['ENERGY'][0]
     _y = self.hdu_list['VIGNETTING'].data['THETA'][0]
     _z = self.hdu_list['VIGNETTING'].data['VIGNETTING'][0]
     fmt = dict(xname='Energy',
                xunits='keV',
                yname='Off-axis angle',
                yunits='arcmin',
                zname='Vignetting')
     self.vignetting = xInterpolatedBivariateSplineLinear(_x, _y, _z, **fmt)