Compare commits

..

3 Commits

5 changed files with 218 additions and 137 deletions

BIN
.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 MiB

View File

@ -1,11 +1,11 @@
# PyLoT # PyLoT
version: 0.2 version: 0.3
The Python picking and Localisation Tool The Python picking and Localisation Tool
This python library contains a graphical user interfaces for picking seismic phases. This software needs [ObsPy][ObsPy] This python library contains a graphical user interfaces for picking seismic phases. This software needs [ObsPy][ObsPy]
and the PySide Qt4 bindings for python to be installed first. and the PySide2 Qt5 bindings for python to be installed first.
PILOT has originally been developed in Mathworks' MatLab. In order to distribute PILOT without facing portability PILOT has originally been developed in Mathworks' MatLab. In order to distribute PILOT without facing portability
problems, it has been decided to redevelop the software package in Python. The great work of the ObsPy group allows easy problems, it has been decided to redevelop the software package in Python. The great work of the ObsPy group allows easy
@ -18,16 +18,31 @@ The development of PyLoT is part of the joint research project MAGS2 and AlpArra
At the moment there is no automatic installation procedure available for PyLoT. Best way to install is to clone the At the moment there is no automatic installation procedure available for PyLoT. Best way to install is to clone the
repository and add the path to your Python path. repository and add the path to your Python path.
It is highly recommended to use Anaconda for a simple creation of a Python installation using either the *pylot.yml* or the *requirements.txt* file found in the PyLoT root directory. First make sure that the *conda-forge* channel is available in your Anaconda installation:
conda config --add channels conda-forge
Afterwards run (from the PyLoT main directory)
conda create --name pylot_38 --file requirements.txt
or
conda env create -f pylot.yml
#### Prerequisites: #### Prerequisites:
In order to run PyLoT you need to install: In order to run PyLoT you need to install:
- python 2 or 3 - Python 3
- obspy
- pyside2
- pyqtgraph
- cartopy
(the following are already dependencies of the above packages):
- scipy - scipy
- numpy - numpy
- matplotlib - matplotlib
- obspy
- pyside
#### Some handwork: #### Some handwork:
@ -74,8 +89,6 @@ PyLoT has been tested on Mac OSX (10.11), Debian Linux 8 and on Windows 10.
#### Known issues: #### Known issues:
- Sometimes an error might occur when using Qt
We hope to solve these with the next release. We hope to solve these with the next release.
## Staff ## Staff

211
pylot.yml
View File

