Exemplo n.º 1
0
 def test_mask_edges_redge_only(self):
     
     x = np.arange(0,10)
     y = np.arange(0,10)
     
     spec = Spectrum(x, y)
     spec.mask_edges(2)
     
     self.assertEqual(7, spec.x.compressed()[-1])
Exemplo n.º 2
0
 def test_mask_edges_both(self):
     
     x = np.arange(0,10)
     y = np.arange(0,10)
     
     spec = Spectrum(x, y)
     spec.mask_edges(2, 3)
     
     self.assertEqual(3, spec.x.compressed()[0])
     self.assertEqual(7, spec.x.compressed()[-1])
Exemplo n.º 3
0
 def test_mask_edges_nonint(self):
     
     x = np.arange(0,10)
     y = np.arange(0,10)
     
     spec = Spectrum(x, y)
     self.assertRaises(ValueError, spec.mask_edges, 'two', 'three')
Exemplo n.º 4
0
 def test_find_good_lines_many(self):
     
     data = np.loadtxt('example_spec.ascii')
     spec = Spectrum(data[:,0], data[:,1])
     spec.find_good_lines('RRL_CIalpha', ['RRL_CIalpha', 'RRL_CIbeta', 'RRL_CIgamma' ,'RRL_CIdelta'], z=0, separation=10e-6)
     spec.find_good_lines('RRL_CIbeta', ['RRL_CIalpha', 'RRL_CIbeta', 'RRL_CIgamma' ,'RRL_CIdelta'], z=0, separation=10e-6)
     self.assertEqual({'RRL_CIalpha': [584.0], 'RRL_CIbeta': [735.0]}, spec.good_lines)
Exemplo n.º 5
0
 def test_find_good_lines_many_noedge(self):
     
     data = np.loadtxt('example_spec.ascii')
     spec = Spectrum(data[:,0], data[:,1])
     sep = dv2df(spec.x.mean()*1e6, 30e3)/1e6
     spec.find_good_lines('RRL_CIalpha', ['RRL_CIalpha', 'RRL_CIbeta', 'RRL_CIgamma' ,'RRL_CIdelta'], z=0, separation=sep)
     spec.find_good_lines('RRL_CIdelta', ['RRL_CIalpha', 'RRL_CIbeta', 'RRL_CIgamma' ,'RRL_CIdelta'], z=0, separation=sep, redge=0)
     self.assertEqual({'RRL_CIalpha': [584.0], 'RRL_CIdelta': [925.0, 926.0]}, spec.good_lines)
