Fork with FAFO patches
Find a file
2018-11-12 16:22:49 +00:00
openflexure_microscope Added capture and capture previews to web UI 2018-11-12 16:22:49 +00:00
tests Integrated based uni test for stage movements 2018-11-08 11:31:42 +00:00
.gitignore Ignore UML diagrams 2018-11-07 11:03:08 +00:00
README.md Updated dev readme 2018-11-08 16:24:56 +00:00
requirements.txt Initial commit 2018-11-06 11:35:07 +00:00
setup.py Initial commit 2018-11-06 11:35:07 +00:00
start_interface Created API V1 2018-11-08 15:02:04 +00:00

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.v1:app
    • Alternatively, run source start_interface from the openflexure-microscope-software directory.

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) (Deprecated. Needs to be updated to API v1.)

  • 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.