@ -1,118 +1,103 @@
name: pylot_py35 name: pylot_38
channels: channels:
- conda-forge - conda-forge
- defaults - defaults
dependencies: dependencies:
- _libgcc_mutex=0.1=conda_forge - brotli=1.0.9=h8ffe710_6
- _openmp_mutex=4.5=1_gnu - brotli-bin=1.0.9=h8ffe710_6
- brotlipy=0.7.0=py36h8f6f2f9_1001 - brotlipy=0.7.0=py38h294d835_1003
- c-ares=1.17.1=h7f98852_1 - ca-certificates=2021.10.8=h5b45459_0
- ca-certificates=2021.5.30=ha878542_0 - cartopy=0.20.2=py38hd9cf50b_4
- cartopy=0.18.0=py36h104b3a8_13 - certifi=2021.10.8=py38haa244fe_1
- certifi=2021.5.30=py36h5fab9bb_0 - cffi=1.15.0=py38hd8c33c5_0
- cffi=1.14.5=py36hc120d54_0 - charset-normalizer=2.0.12=pyhd8ed1ab_0
- chardet=4.0.0=py36h5fab9bb_1 - cryptography=36.0.1=py38hb7941b4_0
- cryptography=3.4.6=py36hb60f036_0 - cycler=0.11.0=pyhd8ed1ab_0
- cycler=0.10.0=py_2 - decorator=5.1.1=pyhd8ed1ab_0
- dbus=1.13.6=hfdff14a_1 - fonttools=4.30.0=py38h294d835_0
- decorator=4.4.2=py_0 - freetype=2.10.4=h546665d_1
- expat=2.2.10=h9c3ff4c_0 - geos=3.10.2=h39d44d4_0
- fontconfig=2.13.1=hba837de_1004 - greenlet=1.1.2=py38h885f38d_1
- freetype=2.10.4=h0708190_1 - icu=68.2=h0e60522_0
- future=0.18.2=py36h5fab9bb_3 - idna=3.3=pyhd8ed1ab_0
- geos=3.9.1=h9c3ff4c_2 - intel-openmp=2022.0.0=h57928b3_3663
- gettext=0.19.8.1=h0b5b191_1005 - jbig=2.1=h8d14728_2003
- glib=2.68.0=h9c3ff4c_1 - jpeg=9e=h8ffe710_0
- glib-tools=2.68.0=h9c3ff4c_1 - kiwisolver=1.3.2=py38hbd9d945_1
- greenlet=1.0.0=py36hc4f0c31_0 - krb5=1.19.2=h1176d77_4
- gst-plugins-base=1.18.4=h29181c9_0 - lcms2=2.12=h2a16943_0
- gstreamer=1.18.4=h76c114f_0 - lerc=3.0=h0e60522_0
- icu=68.1=h58526e2_0 - libblas=3.9.0=13_win64_mkl
- idna=2.10=pyh9f0ad1d_0 - libbrotlicommon=1.0.9=h8ffe710_6
- importlib-metadata=3.7.3=py36h5fab9bb_0 - libbrotlidec=1.0.9=h8ffe710_6
- jpeg=9d=h36c2ea0_0 - libbrotlienc=1.0.9=h8ffe710_6
- kiwisolver=1.3.1=py36h605e78d_1 - libcblas=3.9.0=13_win64_mkl
- krb5=1.17.2=h926e7f8_0 - libclang=11.1.0=default_h5c34c98_1
- lcms2=2.12=hddcbb42_0 - libcurl=7.82.0=h789b8ee_0
- ld_impl_linux-64=2.35.1=hea4e1c9_2 - libdeflate=1.10=h8ffe710_0
- libblas=3.9.0=8_openblas - libiconv=1.16=he774522_0
- libcblas=3.9.0=8_openblas - liblapack=3.9.0=13_win64_mkl
- libclang=11.1.0=default_ha53f305_0 - libpng=1.6.37=h1d00b33_2
- libcurl=7.75.0=hc4aaa36_0 - libssh2=1.10.0=h680486a_2
- libedit=3.1.20191231=he28a2e2_2 - libtiff=4.3.0=hc4061b1_3
- libev=4.33=h516909a_1 - libwebp=1.2.2=h57928b3_0
- libevent=2.1.10=hcdb4288_3 - libwebp-base=1.2.2=h8ffe710_1
- libffi=3.3=h58526e2_2 - libxcb=1.13=hcd874cb_1004
- libgcc-ng=9.3.0=h2828fa1_18 - libxml2=2.9.12=hf5bbc77_1
- libgfortran-ng=9.3.0=hff62375_18 - libxslt=1.1.33=h65864e5_3
- libgfortran5=9.3.0=hff62375_18 - libzlib=1.2.11=h8ffe710_1013
- libglib=2.68.0=h3e27bee_1 - lxml=4.8.0=py38h292cb97_0
- libgomp=9.3.0=h2828fa1_18 - lz4-c=1.9.3=h8ffe710_1
- libiconv=1.16=h516909a_0 - m2w64-gcc-libgfortran=5.3.0=6
- liblapack=3.9.0=8_openblas - m2w64-gcc-libs=5.3.0=7
- libllvm11=11.1.0=hf817b99_0 - m2w64-gcc-libs-core=5.3.0=7
- libnghttp2=1.43.0=h812cca2_0 - m2w64-gmp=6.1.0=2
- libopenblas=0.3.12=pthreads_h4812303_1 - m2w64-libwinpthread-git=5.0.0.4634.697f757=2
- libpng=1.6.37=h21135ba_2 - matplotlib-base=3.3.4=py38h34ddff4_0
- libpq=13.1=hfd2b0eb_2 - mkl=2022.0.0=h0e2418a_796
- libssh2=1.9.0=ha56f1ee_6 - msys2-conda-epoch=20160418=1
- libstdcxx-ng=9.3.0=h6de172a_18 - munkres=1.1.4=pyh9f0ad1d_0
- libtiff=4.2.0=hdc55705_0 - numpy=1.22.3=py38hcf66579_0
- libuuid=2.32.1=h7f98852_1000 - obspy=1.3.0=py38h6f4d8f0_0
- libwebp-base=1.2.0=h7f98852_2 - openjpeg=2.4.0=hb211442_1
- libxcb=1.13=h7f98852_1003 - openssl=1.1.1l=h8ffe710_0
- libxkbcommon=1.0.3=he3ba5ed_0 - packaging=21.3=pyhd8ed1ab_0
- libxml2=2.9.10=h72842e0_3 - pillow=9.0.1=py38hd8e0db4_2
- libxslt=1.1.33=h15afd5d_2 - pip=22.0.4=pyhd8ed1ab_0
- lxml=4.6.2=py36h04a5ba7_1 - proj=9.0.0=h1cfcee9_1
- lz4-c=1.9.3=h9c3ff4c_0 - pthread-stubs=0.4=hcd874cb_1001
- matplotlib-base=3.3.4=py36hd391965_0 - pycparser=2.21=pyhd8ed1ab_0
- mysql-common=8.0.23=ha770c72_1 - pyopenssl=22.0.0=pyhd8ed1ab_0
- mysql-libs=8.0.23=h935591d_1 - pyparsing=3.0.7=pyhd8ed1ab_0
- ncurses=6.2=h58526e2_4 - pyproj=3.3.0=py38h3b5edaa_2
- nspr=4.30=h9c3ff4c_0 - pyqtgraph=0.12.4=pyhd8ed1ab_0
- nss=3.63=hb5efdd6_0 - pyshp=2.2.0=pyhd8ed1ab_0
- numpy=1.19.5=py36h2aa4a07_1 - pyside2=5.13.2=py38hadd4fab_7
- obspy=1.2.2=py36h785e9b2_0 - pysocks=1.7.1=py38haa244fe_4
- olefile=0.46=pyh9f0ad1d_1 - python=3.8.12=h7840368_2_cpython
- openssl=1.1.1k=h7f98852_0 - python-dateutil=2.8.2=pyhd8ed1ab_0
- pandas=1.1.5=py36h284efc9_0 - python_abi=3.8=2_cp38
- pcre=8.44=he1b5a44_0 - qt=5.12.9=h5909a2a_4
- pillow=8.1.2=py36ha6010c0_0 - requests=2.27.1=pyhd8ed1ab_0
- pip=21.0.1=pyhd8ed1ab_0 - scipy=1.8.0=py38ha1292f7_1
- proj=7.2.0=h277dcde_2 - setuptools=60.9.3=py38haa244fe_0
- pthread-stubs=0.4=h36c2ea0_1001 - shapely=1.8.0=py38hd27d790_5
- pycparser=2.20=pyh9f0ad1d_2 - six=1.16.0=pyh6c4a22f_0
- pyopenssl=20.0.1=pyhd8ed1ab_0 - sqlalchemy=1.4.32=py38h294d835_0
- pyparsing=2.4.7=pyh9f0ad1d_0 - sqlite=3.37.0=h8ffe710_0
- pyqt5-sip=4.19.18=py36hc4f0c31_7 - tbb=2021.5.0=h2d74725_0
- pyqtgraph=0.11.1=pyhd3deb0d_0 - tk=8.6.12=h8ffe710_0
- pyshp=2.1.3=pyh44b312d_0 - tornado=6.1=py38h294d835_2
- pyside2=5.13.2=py36h6b97533_4 - ucrt=10.0.20348.0=h57928b3_0
- pysocks=1.7.1=py36h5fab9bb_3 - unicodedata2=14.0.0=py38h294d835_0
- python=3.6.13=hffdb5ce_0_cpython - urllib3=1.26.8=pyhd8ed1ab_1
- python-dateutil=2.8.1=py_0 - vc=14.2=hb210afc_6
- python_abi=3.6=1_cp36m - vs2015_runtime=14.29.30037=h902a5da_6
- pytz=2021.1=pyhd8ed1ab_0 - wheel=0.37.1=pyhd8ed1ab_0
- qt=5.12.9=hda022c4_4 - win_inet_pton=1.1.0=py38haa244fe_3
- qtpy=1.9.0=py_0 - xorg-libxau=1.0.9=hcd874cb_0
- readline=8.0=he28a2e2_2 - xorg-libxdmcp=1.1.3=hcd874cb_0
- requests=2.25.1=pyhd3deb0d_0 - xz=5.2.5=h62dcd97_1
- scipy=1.5.3=py36h9e8f40b_0 - zlib=1.2.11=h8ffe710_1013
- setuptools=49.6.0=py36h5fab9bb_3 - zstd=1.5.2=h6255e5f_0
- shapely=1.7.1=py36h93b233e_4
- six=1.15.0=pyh9f0ad1d_0
- sqlalchemy=1.4.2=py36h8f6f2f9_0
- sqlite=3.34.0=h74cdb3f_0
- tk=8.6.10=h21135ba_1
- tornado=6.1=py36h8f6f2f9_1
- typing_extensions=3.7.4.3=py_0
- urllib3=1.26.4=pyhd8ed1ab_0
- wheel=0.36.2=pyhd3deb0d_0
- xorg-libxau=1.0.9=h7f98852_0
- xorg-libxdmcp=1.1.3=h7f98852_0
- xz=5.2.5=h516909a_1
- zipp=3.4.1=pyhd8ed1ab_0
- zlib=1.2.11=h516909a_1010
- zstd=1.4.9=ha95c52a_0
prefix: prefix:

