当前位置: 首页>>代码示例>>Python>>正文


Python RtTrace.registerRtProcess方法代码示例

本文整理汇总了Python中obspy.realtime.RtTrace.registerRtProcess方法的典型用法代码示例。如果您正苦于以下问题:Python RtTrace.registerRtProcess方法的具体用法?Python RtTrace.registerRtProcess怎么用?Python RtTrace.registerRtProcess使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在obspy.realtime.RtTrace的用法示例。


在下文中一共展示了RtTrace.registerRtProcess方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_rt_offset

# 需要导入模块: from obspy.realtime import RtTrace [as 别名]
# 或者: from obspy.realtime.RtTrace import registerRtProcess [as 别名]
    def test_rt_offset(self):

        offset=500

        rt_trace=RtTrace()
        rt_trace.registerRtProcess('offset',offset=offset)

        for tr in self.traces:
            rt_trace.append(tr, gap_overlap_check = True)


        diff=self.data_trace.copy()
        diff.data=rt_trace.data-self.data_trace.data
        self.assertAlmostEquals(np.mean(np.abs(diff)),offset)
开发者ID:amaggi,项目名称:rt-waveloc,代码行数:16,代码来源:test_processing.py

示例2: test_rt_neg_to_zero

# 需要导入模块: from obspy.realtime import RtTrace [as 别名]
# 或者: from obspy.realtime.RtTrace import registerRtProcess [as 别名]
    def test_rt_neg_to_zero(self):

        data_trace=self.data_trace.copy()
        max_val=np.max(data_trace.data)
        
        rt_trace=RtTrace()
        rt_trace.registerRtProcess('neg_to_zero')

        for tr in self.traces:
            rt_trace.append(tr, gap_overlap_check = True)

        max_val_test=np.max(rt_trace.data)
        min_val_test=np.min(rt_trace.data)
        self.assertEqual(max_val, max_val_test)
        self.assertEqual(0.0, min_val_test)
开发者ID:amaggi,项目名称:rt-waveloc,代码行数:17,代码来源:test_processing.py

示例3: test_rt_scale

# 需要导入模块: from obspy.realtime import RtTrace [as 别名]
# 或者: from obspy.realtime.RtTrace import registerRtProcess [as 别名]
    def test_rt_scale(self):

        data_trace = self.data_trace.copy()

        fact=1/np.std(data_trace.data)

        data_trace.data *= fact

        rt_trace=RtTrace()
        rt_trace.registerRtProcess('scale',factor=fact)

        for tr in self.traces:
            rt_trace.append(tr, gap_overlap_check = True)

        diff=self.data_trace.copy()
        diff.data=rt_trace.data-data_trace.data
        self.assertAlmostEquals(np.mean(np.abs(diff)),0.0)
开发者ID:amaggi,项目名称:rt-waveloc,代码行数:19,代码来源:test_processing.py

示例4: test_rt_variance

# 需要导入模块: from obspy.realtime import RtTrace [as 别名]
# 或者: from obspy.realtime.RtTrace import registerRtProcess [as 别名]
    def test_rt_variance(self):


        win=10

        data_trace=self.data_trace.copy()

        rt_single=RtTrace()
        rt_trace=RtTrace()
        rt_trace.registerRtProcess('variance',win=win)
        rt_single.registerRtProcess('variance',win=win)

        for tr in self.traces:
            rt_trace.append(tr, gap_overlap_check = True)
        rt_single.append(data_trace, gap_overlap_check = True)

        assert_array_almost_equal(rt_single, rt_trace)
开发者ID:amaggi,项目名称:rt-waveloc,代码行数:19,代码来源:test_processing.py

示例5: test_sw_kurtosis

# 需要导入模块: from obspy.realtime import RtTrace [as 别名]
# 或者: from obspy.realtime.RtTrace import registerRtProcess [as 别名]
    def test_sw_kurtosis(self):
        win=3.0

        data_trace = self.data_trace.copy()

        rt_trace=RtTrace()
        rt_single=RtTrace()

        rt_trace.registerRtProcess('sw_kurtosis',win=win)
        rt_single.registerRtProcess('sw_kurtosis',win=win)

        for tr in self.traces:
            rt_trace.append(tr, gap_overlap_check = True)
        rt_single.append(data_trace)
   
        diff=self.data_trace.copy()
        diff.data=rt_trace.data-rt_single.data
        self.assertAlmostEquals(np.mean(np.abs(diff)),0.0)
