Documentation Index
Fetch the complete documentation index at: https://mintlify.com/dfki-ric/uxo-dataset2024/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Theview_recording.py script provides an interactive GUI application for viewing and exploring individual recordings from the UXO Dataset. Built with PyQt5, it displays synchronized ARIS sonar imagery, GoPro camera footage, gantry positioning data, and frame metadata.
Command-Line Usage
Arguments
Path to the recording directory containing the ARIS frames, GoPro frames, gantry data, and metadata files.
Options
Use polar-transformed ARIS images instead of raw images. When enabled, reads from
aris_polar/ directory; otherwise uses aris_raw/.Apply colormap to ARIS images. Uses OpenCV’s
COLORMAP_TWILIGHT_SHIFTED to enhance visualization.Enable LRU caching for frame loading. Improves performance when repeatedly viewing the same frames at the cost of memory usage.
Examples
DatasetViewer Class
The main class that implements the interactive viewer application.Constructor
Path to the recording directory
Whether to load polar-transformed ARIS images
Whether to apply colormap to ARIS images
Whether to enable frame caching
Key Methods
get_data()
Retrieves all data for a specific frame position.aris_frame_idx(int): The ARIS frame indexaris(QPixmap): ARIS sonar imagegopro(QPixmap): GoPro camera framegantry(pd.Series): Gantry position data (x, y, z)frame_meta(pd.Series): ARIS frame metadata
Data Files Required
The viewer expects the following files in the recording directory:| File/Directory | Description |
|---|---|
aris_polar/ or aris_raw/ | Directory containing ARIS frame images |
gopro/ | Directory containing GoPro frame images |
gantry.csv | Gantry positioning data indexed by aris_frame_idx |
aris_frame_meta.csv | Per-frame ARIS metadata indexed by frame_index |
aris_file_meta.yaml | ARIS file-level metadata |
notes.txt | Recording notes (optional) |
Keyboard Controls
The viewer supports keyboard navigation for efficient frame browsing:The slider can also be used for direct frame navigation by clicking or dragging.
GUI Layout
The viewer window is divided into several sections:Left Panel
- ARIS Display: Shows the sonar imagery with optional colorization
Right Panel
- GoPro Display: Synchronized optical camera footage
- Position Info: Current frame index and total frame count
- Gantry Info: Real-time gantry position (x, y, z coordinates)
- Notes: Recording notes and target information
- File Metadata: ARIS file-level metadata
- Frame Metadata: Per-frame ARIS header information
Bottom
- Slider: Frame navigation control
Image Processing
The viewer applies several transformations to the ARIS imagery:-
Polar Transformation: When using raw images (
--no-polar), the viewer flips the image to correct beam ordering (right-to-left to left-to-right) -
Colorization: When enabled (default), applies OpenCV’s
COLORMAP_TWILIGHT_SHIFTEDcolormap to enhance visualization - Aspect Ratio: Images are automatically scaled to fit the window while maintaining aspect ratio
Performance Considerations
Dependencies
The script requires the following Python packages:PyQt5- GUI frameworkopencv-python(cv2) - Image processingpandas- Data handlingPyYAML- Configuration loading
common.matching_contextcommon.aris_definitionscommon.q_custom_widgets