Visualize raw temporal brightness change (threshold=0, log domain)
as green(+)/red(-) gradient overlay proportional to |change|.
Supports video output and live display modes.
Enables EventProcessor threshold=0 for raw mode without clipping.
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
- Replace body_attitude() with body_up_vector(): rotate world-up [0,0,1]
by corrected world→body quaternion to get body up vector (pitch/roll only,
no yaw). Matches DiffPhysDrone's env.R[:, 2] approach.
- Update ComputeTilt transform to use body_up_vector_np
- Update visualize_dataset.py to display Euler angles and body up vector
- Update model.py comments and disable CNN (zero output)
- Sync AGENTS.md with new architecture description
Generated by Mistral Vibe (ds-v4-flash).
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
- Add body_attitude() that applies R_odom_to_body calibration then
converts directly to rotation vector (preserves yaw, unlike old
decompose_tilt which stripped it)
- Add quat_to_euler() for visualization display
- Update ComputeTilt transform to use body_attitude_np (also fixes
a bug where the old code omitted the static calibration)
- Update visualize_dataset.py to show Euler angles from body quaternion
instead of yaw-stripped tilt rotation vector
This aligns with the DiffPhysDrone approach: let the model decide
whether to use yaw information, rather than removing it upfront.
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>