Skip to content

Visualize the growth of collections of individual cells over time.

License

Notifications You must be signed in to change notification settings

visdesignlab/Loon

Repository files navigation

Loon: Using Exemplars to Visualize Large-Scale Microscopy Data

This repo corresponds to the award winning paper published in IEEE Transactions on Visualization and Computer Graphics (Vis): 10.1109/TVCG.2021.3114766

A deployed version of the tool is available at loon.sci.utah.edu

A video describing the technique can be found at https://www.youtube.com/watch?v=Y7u3Kg3At9A

Download/Install

git clone https://github.com/visdesignlab/cell-growth.git

cd cell-growth

sudo sh setup.sh

  • setup will create a .env file with variables to fill out.
Argument Description
CLIENT_SECRETS_FILENAME` Path to google credentials file. Not tracked in GitHub.
TEMP_FILES_FOLDER Path to folder used for programiatically creating temporary files.
TOP_GOOGLE_DRIVE_FOLDER_ID google drive id for the top folder for any data
OAUTHLIB_INSECURE_TRANSPORT Set to 1 for development, delete entire variable for production. (Link)
OAUTHLIB_RELAX_TOKEN_SCOPE Can be left as 1. (link)
FLASK_SECRET_KEY should be set to a secret random string
FLASK_ENV should be either development or production
FLASK_SERVER_NAME server name, e.g. for development it can be localhost:8080

There are a handful of files that must be added that are not tracked on GitHub.

  • Google client secrets file for google auth/access to drive.
  • static/cache/datasetList/derived/combined.json - an aggregation of available datasets.
  • static/cache/datasetList/*.json - one json metadata file for each available dataset

Install JS dependencies

npm install

Install Python dependencies (e.g. using using virtualenv)

python3 -m venv .venv

Activate virual environment:

Windows: .venv\Scripts\activate.bat

Mac: source .venv/bin/activate

Install dependencies:

python3 -m pip install -r requirements.txt

Troubleshooting

Build JS

gulp

Run server

python3 app.py

Deploy with gunicorn

gunicorn --bind 127.0.0.1:5000 --timeout 120 wsgi:app