def test_norm_by_int_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.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_by_int(correct_flux=True, z0=[1,.5,.1,1]) aggsed[0].z=1.0 aggsed[1].z=0.5 aggsed[2].z=0.1 aggsed[3].z=1.0 rf_aggsed=aggsed.shift(0.0) rf_aggsed0=rf_aggsed[0].shift(1.0, correct_flux=False) rf_aggsed1=rf_aggsed[1].shift(0.5, correct_flux=False) rf_aggsed2=rf_aggsed[2].shift(0.1, correct_flux=False) rf_aggsed3=rf_aggsed[3].shift(1.0, correct_flux=False) rf_aggsed=Stack([rf_aggsed0,rf_aggsed1,rf_aggsed2,rf_aggsed3]) control_norm_aggsed = rf_aggsed.normalize_by_int() self.assertAlmostEqual(norm_aggsed.segments[0].norm_constant, control_norm_aggsed[0].norm_constant) self.assertAlmostEqual(norm_aggsed[1].norm_constant,1.4939309057e-08) numpy.testing.assert_array_almost_equal(control_norm_aggsed[0].y,norm_aggsed[0].y) sed=norm_aggsed[1] control_sed=control_norm_aggsed[1] numpy.testing.assert_array_almost_equal(control_sed.y,sed.y) numpy.testing.assert_array_almost_equal(control_sed.y,sed.y)
def test_norm_by_int(self): segment1 = Spectrum(x = numpy.arange(1000,10000,10), y = numpy.arange(1000,10000,10), yerr=numpy.arange(1000,10000,10)*.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) aggsed = Stack([segment1, segment2, segment3, segment4]) norm_aggsed = aggsed.normalize_by_int() self.assertAlmostEqual(norm_aggsed.segments[0].norm_constant, 2.0288029e-08)