73b1fa7fa449a854969530b005512162141ce215
The `_perf/` measurement bench was gitignored and had never been committed, so 23 of the 27 scripts cited by the perf documents were already lost. The 11 surviving files (4 scripts, cfg_dm1.json, 5 result JSONs, the 53 MB MJPG clip) have been moved to D:\orisys_ws\docs\performance\perf-measurements\ and the scripts patched to resolve their defaults next to themselves. The directory has been removed from this repo. These three files said the scripts were deleted, which was only half true: they are moved, and the four surviving ones still run. Repointed: - src/orisys/sensor.py: the FILTER_PRESETS comment now names the real location (comment only; FILTER_PRESETS itself is unchanged). - docs/filters.md and examples/filters/README.md: the same correction for the latency/noise measurement provenance. No behaviour change.
Orisys SDK
Orisys SDK is a Python toolkit for optical tactile sensing. It provides image capture, stitching, dense optical flow, Helmholtz-Hodge decomposition, contact/depth estimation, and several runnable examples for camera and video-based workflows.
PyPI: https://pypi.org/project/orisys/
Repository Layout
src/orisys/: installable SDK packageconfig/: default and lab/runtime JSON configurationsexamples/: runnable demos (basic_pipeline.py,mini_pipeline.py,finger_pipeline*.py) plus sharedgui/,pipeline/,viz/scripts/: maintenance, calibration, packaging, and demo scriptstools/: non-package tooling such as patch-generation utilitiestests/: automated pytest suitedocs/: usage and API documentation
Quick Start
1. Create an environment
conda create -n orisys python=3.10
conda activate orisys
2. Install the SDK in editable mode
pip install -e .
Optional GPU extras:
pip install -e .[cuda12]
or
pip install -e .[cuda13]
3. Run tests
pytest
4. Run an example
ORY-BOX:
python examples/basic_pipeline.py -v 0 -c box
ORY-MINI:
python examples/mini_pipeline.py -v 0 -c mini
ORY-FINGER:
python examples/finger_pipeline.py --camera_id 0 --config finger
Run commands from the repository root.
Configuration
The canonical configuration files now live in the repo-level config/ folder.
The package loader orisys.configs resolves configs from:
- an explicit JSON file path
- a config file stem under
config/(for examplebox,mini,finger) - a product alias such as
dd02->dd02-ov - a backward-compatible JSON
"name"match, such as"prototype"
Examples:
import orisys
sensor = orisys.Sensor(0, config_name="box")
cfg = orisys.export_config("box", "./config/exported_config.json")
Examples and Tools
- Example entry points:
examples/README.md - User documentation:
docs/get_started.md - Build launcher:
python build/run.py(seebuild/README.md) - Manylinux / PyPI binary wheel:
docs/publishing.md - Specialized utilities:
tools/
Publishing (Linux manylinux)
To build PyPI-compliant CPython 3.10/3.11/3.12 Linux wheels from Windows Docker Desktop:
python build/run.py manylinux
Upload candidates land in dist/repaired/. Full TestPyPI → PyPI steps:
docs/publishing.md.
Notes for Collaborators
- Generated build outputs such as
build/,dist/, andSDK/are intentionally ignored. - Large or generated tooling outputs should stay under ignored output folders rather than be committed.
- If you add new images or arrays that should be versioned, review
.gitignorefirst. - Never commit PyPI / TestPyPI API tokens.
Description
Languages
Python
99.3%
PowerShell
0.3%
Shell
0.2%
Batchfile
0.2%