100
requirements.txt Normal file
View File

@ -0,0 +1,100 @@
# This file may be used to create an environment using:
# $ conda create --name <env> --file <this file>
# platform: win-64
brotli=1.0.9=h8ffe710_6
brotli-bin=1.0.9=h8ffe710_6
brotlipy=0.7.0=py38h294d835_1003
ca-certificates=2021.10.8=h5b45459_0
cartopy=0.20.2=py38hd9cf50b_4
certifi=2021.10.8=py38haa244fe_1
cffi=1.15.0=py38hd8c33c5_0
charset-normalizer=2.0.12=pyhd8ed1ab_0
cryptography=36.0.1=py38hb7941b4_0
cycler=0.11.0=pyhd8ed1ab_0
decorator=5.1.1=pyhd8ed1ab_0
fonttools=4.30.0=py38h294d835_0
freetype=2.10.4=h546665d_1
geos=3.10.2=h39d44d4_0
greenlet=1.1.2=py38h885f38d_1
icu=68.2=h0e60522_0
idna=3.3=pyhd8ed1ab_0
intel-openmp=2022.0.0=h57928b3_3663
jbig=2.1=h8d14728_2003
jpeg=9e=h8ffe710_0
kiwisolver=1.3.2=py38hbd9d945_1
krb5=1.19.2=h1176d77_4
lcms2=2.12=h2a16943_0
lerc=3.0=h0e60522_0
libblas=3.9.0=13_win64_mkl
libbrotlicommon=1.0.9=h8ffe710_6
libbrotlidec=1.0.9=h8ffe710_6
libbrotlienc=1.0.9=h8ffe710_6
libcblas=3.9.0=13_win64_mkl
libclang=11.1.0=default_h5c34c98_1
libcurl=7.82.0=h789b8ee_0
libdeflate=1.10=h8ffe710_0
libiconv=1.16=he774522_0
liblapack=3.9.0=13_win64_mkl
libpng=1.6.37=h1d00b33_2
libssh2=1.10.0=h680486a_2
libtiff=4.3.0=hc4061b1_3
libwebp=1.2.2=h57928b3_0
libwebp-base=1.2.2=h8ffe710_1
libxcb=1.13=hcd874cb_1004
libxml2=2.9.12=hf5bbc77_1
libxslt=1.1.33=h65864e5_3
libzlib=1.2.11=h8ffe710_1013
lxml=4.8.0=py38h292cb97_0
lz4-c=1.9.3=h8ffe710_1
m2w64-gcc-libgfortran=5.3.0=6
m2w64-gcc-libs=5.3.0=7
m2w64-gcc-libs-core=5.3.0=7
m2w64-gmp=6.1.0=2
m2w64-libwinpthread-git=5.0.0.4634.697f757=2
matplotlib-base=3.3.4=py38h34ddff4_0
mkl=2022.0.0=h0e2418a_796
msys2-conda-epoch=20160418=1
munkres=1.1.4=pyh9f0ad1d_0
numpy=1.22.3=py38hcf66579_0
obspy=1.3.0=py38h6f4d8f0_0
openjpeg=2.4.0=hb211442_1
openssl=1.1.1l=h8ffe710_0
packaging=21.3=pyhd8ed1ab_0
pillow=9.0.1=py38hd8e0db4_2
pip=22.0.4=pyhd8ed1ab_0
proj=9.0.0=h1cfcee9_1
pthread-stubs=0.4=hcd874cb_1001
pycparser=2.21=pyhd8ed1ab_0
pyopenssl=22.0.0=pyhd8ed1ab_0
pyparsing=3.0.7=pyhd8ed1ab_0
pyproj=3.3.0=py38h3b5edaa_2
pyqtgraph=0.12.4=pyhd8ed1ab_0
pyshp=2.2.0=pyhd8ed1ab_0
pyside2=5.13.2=py38hadd4fab_7
pysocks=1.7.1=py38haa244fe_4
python=3.8.12=h7840368_2_cpython
python-dateutil=2.8.2=pyhd8ed1ab_0
python_abi=3.8=2_cp38
qt=5.12.9=h5909a2a_4
requests=2.27.1=pyhd8ed1ab_0
scipy=1.8.0=py38ha1292f7_1
setuptools=60.9.3=py38haa244fe_0
shapely=1.8.0=py38hd27d790_5
six=1.16.0=pyh6c4a22f_0
sqlalchemy=1.4.32=py38h294d835_0
sqlite=3.37.0=h8ffe710_0
tbb=2021.5.0=h2d74725_0
tk=8.6.12=h8ffe710_0
tornado=6.1=py38h294d835_2
ucrt=10.0.20348.0=h57928b3_0
unicodedata2=14.0.0=py38h294d835_0
urllib3=1.26.8=pyhd8ed1ab_1
vc=14.2=hb210afc_6
vs2015_runtime=14.29.30037=h902a5da_6
wheel=0.37.1=pyhd8ed1ab_0
win_inet_pton=1.1.0=py38haa244fe_3
xorg-libxau=1.0.9=hcd874cb_0
xorg-libxdmcp=1.1.3=hcd874cb_0
xz=5.2.5=h62dcd97_1
zlib=1.2.11=h8ffe710_1013
zstd=1.5.2=h6255e5f_0

View File

@ -1,17 +0,0 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from distutils.core import setup
setup(
name='PyLoT',
version='0.2',
packages=['pylot', 'pylot.core', 'pylot.core.loc', 'pylot.core.pick',
'pylot.core.io', 'pylot.core.util', 'pylot.core.active',
'pylot.core.analysis', 'pylot.testing'],
requires=['obspy', 'PySide2', 'matplotlib', 'numpy', 'scipy', 'pyqtgraph', 'cartopy'],
url='dummy',
license='LGPLv3',
author='Sebastian Wehling-Benatelli',
author_email='sebastian.wehling@rub.de',
description='Comprehensive Python picking and Location Toolbox for seismological data.'
)