开发者ID:amaggi,项目名称:rt-waveloc,代码行数:20,代码来源:test_processing.py

示例6: test_rt_mean

# 需要导入模块: from obspy.realtime import RtTrace [as 别名]
# 或者: from obspy.realtime.RtTrace import registerRtProcess [as 别名]
    def test_rt_mean(self):

        win=0.05

        data_trace=self.data_trace.copy()

        rt_single=RtTrace()
        rt_trace=RtTrace()
        rt_trace.registerRtProcess('mean',win=win)
        rt_single.registerRtProcess('mean',win=win)

        for tr in self.traces:
            rt_trace.append(tr, gap_overlap_check = True)
        rt_single.append(data_trace, gap_overlap_check = True)

        newtr=self.data_trace.copy()
        newtr.data=newtr.data-rt_trace.data
        assert_array_almost_equal(rt_single, rt_trace)
        self.assertAlmostEqual(np.mean(newtr.data),0.0,0)
开发者ID:amaggi,项目名称:rt-waveloc,代码行数:21,代码来源:test_processing.py

示例7: test_registerRtProcess

# 需要导入模块: from obspy.realtime import RtTrace [as 别名]
# 或者: from obspy.realtime.RtTrace import registerRtProcess [as 别名]
 def test_registerRtProcess(self):
     """
     Testing registerRtProcess method.
     """
     tr = RtTrace()
     # 1 - function call
     tr.registerRtProcess(np.abs)
     self.assertEqual(tr.processing, [(np.abs, {}, None)])
     # 2 - predefined RT processing algorithm
     tr.registerRtProcess('integrate', test=1, muh='maeh')
     self.assertEqual(tr.processing[1][0], 'integrate')
     self.assertEqual(tr.processing[1][1], {'test': 1, 'muh': 'maeh'})
     self.assertTrue(isinstance(tr.processing[1][2][0], RtMemory))
     # 3 - contained name of predefined RT processing algorithm
     tr.registerRtProcess('in')
     self.assertEqual(tr.processing[2][0], 'integrate')
     tr.registerRtProcess('integ')
     self.assertEqual(tr.processing[3][0], 'integrate')
     tr.registerRtProcess('integr')
     self.assertEqual(tr.processing[4][0], 'integrate')
     # 4 - unknown functions
     self.assertRaises(NotImplementedError,
                       tr.registerRtProcess, 'integrate2')
     self.assertRaises(NotImplementedError, tr.registerRtProcess, 'xyz')
     # 5 - module instead of function
     self.assertRaises(NotImplementedError, tr.registerRtProcess, np)
     # check number off all processing steps within RtTrace
     self.assertEqual(len(tr.processing), 5)
     # check tr.stats.processing
     self.assertEqual(len(tr.stats.processing), 5)
     self.assertTrue(tr.stats.processing[0].startswith("realtime_process"))
     self.assertTrue('absolute' in tr.stats.processing[0])
     for i in range(1, 5):
         self.assertTrue('integrate' in tr.stats.processing[i])
     # check kwargs
     self.assertTrue("maeh" in tr.stats.processing[1])
开发者ID:AntonyButcher,项目名称:obspy,代码行数:38,代码来源:test_rttrace.py

示例8: test_rt_kurtosis

# 需要导入模块: from obspy.realtime import RtTrace [as 别名]
# 或者: from obspy.realtime.RtTrace import registerRtProcess [as 别名]
    def test_rt_kurtosis(self):
        win=3.0
        data_trace = self.data_trace.copy()

        sigma=float(np.std(data_trace.data))
        fact = 1/sigma

        dt=data_trace.stats.delta
        C1=dt/float(win)

        x=data_trace.data
        ktrace=data_trace.copy()
        ktrace.data=rec_kurtosis(x*fact,C1)

        rt_trace=RtTrace()
        rt_trace.registerRtProcess('scale',factor=fact)
        rt_trace.registerRtProcess('kurtosis',win=win)

        for tr in self.traces:
            rt_trace.append(tr, gap_overlap_check = True)
   
        diff=self.data_trace.copy()
        diff.data=rt_trace.data-ktrace.data
        self.assertAlmostEquals(np.mean(np.abs(diff)),0.0)
