I've fixed a typo with the virtual environment creation and added a line to suggest you install the binary dependencies for Pillow and numpy/scipy. We might want to mention the set up for the pi camera too.
1.9 KiB
1.9 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 -m venv env - Activate with
source env/bin/activate - Install dependencies with
sudo apt-get install libatlas-base-dev libjasper-dev libjpeg-dev - Install requirements with
pip install -r requirements.txt
- In the openflexure-microscope-software directory, create a venv with
- 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_interfacefrom the openflexure-microscope-software directory.
- Alternatively, run
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.