feat: add aruco-svo-calibration plan and utils scripts
- Add comprehensive work plan for ArUco-based multi-camera calibration - Add recording_multi.py for multi-camera SVO recording - Add streaming_receiver.py for network streaming - Add svo_playback.py for synchronized playback - Add zed_network_utils.py for camera configuration - Add AGENTS.md with project context
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
# Python Agent Context
|
||||
|
||||
## Environment
|
||||
- **Directory**: `/workspaces/zed-playground/py_workspace`
|
||||
- **Package Manager**: `uv`
|
||||
- **Python Version**: 3.12+ (Managed by `uv`)
|
||||
- **Dependencies**: Defined in `pyproject.toml`
|
||||
- `pyzed`: ZED SDK Python wrapper
|
||||
- `opencv-python`: GUI and image processing
|
||||
- `click`: CLI argument parsing
|
||||
- `numpy`, `cupy-cuda12x`: Data manipulation
|
||||
|
||||
## Workflow & Commands
|
||||
- **Run Scripts**: Always use `uv run` to ensure correct environment.
|
||||
```bash
|
||||
uv run streaming_receiver.py --help
|
||||
uv run recording_multi.py
|
||||
```
|
||||
- **New Dependencies**: Add with `uv add <package>` (e.g., `uv add requests`).
|
||||
|
||||
## Architecture & Patterns
|
||||
- **Network Camera Handling**:
|
||||
- Use `zed_network_utils.py` for all network config parsing.
|
||||
- Config file: `/workspaces/zed-playground/zed_settings/inside_network.json`
|
||||
- **Threading Model**:
|
||||
- **Main Thread**: MUST handle all OpenCV GUI (`cv2.imshow`, `cv2.waitKey`).
|
||||
- **Worker Threads**: Handle `camera.grab()` and data retrieval.
|
||||
- **Communication**: Use `queue.Queue` to pass frames from workers to main.
|
||||
- **ZED API Patterns**:
|
||||
- Streaming Input: `init_params.set_from_stream(ip, port)`
|
||||
- Serial Number: Use `camera.get_camera_information().serial_number`.
|
||||
|
||||
## Documentation & References
|
||||
- **Python API Docs**: `/usr/local/zed/doc/API/html/python/index.html`
|
||||
- **ZED SDK General Docs**: `/usr/local/zed/doc/`
|
||||
- **C++ Headers (Reference)**: `/usr/local/zed/include/sl/`
|
||||
- Useful for understanding underlying enum values or behaviors not fully detailed in Python docstrings.
|
||||
Reference in New Issue
Block a user