Exemplo n.º 6
0
class spec_tests(unittest.TestCase):
    
    def setUp(self):
        x = np.arange(0,10)
        y = np.arange(0,10)
        
        self.spec = Spectrum(x, y)
 
    def test_mask_edges_redge_only(self):
        
        x = np.arange(0,10)
        y = np.arange(0,10)
        
        spec = Spectrum(x, y)
        spec.mask_edges(2)
        
        self.assertEqual(7, spec.x.compressed()[-1])
        
    def test_mask_edges_both(self):
        
        x = np.arange(0,10)
        y = np.arange(0,10)
        
        spec = Spectrum(x, y)
        spec.mask_edges(2, 3)
        
        self.assertEqual(3, spec.x.compressed()[0])
        self.assertEqual(7, spec.x.compressed()[-1])
        
    def test_mask_edges_nonint(self):
        
        x = np.arange(0,10)
        y = np.arange(0,10)
        
        spec = Spectrum(x, y)
        self.assertRaises(ValueError, spec.mask_edges, 'two', 'three')
        
    def test_mask_ranges_one(self):
        
        self.spec.mask_ranges([(0,8)])
        self.assertEqual(8, self.spec.x.compressed()[0])
        
    def test_mask_ranges(self):
        
        self.spec.mask_ranges([(0,2), (8,10)])
        self.assertEqual(2, self.spec.x.compressed()[0])
        self.assertEqual(7, self.spec.x.compressed()[-1])
        
    def test_bpcorr(self):
        
        self.spec.bandpass_corr(1)
        np.testing.assert_allclose(0, self.spec.y_bpcorr.compressed()[-1], rtol=1)
        
    def test_find_good_lines_one(self):
        
        data = np.loadtxt('example_spec.ascii')
        spec = Spectrum(data[:,0], data[:,1])
        spec.find_good_lines('RRL_CIalpha', ['RRL_CIalpha', 'RRL_CIbeta', 'RRL_CIgamma' ,'RRL_CIdelta'], z=0, separation=10e-6)
        self.assertEqual([584.], spec.good_lines['RRL_CIalpha'])
        
    def test_find_good_lines_none(self):
        
        data = np.loadtxt('example_spec.ascii')
        spec = Spectrum(data[:,0], data[:,1])
        spec.find_good_lines('RRL_CIalpha', ['RRL_CIalpha', 'RRL_CIbeta', 'RRL_CIgamma' ,'RRL_CIdelta'], z=0, separation=1)
        self.assertEqual({'RRL_CIalpha': []}, spec.good_lines)
        
    def test_find_good_lines_many(self):
        
        data = np.loadtxt('example_spec.ascii')
        spec = Spectrum(data[:,0], data[:,1])
        spec.find_good_lines('RRL_CIalpha', ['RRL_CIalpha', 'RRL_CIbeta', 'RRL_CIgamma' ,'RRL_CIdelta'], z=0, separation=10e-6)
        spec.find_good_lines('RRL_CIbeta', ['RRL_CIalpha', 'RRL_CIbeta', 'RRL_CIgamma' ,'RRL_CIdelta'], z=0, separation=10e-6)
        self.assertEqual({'RRL_CIalpha': [584.0], 'RRL_CIbeta': [735.0]}, spec.good_lines)
        
    def test_find_good_lines_many_realistic(self):
        
        data = np.loadtxt('example_spec.ascii')
        spec = Spectrum(data[:,0], data[:,1])
        sep = dv2df(spec.x.mean()*1e6, 30e3)/1e6
        spec.find_good_lines('RRL_CIalpha', ['RRL_CIalpha', 'RRL_CIbeta', 'RRL_CIgamma' ,'RRL_CIdelta'], z=0, separation=sep)
        spec.find_good_lines('RRL_CIbeta', ['RRL_CIalpha', 'RRL_CIbeta', 'RRL_CIgamma' ,'RRL_CIdelta'], z=0, separation=sep)
        self.assertEqual({'RRL_CIalpha': [584.0], 'RRL_CIbeta': []}, spec.good_lines)
        
    def test_find_good_lines_many_noedge(self):
        
        data = np.loadtxt('example_spec.ascii')
        spec = Spectrum(data[:,0], data[:,1])
        sep = dv2df(spec.x.mean()*1e6, 30e3)/1e6
        spec.find_good_lines('RRL_CIalpha', ['RRL_CIalpha', 'RRL_CIbeta', 'RRL_CIgamma' ,'RRL_CIdelta'], z=0, separation=sep)
        spec.find_good_lines('RRL_CIdelta', ['RRL_CIalpha', 'RRL_CIbeta', 'RRL_CIgamma' ,'RRL_CIdelta'], z=0, separation=sep, redge=0)
        self.assertEqual({'RRL_CIalpha': [584.0], 'RRL_CIdelta': [925.0, 926.0]}, spec.good_lines)
        
    def test_find_good_lines_many_edge(self):
        
        data = np.loadtxt('example_spec.ascii')
        spec = Spectrum(data[:,0], data[:,1])
        sep = dv2df(spec.x.mean()*1e6, 30e3)/1e6
        spec.find_good_lines('RRL_CIalpha', ['RRL_CIalpha', 'RRL_CIbeta', 'RRL_CIgamma' ,'RRL_CIdelta'], z=0, separation=sep)
        spec.find_good_lines('RRL_CIdelta', ['RRL_CIalpha', 'RRL_CIbeta', 'RRL_CIgamma' ,'RRL_CIdelta'], z=0, separation=sep, redge=0.1)
        self.assertEqual({'RRL_CIalpha': [584.0], 'RRL_CIdelta': [925.0]}, spec.good_lines)
Exemplo n.º 7
0
 def setUp(self):
     x = np.arange(0,10)
     y = np.arange(0,10)
     
     self.spec = Spectrum(x, y)