-
Notifications
You must be signed in to change notification settings - Fork 3
Home
(Version 0.7.10)
Introduction
Lazylyst was created for review of time series, with a focus on seismic event review. It is intended to be extremely flexible with regards to work flow changes, and the addition of new modules or functions. Lazylyst lives in a world of plugins, where the functions are imported through the GUI which take in and return a set of variables ("Hot Variables") which then automatically updates the GUI.
Public Lazylyst development has halted. However, extensive use of this program in version 0.7.10 has shown it to be quite stable.
Contents
- Overview and Framework
- Installation
- Getting Started
- Main Window
- Hot Variables
- Preferences
- Actions
- Sources
The inspiration for the creation of Lazylyst came from the creation of previous "closed-loop" GUIs, where the inner workings of the scientific processes and formats are far disconnected from the user. Any new addition or change to the functionality and capability of the program would create a fair amount of work for the coder. Often times the person(s) requesting a feature already had some code which worked and wanted a visual aspect, yet did not have the time or expertise to create a GUI. Thus, Lazylyst was formed for the lazy coder (myself), and the lazy analyst (user) - neither of which who wanted to edit/reformat the others code.
A simplified version of Lazylysts scheme
Almost all variables which interact with the GUI are contained as either a preference or hot variable. Preferences are variables such as the color of the background or the number of stations to show at any given time, and are not applicable when considering how the data should be further processed. Hot variables however, such as the raw time series, pick times, or the station locations are values which can affect an analysts choice on whether or not to continue processing the data. As hot variables are required by the user, these are set up to be used as inputs to a plugin (function) or as a return from the plugin to then update the GUI. Hot variables are called "hot" as they are passed between Lazylyst and plugins (hot potatoe reference).
Great, so we have these variables built into Lazylyst which update specific visuals on the GUI, but a link is required to collect the wanted inputs, send to the function, and finally check and accept the returns. These links are referred to as Actions, and can be customized through the GUI. Actions have a trigger (a key-bind, or another action) which then calls the actions function and deals with the specified inputs/checks/returns.
As each project typically has different trace data, station metadata, and or events - a variable which saves and stores this information was created, called a source. Trace data is loaded through use of any local mseed directory, the initial archive loading may take while depending on the archive size and directory structure, future loading makes use of a cached file. If any archive file has been edited, added, or removed - these specific files will be checked again.
Download the source code through git commands, or by clicking here to get the zipped repository.
Create a python 2.7 or 3.5+ environment (more testing has been done on 2.7).
Install the following python modules:
- obspy>=1.0.2
- pyqtgraph==0.10.0
- scandir>=1.4 (required if using python 2.7)
- pyproj>=1.9.5.1
- future
- sip
After downloading lazylyst and installing the necessary libraries, go to the top level of the source code and run the following using your python interpreter:
from lazylyst.Lazylyst import runLazylyst
runLazylyst()
Press "P" when the GUI has opened up to add a source. An example source is provided with the required files, which are located in the ExampleSource folder of Lazylyst's main directory. From here you can play around with Lazylyst's capabilities. To scout through the built-in actions either press "O" to open the configuration dialog or go to the action wiki page.