Camera Configuration GUI using Textual for ArenaSDK cameras
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file arena_cam_config-0.1.1.tar.gz.
File metadata
- Download URL: arena_cam_config-0.1.1.tar.gz
- Upload date:
- Size: 12.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
53581c93c516b504447ec3c92010a2ba788cac75ef9e2dc10e394831be0b40ac
|
|
| MD5 |
81a12dabc2a82f2982e58224aea0239e
|
|
| BLAKE2b-256 |
0436fa229c537dc9fa7b6c50dc52fcfc4b52820f04fbae7518dc31f6b5126a73
|
File details
Details for the file arena_cam_config-0.1.1-py3-none-any.whl.
File metadata
- Download URL: arena_cam_config-0.1.1-py3-none-any.whl
- Upload date:
- Size: 10.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
abbac8df7b1dc4ee422bebef95794c33484460b001b0d8c2b34c18980f245c65
|
|
| MD5 |
df71e60c05f70cd9943efdf50f7b9f7c
|
|
| BLAKE2b-256 |
ae70946635bd023cde35b48f050388e05c45095dd938995c1e18226d4ace8ee6
|