def test_polarization(self):
    self.mat = np.array([[1,0,0],[0,-1,1],[1,1,1]])
    l1, l2, l3 = np.sqrt(2), 1, -np.sqrt(2)
    expRect = 1 - (l2+l3)/(2*l1)
    expPlan = 1 - (2*l3)/(l1+l2)

    rect, plan, lambda_max = polarization_analysis(self.mat,plot=False)
    self.assertAlmostEquals(lambda_max,l1,places=6)
    self.assertAlmostEquals(rect,expRect,places=6)
    self.assertAlmostEquals(plan,expPlan,places=6)

    file = "/home/nadege/waveloc/data/Piton/2011-02-02/2011-02-02T00:00:00.YA.UV15.HHZ.filt.mseed"
    cmin = utcdatetime.UTCDateTime("2011-02-02T00:58:47.720000Z")-15
    cmax = utcdatetime.UTCDateTime("2011-02-02T00:58:47.720000Z")+135

    ponset = 1400 
    st_z = read(file,starttime=cmin,endtime=cmax)
    tr_z = st_z[0].data[ponset-10:ponset+30]
 
    file_n = "%s/HHN/*%s*HHN*.filt.*"%(os.path.dirname(file),st_z[0].stats.station)
    file_e = "%s/HHE/*%s*HHE*.filt.*"%(os.path.dirname(file),st_z[0].stats.station)
    st_n = read(file_n,starttime=cmin,endtime=cmax)
    st_e = read(file_e,starttime=cmin,endtime=cmax)
    tr_n = st_n[0].data[ponset-10:ponset+30]
    tr_e = st_e[0].data[ponset-10:ponset+30]

    x=np.array([tr_z,tr_n,tr_e])
    print tr_e.shape
    mat = np.cov(x)
    rect, plan, lambda_max = polarization_analysis(mat,plot=True)
    from obspy.signal.polarization import eigval
    leigenv1, leigenv2, leigenv3, rect, plan, dleigenv, drect, dplan = eigval(tr_e,tr_n,tr_z,[1,1,1,1,1])
    print lambda_max
    print leigenv1, leigenv2, leigenv3
Exemple #2
0
 def test_polarization(self):
     """
     """
     pol = polarization.eigval(self.data_win_e, self.data_win_n,
                               self.data_win_z, self.fk, self.norm)
     rms = np.sqrt(np.sum((pol[0] - self.res[:, 34]) ** 2) /
                   np.sum(self.res[:, 34] ** 2))
     self.assertEqual(rms < 1.0e-5, True)
     rms = np.sqrt(np.sum((pol[1] - self.res[:, 35]) ** 2) /
                   np.sum(self.res[:, 35] ** 2))
     self.assertEqual(rms < 1.0e-5, True)
     rms = np.sqrt(np.sum((pol[2] - self.res[:, 36]) ** 2) /
                   np.sum(self.res[:, 36] ** 2))
     self.assertEqual(rms < 1.0e-5, True)
     rms = np.sqrt(np.sum((pol[3] - self.res[:, 40]) ** 2) /
                   np.sum(self.res[:, 40] ** 2))
     self.assertEqual(rms < 1.0e-5, True)
     rms = np.sqrt(np.sum((pol[4] - self.res[:, 42]) ** 2) /
                   np.sum(self.res[:, 42] ** 2))
     self.assertEqual(rms < 1.0e-5, True)
     rms = np.sqrt(np.sum((pol[5][:, 0] - self.res[:, 37]) ** 2) /
                   np.sum(self.res[:, 37] ** 2))
     self.assertEqual(rms < 1.0e-5, True)
     rms = np.sqrt(np.sum((pol[5][:, 1] - self.res[:, 38]) ** 2) /
                   np.sum(self.res[:, 38] ** 2))
     self.assertEqual(rms < 1.0e-5, True)
     rms = np.sqrt(np.sum((pol[5][:, 2] - self.res[:, 39]) ** 2) /
                   np.sum(self.res[:, 39] ** 2))
     self.assertEqual(rms < 1.0e-5, True)
     rms = np.sqrt(np.sum((pol[6] - self.res[:, 41]) ** 2) /
                   np.sum(self.res[:, 41] ** 2))
     self.assertEqual(rms < 1.0e-5, True)
     rms = np.sqrt(np.sum((pol[7] - self.res[:, 43]) ** 2) /
                   np.sum(self.res[:, 43] ** 2))
     self.assertEqual(rms < 1.0e-5, True)
