def setup(self):
        '''Customization of the snuffling.'''
        self.set_name('Ahfullgreen')
        self.add_parameter(Param('Time', 'time', 0.0, -50., 50.))
        self.add_parameter(Param('North shift [km]', 'north_km', 10.0, -100., 100.))
        self.add_parameter(Param('East shift [km]', 'east_km', 10.0, -100., 100.))
        self.add_parameter(Param('Depth', 'depth_km', 10.0, 0.0, 600.0))
        self.add_parameter(Param('Moment', 'moment', 1., 1., 1E10))
        self.add_parameter(Param('Strike', 'strike', 0., -180., 180.))
        self.add_parameter(Param('Dip', 'dip', 90., 0., 90.))
        self.add_parameter(Param('Rake', 'rake', 0., -180., 180.))
        self.add_parameter(Param('sampling rate [Hz]', 'fsampling', 1000., 1.,
                                 10000.0))
        self.add_parameter(Param('vp [km/s]', 'vp', 6.0, 0.0, 10.0))
        self.add_parameter(Param('vs [km/s]', 'vs', 3.0, 0.0, 10.0))
        self.add_parameter(Param('Density [kg/m3]', 'density', 3000. , 0.0, 10000.0))
        self.add_parameter(Param('Qp', 'qp', 200.0, 0.0, 10000.0))
        self.add_parameter(Param('Qs', 'qs', 100.0, 0.0, 10000.0))
        self.add_parameter(Param('tau', 'tau', 0.1, 0.0, 2.0))

        self.add_parameter(Choice(
            'source shape', 'stf', 'Impulse', ['Gauss', 'Impulse']))
        self.add_parameter(Choice(
            'Waveform type', 'quantity', 'Displacement [m]',
            ['Displacement [m]', 'Velocity [m/s]', 'Acceleration [m/s2]']))
        self.add_parameter(Switch('near field', 'want_near', True))
        self.add_parameter(Switch('intermediate field', 'want_intermediate', True))
        self.add_parameter(Switch('far field', 'want_far', True))
        self.add_trigger('Set Params from Event', self.mechanism_from_event)

        self.offline_config = None
Example #2
0
 def setup(self):
     self.set_name('FK (parstack)')
     self.add_parameter(
         Param('max slowness [s/km]', 'slowness_max', 0.2, 0., 1.))
     self.add_parameter(
         Param('min slowness [s/km]', 'slowness_min', 0.01, 0., 1.))
     self.add_parameter(
         Param('delta slowness [s/km]', 'slowness_delta', 0.002, 0., 0.2))
     self.add_parameter(Param('delta backazimut', 'delta_bazi', 2, 1, 20))
     self.add_parameter(
         Param('Increment [s]', 'tinc', 60., 0.5, 60., high_is_none=True))
     self.add_parameter(
         Param('Smoothing length [N]', 'ntaper', 0, 0, 30,
               low_is_none=True))
     self.add_parameter(
         Param('Maximum search factor', 'search_factor', 1, 0, 3))
     self.add_parameter(
         Choice('Use channels', 'want_channel', '*',
                ['*', '*Z', '*E', '*N', 'SHZ', 'BHZ', 'p0']))
     self.add_parameter(
         Choice('method', 'method', 'stack', ['stack', 'correlate']))
     self.add_parameter(Switch('Show', 'want_all', True))
     self.add_parameter(Switch('Phase weighted stack', 'want_pws', False))
     self.set_live_update(False)
     self.irun = 0
     self.figs2draw = []
 def setup(self):
     self.set_name("Beam Forming")
     self.add_parameter(
         Param('Center lat', 'lat_c', 90., -90., 90., high_is_none=True))
     self.add_parameter(
         Param('Center lon', 'lon_c', 180., -180., 180., high_is_none=True))
     self.add_parameter(Param('Back azimuth', 'bazi', 0., 0., 360.))
     self.add_parameter(Param('slowness', 'slow', 0.1, 0., 1.))
     self.add_parameter(
         Choice('slowness unit', 'unit', 's/km', ['s/km', 's/deg']))
     self.add_parameter(
         Choice('Treat different dt by', 'diff_dt_treat', 'oversample',
                ['oversample', 'downsample']))
     self.add_parameter(
         Switch('pre-normalize by std ', 'normalize_std', False))
     self.add_parameter(
         Switch('multiply 1/[no. of traces]', 'post_normalize', False))
     self.add_parameter(Switch('Add Shifted Traces', 'add_shifted', False))
     self.add_trigger('plot', self.plot)
     self.add_trigger('Save Station', self.save_station)
     self.add_trigger('Save Traces', self.save)
     self.add_trigger('Set center by mean lat/lon', self.set_center_latlon)
     self.station_c = None
     self.z_c = None
     self.stacked_traces = None
