An open source python3 software designed to control hardware evaluation benches to conduct automatized evaluations.
Laser Studio permits to have a visual representation of a spatial environment, define zones of interests, and launch an automated scanning process to physically and randomly go through these zones, by controlling motion devices.
Laser Studio requires Python 3.10, 3.11, or 3.12 (requires-python is >=3.10,<3.13).
Install from PyPI:
pip install laserstudioFrom a clone of the repository (current directory is the project root):
git clone https://github.com/Ledger-Donjon/laserstudio.git
cd laserstudio
pip install .For local development, an editable install is convenient:
pip install -e .With Poetry:
poetry installThese packages are installed automatically with laserstudio (see pyproject.toml for exact version constraints):
| Package | Role |
|---|---|
| PyQt6, PyQt6-Charts | GUI |
| pystages | Motion stages |
| Pillow, opencv-python | Imaging |
| PyYAML | Configuration |
| shapely, triangle | Geometry |
| requests | HTTP |
| numpy, scipy | Numerics |
| pypdm | PDM protocol |
| flask, flask-restx | REST API |
| hidapi | USB HID |
| colorama | Terminal colors |
| hyshlr, pylmscontroller | Ledger hardware integration |
Extras are defined in pyproject.toml under [project.optional-dependencies]:
| Extra | Purpose | Install |
|---|---|---|
test |
Unit tests (pytest, pytest-cov) | pip install laserstudio[test] |
lint |
Static typing (mypy and stubs) | pip install laserstudio[lint] |
docs |
Building documentation (Sphinx, RTD theme, MyST) | pip install laserstudio[docs] |
From a clone, combine extras, for example:
pip install -e ".[test,lint,docs]"Support for New Imaging Technologies cameras uses pynit, which is not declared as a PyPI dependency (licensing / packaging constraints). Install it only if you need that hardware:
pip install git+https://github.com/Ledger-Donjon/pynit.git(Your team may use SSH, a private package index, or an internal build instead.)
To run Laser Studio, open a terminal and run Laser Studio with the following command:
laserstudioAdvanced documentation of Laser Studio is available on Read The Docs.
LaserStudio is released under GNU Lesser General Public License version 3 (LGPLv3). See LICENSE and LICENSE.LESSER for license detail
