Ejemplo n.º 1
0
    def test_shift_spectrum(self):

        spectrum = Spectrum(x = numpy.linspace(3000.0, 10000.0, num=10000),
                            y = numpy.linspace(1e-13, 1e-11, num=10000), 
                            z = 1.65)

        shifted_spectrum_cfeqTrue = spectrum.shift(0.1)
        shifted_spectrum_cfeqFalse = spectrum.shift(0.1, correct_flux = False)

        # spec_z0 = spectrum.x*(1+0.1)/(spectrum.z)
        # zflux = numpy.trapz(spectrum.y, spectrum.x)
        # z0flux = numpy.trapz(spectrum.y, spec_z0)
        # const = zflux/z0flux
        const = 1.4673584905660368e-08/3.5350000000000254e-08

        self.assertEqual(shifted_spectrum_cfeqTrue.z, 0.1)
        self.assertAlmostEqual(shifted_spectrum_cfeqTrue.x[9], 1247.8983747) #, delta=1e-6)
        numpy.testing.assert_array_almost_equal(shifted_spectrum_cfeqTrue.y, spectrum.y*const)
        numpy.testing.assert_array_equal(shifted_spectrum_cfeqFalse.x, shifted_spectrum_cfeqTrue.x)
        numpy.testing.assert_array_equal(shifted_spectrum_cfeqFalse.y, spectrum.y)