/PySAT-GUI

This will be the GUI that will be used to hide the backend terminal usage to create graph information

Primary LanguagePythonOtherNOASSERTION

Build Status Join the chat at https://gitter.im/USGS-Astrogeology/PySAT

Easy Windows Installation

  1. Download the setup file
  2. Click and Install

Installation with Miniconda

You can also copy and paste the code into your terminal

Things you'll need

git-bash
Miniconda

1. Fresh install of Miniconda (Skip to step 2 if you have Anaconda/Miniconda)

Install Miniconda

2. Download necessary libraries

git clone --depth=50 --branch=master https://github.com/USGS-Astrogeology/PySAT_Point_Spectra_GUI.git
git clone --depth=50 --branch=master https://github.com/USGS-Astrogeology/PySAT.git

3. Python install libraries

cd PySAT
python setup.py install
cd ..
cd PySAT_Point_Spectra_GUI
python setup.py install
cd ..

4. Pip/Conda install necessary libraries

conda install pyqt
conda install numpy
conda install pandas
conda install scipy
pip install sklearn
conda install matplotlib
pip install qtmodern

5 Start the application

python PySAT_Point_Spectra_GUI\point_spectra_gui

if the application fails to start because of a missing dependency try pip or conda installing it.

PYSAT UI

PYSAT splash

  • The UI's backend is designed and created in Python with the QT framework
  • The UI is being built to work closely with the original libraries

Current Road Ahead

  • Ported to version 5 of PyQt
  • Working Modules on UI
  • Selecting functions from Menubar adds functions dynamically
  • Shortcuts such as Ctrl S to save
  • Embedded Plots and Graphs from data collected
  • Package all python packages: sklearn, scipy, numpy, matplotlib, pysat for user consumption It has been discovered that the user can download Anaconda, and run our files as normal.
  • Add ability to delete modules
  • Add ability to save plots in personal files
  • Add ability to save state of GUI, i.e. all number that user inputs will be there again after closing GUI
  • Add ability to save data frame at any point in the workflow
  • Setup a way to select points on a scatter plot.

Control Flow

FlowChart

  • The user begins by starting __main__.py.
  • __main__.py will load MainWindow.py which in turn will load the splash screen and all necessary UI pieces
  • MainWindow.py displays the mainframe in which the UI's submodules will be loaded into
  • MainWindow.py will then foward control to each submodule of focus
  • Each of the submodules build the collective UI library
  • Each submodule also contains all the necessary functions that will interact with Anaconda and PYSAT
  • The PYSAT and Anaconda libraries will then do the necessary data manipulations
  • The values are then returned back up to the Submodule which in turn is returned back to MainWindow which will then deal with changed data