Example #4
0
    def setup(self):
        self.set_name('Cake Phase')

        # self._phase_names = ('PmP ~S ~P ~P(moho)s ~P(sill-top)s'
        #                       ' ~P(sill-bottom)s Pdiff').split()
        self._phase_names = ('~P Pg Sg pP p P Pdiff PKP PcP PcS PKIKP pPKIKP'
                             ' SSP PPS SPP PSP SP PS ~PS ~SP Pn s S Sn PP PPP'
                             ' ScS Sdiff SS SSS PcP SKS SKIKS').split()

        for iphase, name in enumerate(self._phase_names):
            self.add_parameter(
                Switch(name, 'wantphase_%i' % iphase, iphase == 0))

        self._models = cake.builtin_models()
        self.model_choice = Choice('Model', 'chosen_model',
                                   'ak135-f-continental.m', self._models)

        self.add_parameter(self.model_choice)

        self.add_parameter(Param('Global shift', 'tshift', 0., -20., 20.))
        self.add_parameter(
            Switch('Use station depth', 'use_station_depth', False))
        self.add_trigger('Add Phase', self.add_phase_definition)
        self.add_trigger('Add Model', self.add_model_to_choice)
        self.add_trigger('Plot Model', self.plot_model)
        self.add_trigger('Plot Rays', self.plot_rays)

        self._phases = {}
        self._model = None
Example #5
0
    def setup(self):
        if self.config:
            detector_default = self.config.detector_threshold
        else:
            detector_default = 100.

        self.set_name('Lassie investigate')
        self.add_parameter(Param('Tsearch', 'tsearch', 20., 0.01, 100))
        self.add_parameter(
            Param('Detector threshold', 'detector_threshold', detector_default,
                  1., 10000.))
        self.add_parameter(Switch('Level Trace', 'level_trace', False))
        self.add_parameter(
            Switch('Hold comparison figure', 'hold_figure', False))
        self.add_parameter(
            Choice('new marker kind', 'marker_kind', kind_default, [
                '1 (green)', '2 (blue)', '3 (orange)', '4 (purple)',
                '5 (brown)', '0 (red)'
            ]))
        self.add_trigger('load reference', self.load_comparison)
        self.add_trigger('show comparison', self.show_comparison)
        self.add_trigger('remove comparison', self.remove_comparison)
        # self.add_trigger('read Lassie config', self.fail)
        self.set_live_update(True)
        self.markers_compare = []
        self.detections = []
        self.fig = None
        self.fframe = None
        self.grid = self.config.get_grid()
Example #6
0
    def setup(self):

        self.set_name('STA LTA')
        self.add_parameter(Param('Short Window [s]', 'swin', 30., 0.01, 2 * h))
        self.add_parameter(Param('Ratio', 'ratio', 3., 1.1, 20.))
        self.add_parameter(Param('Level', 'level', 0.5, 0., 1.))
        self.add_parameter(
            Param(
                'Processing Block length (rel. to long window)',
                'block_factor',
                10.,
                2.,
                100.,
            ))
        self.add_parameter(
            Switch('Show trigger level traces', 'show_level_traces', False))
        self.add_parameter(
            Switch('Apply to full dataset', 'apply_to_all', False))
        self.add_parameter(
            Choice('Variant', 'variant', 'centered', ['centered', 'right']))
        self.add_parameter(
            Choice('Scaling/Normalization method', 'scalingmethod', '[0-1]',
                   scalingmethods))
        self.add_parameter(Switch('Detect on sum trace', 'apply_to_sum',
                                  False))

        self.set_live_update(False)