开发者ID:amaggi,项目名称:rt-waveloc,代码行数:26,代码来源:test_processing.py

示例9: test_rt_kurtosis_dec

# 需要导入模块: from obspy.realtime import RtTrace [as 别名]
# 或者: from obspy.realtime.RtTrace import registerRtProcess [as 别名]
    def test_rt_kurtosis_dec(self):

        win=5.0

        data_trace=self.data_trace_filt.copy()
        data_trace_dec=self.data_trace_filt.copy()
        # no need to filter as we're using a pre-filtered trace
        data_trace_dec.decimate(5,no_filter=True)


        rt_trace=RtTrace()
        rt_dec=RtTrace()
        rt_trace.registerRtProcess('kurtosis',win=win)
        rt_dec.registerRtProcess('kurtosis',win=win)

        rt_trace.append(data_trace, gap_overlap_check = True)
        rt_dec.append(data_trace_dec, gap_overlap_check = True)

        newtr=rt_trace.copy()
        newtr.decimate(5, no_filter=True)

        #assert_array_almost_equal(rt_dec.data, newtr.data, 0)
        diff=(np.max(rt_dec.data)-np.max(newtr.data)) / np.max(rt_dec.data)
        self.assertAlmostEquals(np.abs(diff) , 0.0, 2)
开发者ID:amaggi,项目名称:rt-waveloc,代码行数:26,代码来源:test_processing.py

示例10: test_kwin_bank

# 需要导入模块: from obspy.realtime import RtTrace [as 别名]
# 或者: from obspy.realtime.RtTrace import registerRtProcess [as 别名]
    def test_kwin_bank(self):
        win_list=[1.0, 3.0, 9.0] 
        n_win = len(win_list)

        data_trace = self.data_trace.copy()

        sigma=float(np.std(data_trace.data))
        fact = 1/sigma

        # One RtTrace for processing before the kurtosis
        rt_trace=RtTrace()
        rt_trace.registerRtProcess('scale',factor=fact)

        # One RtTrace per kurtosis window
        kurt_traces=[]
        for i in xrange(n_win):
            rtt=RtTrace()
            rtt.registerRtProcess('kurtosis',win=win_list[i])
            kurt_traces.append(rtt)

        # One RrTrace for post-processing the max kurtosis window
        max_kurt=RtTrace()
        max_kurt.registerRtProcess('differentiate')
        max_kurt.registerRtProcess('neg_to_zero')

        for tr in self.traces:
            # prepare memory for kurtosis
            kurt_tr=tr.copy() 
            # do initial processing
            proc_trace=rt_trace.append(tr, gap_overlap_check = True)
            kurt_output=[]
            for i in xrange(n_win):
                # pass output of initial processing to the kwin bank
                ko=kurt_traces[i].append(proc_trace, gap_overlap_check = True)
                # append the output to the kurt_output list
                kurt_output.append(ko.data)
            # stack the output of the kwin bank and find maximum
            kurt_stack=np.vstack(tuple(kurt_output))
            kurt_tr.data=np.max(kurt_stack,axis=0)
            # append to the max_kurt RtTrace for post-processing
            max_kurt.append(kurt_tr)
开发者ID:amaggi,项目名称:rt-waveloc,代码行数:43,代码来源:test_processing.py

示例11: test_copy

# 需要导入模块: from obspy.realtime import RtTrace [as 别名]
# 或者: from obspy.realtime.RtTrace import registerRtProcess [as 别名]
 def test_copy(self):
     """
     Testing copy of RtTrace object.
     """
     rtr = RtTrace()
     rtr.copy()
     # register predefined function
     rtr.registerRtProcess('integrate', test=1, muh='maeh')
     rtr.copy()
     # register ObsPy function call
     rtr.registerRtProcess(filter.bandpass, freqmin=0, freqmax=1, df=0.1)
     rtr.copy()
     # register NumPy function call
     rtr.registerRtProcess(np.square)
     rtr.copy()
开发者ID:AntonyButcher,项目名称:obspy,代码行数:17,代码来源:test_rttrace.py

示例12: test_missingOrWrongArgumentInRtProcess

