def test_norm_at_point_correct_flux(self): segment1 = Spectrum(x = numpy.arange(1000,10000,10), y = numpy.arange(1000,10000,10), yerr=numpy.arange(1000,10000,10)*.01, z=0) segment2 = Sed(x=numpy.arange(1000,10000,500), y=numpy.arange(1000,10000,500), yerr=numpy.arange(1000,10000,500)*.01, z=0.0) segment3 = Sed(x=numpy.arange(1000,10000,500), y=numpy.arange(1000,10000,500), yerr=numpy.arange(1000,10000,500)*.01, z = 0) segment4 = Spectrum(x = numpy.arange(1000,10000,10), y = numpy.arange(1000,10000,10), yerr=numpy.arange(1000,10000,10)*.01, z=0) aggsed = Stack([segment1, segment2, segment3, segment4]) norm_aggsed = aggsed.normalize_at_point(5000,1000, correct_flux=True, z0=[1.0,0.5,0.35,1.0]) self.assertAlmostEqual(norm_aggsed[2].norm_constant, 0.148148148) self.assertAlmostEqual(norm_aggsed[3].norm_constant, 0.1)
def test_norm_at_point(self): segment1 = Spectrum(x = numpy.arange(1000,10000,1), y = numpy.arange(1000,10000,1), yerr=numpy.arange(1000,10000,1)*.01, z=1.0) segment2 = Sed(x=numpy.arange(1000,10000,500), y=numpy.arange(1000,10000,500), yerr=numpy.arange(1000,10000,500)*.01) segment3 = Sed(x=numpy.arange(1000,10000,500), y=numpy.arange(1000,10000,500), yerr=numpy.arange(1000,10000,500)*.01, z = 0.35) segment4 = Spectrum(x = numpy.arange(1000,10000,10), y = numpy.arange(1000,10000,10), yerr=numpy.arange(1000,10000,10)*.01, z=1.0) x0 = 5025 y0 = 1000 aggsed = Stack([segment1, segment2, segment3, segment4]) norm_aggsed = aggsed.normalize_at_point(x0,y0) sedarray = segment3._toarray() control_norm_aggsed_segment3 = sedarray[1]*0.2 self.assertEqual(norm_aggsed[1][8].y, 1000) sedarray = norm_aggsed[2]._toarray() numpy.testing.assert_array_almost_equal(sedarray[1], control_norm_aggsed_segment3) self.assertEqual(norm_aggsed[0].norm_constant, numpy.float_(y0)/5025)