Example #7
0
    def setup(self):

        self.hyposat_data_dir = pjoin(self._path, 'hyposat/data')

        locreg_models = [
            os.path.basename(x)
            for x in glob.glob(pjoin(self.hyposat_data_dir, 'model_*.dat'))
        ]

        crust_51_keys = [
            'Off', 'For station corrections', 'For local/regional model',
            'For station corrections, local/regional model and surface\
                        reflection corrections'
        ]

        self.crust_51_choices = dict([(b, a)
                                      for (a, b) in enumerate(crust_51_keys)])

        self.set_name('HYPOSAT')
        self.add_parameter(
            Choice('Global Model', 'global_model', 'ak135',
                   ('ak135', 'iasp91', 'iasp91a', 'prem', 'jb', 'sp6')))
        self.add_parameter(
            Choice('Local or Regional Model', 'locreg_model', '_',
                   ('_', ) + tuple(locreg_models)))
        self.add_parameter(
            Choice('Use CRUST 5.1', 'crust_51', 'Off', crust_51_keys))
        self.add_trigger('Save', self.save_last_run)
        self.add_parameter(
            Param('P std. deviation [s]', 'p_stddev', 0.1, 0.001, 9.9))
        self.add_parameter(
            Param('S std. deviation [s]', 's_stddev', 0.2, 0.001, 9.9))
        self.add_parameter(
            Param('P-wave velocity to correct elevation',
                  'vp_to_correct_elevation', 3.8, 0., 10.))
        self.add_parameter(
            Param('S-wave velocity to correct elevation',
                  'vs_to_correct_elevation', 2.1, 0., 10.))
        self.add_parameter(
            Param('Starting source depth [km]', 'starting_source_depth_km',
                  10., 0., 600.))
        self.add_parameter(
            Param('Zero level shift [km]', 'zero_level_km', 0., 0., 10.))
        self.add_parameter(
            Param('RG group velocity', 'rg_group_velocity', 2.6, 1., 10.))
        self.add_parameter(
            Switch('Show location plot', 'show_location_plot', False))
        self.add_parameter(
            Switch('Use active markers only', 'use_active', False))
        self.set_live_update(False)
        self.pdf_viewer = 'evince'
        self.dir = None
Example #8
0
    def setup(self):
        '''Customization of Notch Snuffling.'''

        self.set_name('Notch Filter')

        self.add_parameter(
            Param('Center Frequency [Hz]',
                  'centerfreq',
                  50.,
                  0.001,
                  1000.0,
                  low_is_none=False))

        self.add_parameter(
            Param('Notch width (FWHM) [Hz]',
                  'notchwidth',
                  1.,
                  0.001,
                  1000.0,
                  low_is_none=False))

        self.add_parameter(
            Switch('Also filter harmonics', 'filter_harmonics', False))

        self.set_have_post_process_hook(True)

        self.FFF = {}
    def setup(self):
        '''Customization of the snuffling.'''

        self.set_name('Spectrogram')
        self.add_parameter(
            Param('Window length [s]:', 'twin', 100, 0.1, 10000.))

        self.add_parameter(Param('Overlap [%]:', 'overlap', 75., 0., 99.))

        self.add_parameter(Switch('Save figure', 'save', False))

        self.add_parameter(
            Choice('Taper function', 'taper_name', 'Hanning',
                   ['Hanning', 'Hamming', 'Blackman', 'Bartlett']))

        self.add_parameter(
            Choice('Color scale', 'color_scale', 'log',
                   ['log', 'sqrt', 'lin']))

        self.add_parameter(
            Choice('Color table', 'ctb_name', 'spectro',
                   ['spectro', 'rainbow']))

        self.add_trigger('Save plot data', self.save_data)

        self.set_live_update(False)
        self._tapers = {}
    def setup(self):
        self.set_name('Export Waveforms')
        self.add_parameter(
            Choice('Format', 'format', 'mseed',
                   ['mseed', 'text', 'sac', 'yaff']))

        self.add_parameter(
            Param('Time length limit for output files',
                  'tinc',
                  None,
                  0.1,
                  86400.,
                  low_is_none=True))

        self.add_parameter(Switch('Save Station Meta', 'save_stations', False))
        self.add_parameter(Switch('Apply Filters', 'apply_filter', False))
        self.set_live_update(False)