# 需要导入模块: from obspy.realtime import RtTrace [as 别名]
# 或者: from obspy.realtime.RtTrace import registerRtProcess [as 别名]
 def test_missingOrWrongArgumentInRtProcess(self):
     """
     Tests handling of missing/wrong arguments.
     """
     trace = Trace(np.arange(100))
     # 1- function scale needs no additional arguments
     rt_trace = RtTrace()
     rt_trace.registerRtProcess('scale')
     rt_trace.append(trace)
     # adding arbitrary arguments should fail
     rt_trace = RtTrace()
     rt_trace.registerRtProcess('scale', muh='maeh')
     self.assertRaises(TypeError, rt_trace.append, trace)
     # 2- function tauc has one required argument
     rt_trace = RtTrace()
     rt_trace.registerRtProcess('tauc', width=10)
     rt_trace.append(trace)
     # wrong argument should fail
     rt_trace = RtTrace()
     rt_trace.registerRtProcess('tauc', xyz='xyz')
     self.assertRaises(TypeError, rt_trace.append, trace)
     # missing argument width should raise an exception
     rt_trace = RtTrace()
     rt_trace.registerRtProcess('tauc')
     self.assertRaises(TypeError, rt_trace.append, trace)
     # adding arbitrary arguments should fail
     rt_trace = RtTrace()
     rt_trace.registerRtProcess('tauc', width=20, notexistingoption=True)
     self.assertRaises(TypeError, rt_trace.append, trace)
开发者ID:AntonyButcher,项目名称:obspy,代码行数:31,代码来源:test_rttrace.py

示例13: RealTimeSignalTestCase

# 需要导入模块: from obspy.realtime import RtTrace [as 别名]
# 或者: from obspy.realtime.RtTrace import registerRtProcess [as 别名]

#.........这里部分代码省略.........
                   'max_time': 120,
                   'gain': 1.610210e+09}
        # filtering manual
        self.filt_trace_data = signal.mwpIntegral(self.orig_trace.copy(),
                                                  **options)
        # filtering real time
        process_list = [('mwpIntegral', options)]
        self._runRtProcess(process_list)
        # check results
        np.testing.assert_almost_equal(self.filt_trace_data,
                                       self.rt_trace.data)

    def test_mwp(self):
        """
        Testing Mwp calculation using two processing functions.
        """
        trace = self.orig_trace.copy()
        epicentral_distance = 30.0855
        options = {'mem_time': 240,
                   'ref_time': trace.stats.starttime + 301.506,
                   'max_time': 120,
                   'gain': 1.610210e+09}
        # filtering manual
        trace.data = signal.integrate(trace)
        self.filt_trace_data = signal.mwpIntegral(trace, **options)
        # filtering real time
        process_list = [('integrate', {}), ('mwpIntegral', options)]
        self._runRtProcess(process_list)
        # check results
        peak = np.amax(np.abs(self.rt_trace.data))
        mwp = signal.calculateMwpMag(peak, epicentral_distance)
        self.assertAlmostEqual(mwp, 8.78902911791, 5)
        np.testing.assert_almost_equal(self.filt_trace_data,
                                       self.rt_trace.data)

    def test_combined(self):
        """
        Testing combining integrate and differentiate functions.
        """
        trace = self.orig_trace.copy()
        # filtering manual
        trace.data = signal.integrate(trace)
        self.filt_trace_data = signal.differentiate(trace)
        # filtering real time
        process_list = [('int', {}), ('diff', {})]
        self._runRtProcess(process_list)
        # check results
        trace = self.orig_trace.copy()
        np.testing.assert_almost_equal(self.filt_trace_data,
                                       self.rt_trace.data)
        np.testing.assert_almost_equal(trace.data[1:], self.rt_trace.data[1:])
        np.testing.assert_almost_equal(trace.data[1:],
                                       self.filt_trace_data[1:])

    def _runRtProcess(self, process_list, max_length=None):
        """
        Helper function to create a RtTrace, register all given process
        functions and run the real time processing.
        """
        # assemble real time trace
        self.rt_trace = RtTrace(max_length=max_length)

        for (process, options) in process_list:
            self.rt_trace.registerRtProcess(process, **options)

        # append packet data to RtTrace
        self.rt_appended_traces = []
        for trace in self.orig_trace_chunks:
            # process single trace
            result = self.rt_trace.append(trace, gap_overlap_check=True)
            # add to list of appended traces
            self.rt_appended_traces.append(result)

    def _plotResults(self):
        """
        Plots original, filtered original and real time processed traces into
        a single plot.
        """
        # plot only if test is started manually
        if __name__ != '__main__':
            return
        # create empty stream
        st = Stream()
        st.label = self._testMethodName
        # original trace
        self.orig_trace.label = "Original Trace"
        st += self.orig_trace
        # use header information of original trace with filtered trace data
        tr = self.orig_trace.copy()
        tr.data = self.filt_trace_data
        tr.label = "Filtered original Trace"
        st += tr
        # real processed chunks
        for i, tr in enumerate(self.rt_appended_traces):
            tr.label = "RT Chunk %02d" % (i + 1)
            st += tr
        # real time processed trace
        self.rt_trace.label = "RT Trace"
        st += self.rt_trace
        st.plot(automerge=False, color='blue', equal_scale=False)
