Arena Camera Configuration GUI
There was no easy way to edit nodemaps for Lucid cameras on Linux, so here's a terminal-based GUI for configuring Lucid camera node trees using Textual.
Installation
From PyPI
pip install arena-cam-config
From Source
git clone https://github.com/laurence-diack-pk/arena-cam-config.git
cd arena-cam-config
pip install -e .
Prerequisites
-
ArenaSDK: You MUST have Lucid Vision Labs ArenaSDK installed on your system
- Download from: https://thinklucid.com/downloads-hub/
- Follow the installation instructions for your platform
-
Python 3.8+: This package requires Python 3.8 or later
Usage
Command Line
After installation, you can run the application directly:
arena-cam-config
Controls
- Tab: Switch between different nodemaps (Device, TL Device, etc.)
- Enter: Edit the selected parameter or execute a command
- Arrow Keys: Navigate through the tree
- Mouse: You can use this too
- q: Quit the application
- r: Refresh the current tree
- d: Disconnect and return to connection screen
Parameter Types
The application handles various camera parameter types:
- Integers: Numeric values with min/max validation
- Floats: Decimal values with range checking
- Booleans: True/False values with radio button selection
- Enums: Predefined options with radio button selection
- Strings: Text input with validation
- Commands: Executable camera functions
Device Selection
When multiple cameras are connected, the application will display a device selection dialog showing:
- Camera family and model name
- IP address
Nodemaps
Switch between different camera nodemaps:
- Device: Main camera parameters (exposure, gain, etc.)
- TL Device: Transport layer device parameters
- TL Stream: Streaming parameters
- TL Interface: Interface-specific parameters
- TL System: System-level parameters
Development
Setting up Development Environment
git clone https://github.com/yourusername/arena-cam-config.git
cd arena-cam-config
pip install -e ".[dev]"
Requirements
- Python 3.8+
- textual >= 0.41.0
- arena-api >= 2.0.0
Contributing
I built this to accomplish my specific needs. If it doesn't do something you want it to, feel free to be the change you want to see in the world :)
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
TODO
- Some kind of OpenCV image capture / preview perhaps???
Acknowledgments
- Built with Textual for the terminal UI
- Designed for Lucid Vision Labs ArenaSDK
- ChatGPT did literally all of the CSS so dont @ me
Metadata
Release files for arena-cam-config 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| arena_cam_config-0.1.2.tar.gz | 12.7 kB | Without provenance | Details for arena_cam_config-0.1.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| arena_cam_config-0.1.2-py3-none-any.whl | Python 3 | none | any | Details for arena_cam_config-0.1.2-py3-none-any.whl |
Total release size: 23.5 kB
Release files / arena_cam_config-0.1.2.tar.gz
| Download URL | arena_cam_config-0.1.2.tar.gz |
|---|---|
| Size | 12.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5913144c7a5cdfcabe8b9d24fbd2f756d89fb95c55e3659de5dc1244190f6537
|
|
BLAKE2b-256 checksum How to use checksums |
a2910d071ec9413a668577abd8d4b8d1201db5ff4361b10194cce7c089797a9c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.8.10
|
Release files / arena_cam_config-0.1.2-py3-none-any.whl
| Download URL | arena_cam_config-0.1.2-py3-none-any.whl |
|---|---|
| Size | 10.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8c3dcf1e25079a0ec76efbb369d8be54b3968d1c15950eb3d4dd6f0b61ebccae
|
|
BLAKE2b-256 checksum How to use checksums |
41e7a5f2766f700be06e8d487ece0fb2d585d6af236dcf74aa842e00fb1b0f85
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.8.10
|
Security for arena-cam-config 0.1.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.