Example #11
0
    def setup(self):
        self.set_name('Cross correlation relocation')
        self.add_parameter(
            Param('Highpass [Hz]',
                  'corner_highpass',
                  1.0,
                  0.001,
                  50.,
                  low_is_none=True))
        self.add_parameter(
            Param('Lowpass [Hz]',
                  'corner_lowpass',
                  4.0,
                  0.001,
                  50.,
                  high_is_none=True))
        self.add_parameter(
            Param('Time window begin', 'tstart', -1.0, -100., 0.))
        self.add_parameter(Param('Time window end', 'tend', 3.0, 0., 100.))

        self.add_parameter(
            Param('Minimum correlation', 'min_corr', 0.5, 0.0, 1.0))

        self.add_parameter(
            Param('Replace master depth [km]',
                  'master_depth_km',
                  None,
                  0.0,
                  100.,
                  high_is_none=True))

        self.add_parameter(Switch('Save figure', 'save', False))
        self.add_parameter(Switch('Fix depth', 'fix_depth', False))
        self.add_parameter(
            Switch('Show correlation traces', 'show_correlation_traces',
                   False))
        self.add_parameter(
            Choice('Weighting', 'weighting', 'cubic',
                   ['equal', 'linear', 'quadratic']))
        self.add_parameter(
            Choice('Earth model', 'model_select', 'Global',
                   ['Global (ak135)', 'Local (from crust2x2)']))

        self.set_live_update(False)
        self.model = None
        self.model_key = None
Example #12
0
 def setup(self):
     self.set_name("Plot Waveforms")
     self.add_parameter(
         Switch('Include Selected Markers', 'add_markers', False))
     self.add_parameter(Switch('Fill positive', 'fill_between', False))
     self.add_parameter(
         Param('Reduction Velocity [km/s]',
               't_red',
               20.,
               1.,
               20.,
               high_is_none=True))
     self.add_parameter(Param('Amplitude Gain', 'yscale', 1., 0.1, 100.))
     self.add_parameter(
         Choice('Pre-scale Amplitudes', 'ampl_scaler', 'trace min/max',
                ['total min/max', 'trace min/max', 'standard deviation']))
     self.add_trigger('Save Last Figure', self.save)
     self.set_live_update(False)
     self.fig = None
Example #13
0
 def setup(self):
     self.set_name('CC Matrix')
     self.add_parameter(Choice(
         'Windowing method', 'time_window_choice', 'P-phase',
         ['P-phase', 'vmin/vmax']))
     self.add_parameter(Param('low', 'low', 10., 0.1, 200.0,
                              high_is_none=True))
     self.add_parameter(Param('high', 'high', 1, 0.1, 200.0,
                              low_is_none=True))
     self.add_parameter(Param('padding [s]', 'tpad', 10, 0.1, 60.0))
     self.add_parameter(Param('dt wanted', 'dt_wanted', 0.01, 0.01, 10.,
                              low_is_none=True))
     self.add_parameter(Param('tdist [s]', 'tdist', 7.5,1., 20.))
     self.add_parameter(Param('v min [m/s]', 'vmin', 1500., 500., 2000.))
     self.add_parameter(Param('v max [m/s] ', 'vmax', 2000., 6000., 1000.))
     self.add_parameter(Switch('Save Traces', 'save_traces', False))
     self.add_parameter(Switch('Show Results', 'show_results', False))
     self.add_trigger('Save Result', self.save)
     self.set_live_update(False)
     self.phase_cache = {}
