intake / intake-gsoc-gui

Panel GUI project for GSOC
3 stars 3 forks source link

Preliminary code for GSOC

Introduction

The issue https://github.com/ESIPFed/gsoc/issues/14 contains a conversation around a possible project for GSOC 2019, concerning interactive data visualisation in the context of Intake and PyViz, under the auspices of ESIP.

This repo contains a small amount of code as a starting point, and addresses only a part of the concept, but one that students are likely not familiar with.

The Task

To form some familiarity with the tools and GUI interactivity with python in the browser, we ask that potential students extend the code in this repo, via github PR. The goal is:

The Existing Code

The file app.py contains the reference to be built upon. It sets up an interactive application which runs in a browser. app.ipynb contains the same code in a notebook. To run:

python app.py

or

jupyter notebook app.ipynb

Dependencies can be installed with the command

conda install -c conda-forge panel bokeh numpy scikit-image param notebook tornado=5

The layout contains one button, which causes the make() function to be run every time, and flips the image in the x-direction. In this version, the specific slice of the image being shown and the colour-map are fixed.

The code is not meant to be an example of good design! It is just the simplest interaction that we could come up with, demonstrating a Panel callback. To see a real example of a GUI being built with Panel, see this PR. If you work in the notebook, only commit after clearing all the output cells.