开发者ID:gthompson,项目名称:obspy,代码行数:104,代码来源:test_signal.py

示例14: RtMigrator

# 需要导入模块: from obspy.realtime import RtTrace [as 别名]
# 或者: from obspy.realtime.RtTrace import registerRtProcess [as 别名]
class RtMigrator(object):
    """
    Class of objects for real-time migration.
    """

    # attributes
    x=np.array([])
    y=np.array([])
    z=np.array([])
    ttimes_matrix=np.empty((0,0), dtype=float)
    npts=0
    nsta=0
    sta_list=[]

    obs_rt_list=[]
    point_rt_list=[]
    stack_list=[]

    max_out=None
    x_out=None
    y_out=None
    z_out=None

    last_common_end_stack=[]
    last_common_end_max=None

    dt=1.0
    filter_shift=0.0


    def __init__(self,waveloc_options):
        """
        Initialize from a set of travel-times as hdf5 files
        """
        wo=waveloc_options
        # initialize the travel-times
        #############################
        ttimes_fnames=glob.glob(wo.ttimes_glob)
        # get basic lengths
        f=h5py.File(ttimes_fnames[0],'r')
        # copy the x, y, z data over
        self.x = np.array(f['x'][:])
        self.y = np.array(f['y'][:])
        self.z = np.array(f['z'][:])
        f.close()
        # read the files
        ttimes_list = []
        self.sta_list=[]
        for fname in ttimes_fnames:
            f=h5py.File(fname,'r')
            # update the list of ttimes
            ttimes_list.append(np.array(f['ttimes']))
            sta=f['ttimes'].attrs['station']
            f.close()
            # update the dictionary of station names
            self.sta_list.append(sta)
        # stack the ttimes into a numpy array
        self.ttimes_matrix=np.vstack(ttimes_list)
        (self.nsta,self.npts) = self.ttimes_matrix.shape

        # initialize the RtTrace(s)
        ##########################
        max_length = wo.opdict['max_length']
        self.safety_margin = wo.opdict['safety_margin']
        self.dt = wo.opdict['dt']

        # need a RtTrace per station 
        self.obs_rt_list=[RtTrace() for sta in self.sta_list]

        # register pre-processing
        self._register_preprocessing(wo)

        # need nsta streams for each point we test (nsta x npts)
        # for shifted waveforms
        self.point_rt_list=[[RtTrace(max_length=max_length) \
                for ista in xrange(self.nsta)] for ip in xrange(self.npts)]

        # register processing of point-streams here
        for sta_list in self.point_rt_list:
            for rtt in sta_list:
                # This is where we would scale for distance (given pre-calculated
                # distances from each point to every station)
                rtt.registerRtProcess('scale', factor=1.0)

        # need npts streams to store the point-stacks
        self.stack_list=[RtTrace(max_length=max_length) for ip in xrange(self.npts)]
        
        # register stack procesing here
        for rtt in self.stack_list:
            # This is where we would add or lower weights if we wanted to
            rtt.registerRtProcess('scale', factor=1.0)

        # need 4 output streams (max, x, y, z)
        self.max_out = RtTrace()
        self.x_out = RtTrace()
        self.y_out = RtTrace()
        self.z_out = RtTrace()

        if not wo.is_syn:
            self.max_out.registerRtProcess('boxcar', width=50)
#.........这里部分代码省略.........
开发者ID:amaggi,项目名称:rt-waveloc,代码行数:103,代码来源:migration.py


注:本文中的obspy.realtime.RtTrace.registerRtProcess方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。