File size: 1,816 Bytes
7a87926 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
#!/usr/bin/env python3
"""
Simple test of GUI without full validation.
"""
import sys
import time
from pathlib import Path
import numpy as np
project_root = Path(__file__).parent.parent
sys.path.insert(0, str(project_root))
from ylff.utils.visualization_gui import create_gui # noqa: E402
def test_gui():
"""Test GUI with dummy data."""
gui = create_gui()
# Simulate progressive updates
def update_thread():
time.sleep(1)
gui.add_status_message("Starting test...")
# Simulate ARKit poses
for i in range(5):
time.sleep(0.5)
# Create dummy pose (4x4 c2w)
pose = np.eye(4)
pose[:3, 3] = [i * 0.1, 0, 0] # Move along X axis
gui.add_frame_data(frame_idx=i, arkit_pose=pose)
gui.add_progress_update(i + 1, 5)
gui.add_status_message(f"Processing frame {i + 1}/5...")
# Simulate DA3 poses (slightly different)
for i in range(5):
time.sleep(0.3)
pose = np.eye(4)
pose[:3, 3] = [i * 0.1 + 0.05, 0.02, 0.01] # Slightly offset
gui.add_frame_data(frame_idx=i, da3_pose=pose)
gui.add_status_message(f"DA3 inference: frame {i + 1}/5...")
# Simulate errors
for i in range(5):
time.sleep(0.2)
errors = {
"da3_vs_arkit_rot": 2.5 + i * 0.1,
"da3_vs_arkit_trans": 0.01 + i * 0.001,
}
gui.add_frame_data(frame_idx=i, errors=errors)
gui.add_status_message("Test complete!")
gui.update_status("Complete", is_processing=False)
import threading
thread = threading.Thread(target=update_thread, daemon=True)
thread.start()
# Run GUI
gui.run()
if __name__ == "__main__":
test_gui()
|