Example #14
0
 def setup(self):
     self.set_name('VTK 3D-Map')
     self.add_parameter(
         Param('Vertical exaggeration', 'z_scale', 1., 1., 1000.))
     self.add_parameter(
         Param('Topographic decimation',
               'z_decimation',
               1,
               1,
               12,
               low_is_none=True))
     self.add_parameter(
         Param('Margin Radius [km]', 'margin_radius', 1, 1, 100))
     self.add_parameter(Switch('Stations', 'want_stations', True))
     self.add_parameter(Switch('Events', 'want_events', True))
     self.add_parameter(Switch('Topography', 'want_topo', True))
     self.add_parameter(Switch('Topography smoothing', 'smoothing', False))
     self.add_trigger('Make screenshot', self.save_image)
     self.actors = []
     self.frame = None
     self.set_live_update(False)
    def setup(self):
        '''Customization of the snuffling.'''

        self.set_name('Cross Correlation Search')
        self.add_parameter(
            Param('Downsample to [Hz]',
                  'downsample',
                  None,
                  0.1,
                  200.,
                  high_is_none=True))

        self.add_parameter(Param('t search', 'tsearch', 1., 0.1, 100.))
        self.add_parameter(
            Switch('Apply to full dataset', 'apply_to_all', False))
        self.add_parameter(
            Choice('Normalization', 'normalization', 'Off',
                   ('Off', 'Normal', 'Gliding')))
        self.add_parameter(Param('Threshold', 'threshold', 0.5, 0., 1.))
        self.add_parameter(Switch('Use FFT', 'use_fft', True))
        self.set_live_update(False)
    def setup(self):
        self._responses = None
        self.add_parameter(Param('geom. spreading', 'const_a', 1.11, 1., 2.))
        self.add_parameter(
            Param('anelastic attenuation', 'const_b', 0.00189, 0., 1.))
        self.add_parameter(
            Param('static magnification', 'const_c', -2.09, -5., 5.))
        self.add_parameter(
            Param('Duration for "fixed" time window', 'duration_fixed', 200.,
                  1., 500.))
        self.add_parameter(
            Choice('Time window', 'time_window', 'visible / selected',
                   ['visible / selected', 'fixed', 'distance dependent']))
        self.add_parameter(
            Choice('Apply to', 'apply_to', 'active event',
                   ['active event', 'selected events', 'all events']))
        self.add_parameter(
            Switch('Show restituted traces', 'show_restituded_traces', False))
        self.add_parameter(Switch('Mark readings', 'show_markers', False))
        self.add_parameter(Switch('Show plot', 'show_plot', False))
        self.add_parameter(Switch('Show message', 'do_show_message', True))
        self.add_parameter(
            Switch('Needs restitution', 'needs_restitution', False))
        self.add_parameter(
            Switch('Set event magnitude', 'modify_inplace', False))

        self.set_name('Local Magnitude')
        self.set_live_update(False)

        self.vmin = 1500.
        self.vmax = 6000.