Exemple #3
0
 def test_polarization(self):
     """
     """
     pol = polarization.eigval(self.data_win_e, self.data_win_n,
                               self.data_win_z, self.fk, self.norm)
     rms = np.sqrt(np.sum((pol[0] - self.res[:, 34]) ** 2) /
                   np.sum(self.res[:, 34] ** 2))
     self.assertEqual(rms < 1.0e-5, True)
     rms = np.sqrt(np.sum((pol[1] - self.res[:, 35]) ** 2) /
                   np.sum(self.res[:, 35] ** 2))
     self.assertEqual(rms < 1.0e-5, True)
     rms = np.sqrt(np.sum((pol[2] - self.res[:, 36]) ** 2) /
                   np.sum(self.res[:, 36] ** 2))
     self.assertEqual(rms < 1.0e-5, True)
     rms = np.sqrt(np.sum((pol[3] - self.res[:, 40]) ** 2) /
                   np.sum(self.res[:, 40] ** 2))
     self.assertEqual(rms < 1.0e-5, True)
     rms = np.sqrt(np.sum((pol[4] - self.res[:, 42]) ** 2) /
                   np.sum(self.res[:, 42] ** 2))
     self.assertEqual(rms < 1.0e-5, True)
     rms = np.sqrt(np.sum((pol[5][:, 0] - self.res[:, 37]) ** 2) /
                   np.sum(self.res[:, 37] ** 2))
     self.assertEqual(rms < 1.0e-5, True)
     rms = np.sqrt(np.sum((pol[5][:, 1] - self.res[:, 38]) ** 2) /
                   np.sum(self.res[:, 38] ** 2))
     self.assertEqual(rms < 1.0e-5, True)
     rms = np.sqrt(np.sum((pol[5][:, 2] - self.res[:, 39]) ** 2) /
                   np.sum(self.res[:, 39] ** 2))
     self.assertEqual(rms < 1.0e-5, True)
     rms = np.sqrt(np.sum((pol[6] - self.res[:, 41]) ** 2) /
                   np.sum(self.res[:, 41] ** 2))
     self.assertEqual(rms < 1.0e-5, True)
     rms = np.sqrt(np.sum((pol[7] - self.res[:, 43]) ** 2) /
                   np.sum(self.res[:, 43] ** 2))
     self.assertEqual(rms < 1.0e-5, True)
 def test_polarization_1d(self):
     """
     1 dimenstional input --- regression test case for bug #919
     """
     pol = polarization.eigval(
         self.data_win_e[100, :], self.data_win_n[100, :], self.data_win_z[100, :], self.fk, self.norm
     )
     pol_5_ref = [2.81387533e-04, 3.18409580e-04, 6.74030846e-04, 5.55067015e-01, 4.32938188e-01]
     self.assertTrue(np.allclose(np.concatenate(pol[:5]), pol_5_ref))
Exemple #5
0
 def test_polarization1D(self):
     """
     1 dimenstional input --- regression test case for bug #919
     """
     pol = polarization.eigval(self.data_win_e[100, :],
                               self.data_win_n[100, :],
                               self.data_win_z[100, :],
                               self.fk, self.norm)
     pol_5_ref = [2.81387533e-04, 3.18409580e-04, 6.74030846e-04,
                  5.55067015e-01, 4.32938188e-01]
     self.assertTrue(np.allclose(np.concatenate(pol[:5]), pol_5_ref))