openflexure-microscope-server/README.md
2018-11-06 13:54:57 +00:00

1.7 KiB

OpenFlexure Microscope Software

Installation

This module is currently in very early development, and is perhaps best installed in developer mode.

  • (Recommended) create a virtual environment
    • In the openflexure-microscope-software directory, create a venv with python3 venv env
    • Activate with source env/bin/activate
    • Install requirements with pip install -r requirements.txt
  • Install module in developer mode by running python3 setup.py develop
    • Installing in developer mode allows the module to be modified by editing files directly in the openflexure-microscope-software directory.

Developer usage examples

Running the web API in Gunicorn (port 5000)

  • Ensure Gunicorn is installed to the current environment (pip install gunicorn)
  • Run gunicorn --threads 5 --workers 1 --bind 0.0.0.0:5000 openflexure_microscope.api.app:app

Running tests through the PTVSD remote debugger (port 3000)

  • From the openflexure-microscope-software directory, run python3 -m ptvsd --host 0.0.0.0 --port 3000 --wait tests/test_camera.py

Example API request (through CURL)

  • Capture a still image from the video port
    • curl --header "Content-Type: application/json" --request POST --data '{"use_video_port": true}' raspberrypi.local:5000/capture
  • Get the image for download from a browser
    • http://raspberrypi.local:5000/capture?download=true

Credits

Video streaming

Based on supporting code for the article video streaming with Flask and its follow-up Flask Video Streaming Revisited.