Example #17
0
    def setup(self):
        self.set_name('Map')
        self.add_parameter(Switch('Only active event', 'only_active', False))
        self.add_parameter(
            Switch('Open in external browser', 'open_external', False))
        self.add_parameter(
            Choice('Provider', 'map_kind', 'OpenStreetMap',
                   ['OpenStreetMap', 'GMT', 'Google Maps']))

        self.set_live_update(False)
        self.figcount = 0
        self.thread = qc.QThread()
        self.marker_tempdir = self.tempdir()

        self.file_serving_worker = FileServingWorker(self.marker_tempdir)
        self.file_serving_worker.moveToThread(self.thread)
        self.data_proxy = SignalProxy()
        self.data_proxy.content_to_serve.connect(self.file_serving_worker.run)
        self.thread.start()
        self.port = 9998

        self.viewer_connected = False
    def setup(self):
        '''Customization of the snuffling.'''
        self.set_name('Drum Plot')
        self.add_parameter(Param('Gain', 'yscale', 2., 0.1, 100.))
        self.add_parameter(
            Choice('Pre-scale', 'prescale', 'max', ['max', 'std']))
        self.add_parameter(
            Choice('N minutes', 'xminutes', '15', ['1', '15', '30', '60']))
        # self.add_parameter(
        #     Choice(
        #         'N hours', 'nhours', '24', ['24', '1'])
        # )
        self.add_parameter(Switch('Global common scale', 'scale_global', True))

        self.set_live_update(False)
Example #19
0
    def add_phase_definition(self):
        ''' Called from trigger 'Add Phase Definition'.

        Adds another phase option.
        Requires a reset of the GUI.
        '''
        phase_def = str(
            self.input_dialog('Add New Phase', 'Enter Phase Definition'))
        self._phase_names.append(phase_def)

        self.add_parameter(
            Switch(phase_def, 'wantphase_%s' % str(len(self._phase_names) - 1),
                   True))
        self.reset_gui(reloaded=True)
        self.call()
Example #20
0
    def setup(self):
        '''Customization of the snuffling.'''

        self.set_name('Time Line')
        self.add_parameter(
            Param('Latitude:', 'lat', 90, -90., 90., high_is_none=True))
        self.add_parameter(
            Param('Longitude:', 'lon', 180., -180, 180., high_is_none=True))
        self.add_parameter(
            Param('Maximum Distance [km]:', 'maxd', 20000., 0., 20000.,
                  high_is_none=True))
        self.add_parameter(
            Choice('Color by', 'color_by', 'time',
                   ['time', 'longitude', 'latitude', 'magnitude', 'depth', 'kind']))
        self.add_parameter(Choice('Colormap', 'cmap_selector',
                                  'Red-Yellow-Blue', list(save_cmaps.keys())))
        self.add_parameter(Choice('Coordinate system', 'coord_system',
                                  'Lat/Lon', ['Lat/Lon', 'cartesian']))
        self.add_parameter(Switch('Show stations', 'show_stations', False))
        self.add_trigger('Save Figure', self.save_as)
        self.set_live_update(False)
        self.fig = None
        self.cli_mode = False
Example #21
0
    def setup(self):
        '''Customization of the snuffling.'''

        self.set_name('Download Waveforms')
        self.add_parameter(Param(
            'Min Radius [deg]', 'minradius', 0., 0., 180.))
        self.add_parameter(Param(
            'Max Radius [deg]', 'maxradius', 5., 0., 180.))
        self.add_parameter(Param(
            'Origin latitude [deg]', 'lat', 0, -90., 90.))
        self.add_parameter(Param(
            'Origin longitude [deg]', 'lon', 0., -180., 180.))
        self.add_parameter(Switch(
            'Use coordinates of selected event as origin', 'useevent', False))
        self.add_parameter(Choice(
            'Datecenter', 'datacenter', 'GEOFON', ['GEOFON', 'IRIS']))
        self.add_parameter(Choice(
            'Channels', 'channel_pattern', 'BH?',
            ['BH?', 'BHZ', 'HH?', '?H?', '*', '??Z']))

        self.add_trigger('Save', self.save)
        self.set_live_update(False)
        self.current_stuff = None
 def setup(self):
     self.set_name('Stack by markers')
     self.add_parameter(Param('Tmin padding', 'tmin_pad', 1., 0., 100.))
     self.add_parameter(Param('Tmax padding', 'tmax_pad', 1., 0., 600.))
     self.add_parameter(Switch('Normalize', 'normalize', False))
     self.add_parameter(Switch('Debug', 'debug', False))