本文整理汇总了Python中lsst.sims.photUtils.BandpassDict.magListForSedList方法的典型用法代码示例。如果您正苦于以下问题:Python BandpassDict.magListForSedList方法的具体用法?Python BandpassDict.magListForSedList怎么用?Python BandpassDict.magListForSedList使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类lsst.sims.photUtils.BandpassDict
的用法示例。
在下文中一共展示了BandpassDict.magListForSedList方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: testMagListForSedList
# 需要导入模块: from lsst.sims.photUtils import BandpassDict [as 别名]
# 或者: from lsst.sims.photUtils.BandpassDict import magListForSedList [as 别名]
def testMagListForSedList(self):
"""
Test that magListForSedList calculates the correct magnitude
"""
nBandpasses = 7
bpNameList, bpList = self.getListOfBandpasses(nBandpasses)
testBpDict = BandpassDict(bpList, bpNameList)
nSed = 20
sedNameList = self.getListOfSedNames(nSed)
magNormList = self.rng.random_sample(nSed)*5.0 + 15.0
internalAvList = self.rng.random_sample(nSed)*0.3 + 0.1
redshiftList = self.rng.random_sample(nSed)*5.0
galacticAvList = self.rng.random_sample(nSed)*0.3 + 0.1
# first, test on an SedList without a wavelenMatch
testSedList = SedList(sedNameList, magNormList,
fileDir=self.sedDir,
internalAvList=internalAvList,
redshiftList=redshiftList,
galacticAvList=galacticAvList)
magList = testBpDict.magListForSedList(testSedList)
self.assertEqual(magList.shape[0], nSed)
self.assertEqual(magList.shape[1], nBandpasses)
for ix, sedObj in enumerate(testSedList):
dummySed = Sed(wavelen=copy.deepcopy(sedObj.wavelen),
flambda=copy.deepcopy(sedObj.flambda))
for iy, bp in enumerate(testBpDict):
mag = dummySed.calcMag(bpList[iy])
self.assertAlmostEqual(mag, magList[ix][iy], 2)
# now use wavelenMatch
testSedList = SedList(sedNameList, magNormList,
fileDir=self.sedDir,
internalAvList=internalAvList,
redshiftList=redshiftList,
galacticAvList=galacticAvList,
wavelenMatch=testBpDict.wavelenMatch)
magList = testBpDict.magListForSedList(testSedList)
self.assertEqual(magList.shape[0], nSed)
self.assertEqual(magList.shape[1], nBandpasses)
for ix, sedObj in enumerate(testSedList):
dummySed = Sed(wavelen=copy.deepcopy(sedObj.wavelen),
flambda=copy.deepcopy(sedObj.flambda))
for iy, bp in enumerate(testBpDict):
mag = dummySed.calcMag(bpList[iy])
self.assertAlmostEqual(mag, magList[ix][iy], 2)
示例2: testIndicesOnMagnitudes
# 需要导入模块: from lsst.sims.photUtils import BandpassDict [as 别名]
# 或者: from lsst.sims.photUtils.BandpassDict import magListForSedList [as 别名]
def testIndicesOnMagnitudes(self):
"""
Test that, when you pass a list of indices into the calcMagList
methods, you get the correct magnitudes out.
"""
nBandpasses = 7
nameList, bpList = self.getListOfBandpasses(nBandpasses)
testBpDict = BandpassDict(bpList, nameList)
# first try it with a single Sed
wavelen = numpy.arange(10.0,2000.0,1.0)
flux = (wavelen*2.0-5.0)*1.0e-6
spectrum = Sed(wavelen=wavelen, flambda=flux)
indices = [1,2,5]
magList = testBpDict.magListForSed(spectrum, indices=indices)
ctNaN = 0
for ix, (name, bp, magTest) in enumerate(zip(nameList, bpList, magList)):
if ix in indices:
magControl = spectrum.calcMag(bp)
self.assertAlmostEqual(magTest, magControl, 5)
else:
ctNaN += 1
self.assertTrue(numpy.isnan(magTest))
self.assertEqual(ctNaN, 4)
nSed = 20
sedNameList = self.getListOfSedNames(nSed)
magNormList = numpy.random.random_sample(nSed)*5.0 + 15.0
internalAvList = numpy.random.random_sample(nSed)*0.3 + 0.1
redshiftList = numpy.random.random_sample(nSed)*5.0
galacticAvList = numpy.random.random_sample(nSed)*0.3 + 0.1
# now try a SedList without a wavelenMatch
testSedList = SedList(sedNameList, magNormList,
internalAvList=internalAvList,
redshiftList=redshiftList,
galacticAvList=galacticAvList)
magList = testBpDict.magListForSedList(testSedList, indices=indices)
self.assertEqual(magList.shape[0], nSed)
self.assertEqual(magList.shape[1], nBandpasses)
for ix, sedObj in enumerate(testSedList):
dummySed = Sed(wavelen=copy.deepcopy(sedObj.wavelen),
flambda=copy.deepcopy(sedObj.flambda))
ctNaN = 0
for iy, bp in enumerate(testBpDict):
if iy in indices:
mag = dummySed.calcMag(testBpDict[bp])
self.assertAlmostEqual(mag, magList[ix][iy], 2)
else:
ctNaN += 1
self.assertTrue(numpy.isnan(magList[ix][iy]))
self.assertEqual(ctNaN, 4)
# now use wavelenMatch
testSedList = SedList(sedNameList, magNormList,
internalAvList=internalAvList,
redshiftList=redshiftList,
galacticAvList=galacticAvList,
wavelenMatch=testBpDict.wavelenMatch)
magList = testBpDict.magListForSedList(testSedList, indices=indices)
self.assertEqual(magList.shape[0], nSed)
self.assertEqual(magList.shape[1], nBandpasses)
for ix, sedObj in enumerate(testSedList):
dummySed = Sed(wavelen=copy.deepcopy(sedObj.wavelen),
flambda=copy.deepcopy(sedObj.flambda))
ctNaN = 0
for iy, bp in enumerate(testBpDict):
if iy in indices:
mag = dummySed.calcMag(testBpDict[bp])
self.assertAlmostEqual(mag, magList[ix][iy], 2)
else:
ctNaN += 1
self.assertTrue(numpy.isnan(magList[ix][iy]))
self.assertEqual(ctNaN, 4)