feat(zed): export depth at neural optimal resolution
Restrict ZED depth export to neural modes and default offline MCAP conversion to the SDK-selected optimal depth size instead of camera resolution. Add a configurable --depth-size option, propagate the actual returned depth dimensions into DepthMap metadata, and emit a dedicated depth calibration topic when depth resolution differs from video. Update the batch and recording helper scripts to use the new neural-only depth mode surface and pass through depth sizing. Verification: - cmake --build build --target zed_svo_to_mcap mcap_multi_record_tester mcap_pose_record_tester -j4 - build/bin/mcap_multi_record_tester - build/bin/mcap_pose_record_tester - build/bin/zed_svo_to_mcap --input /workspaces/data/kindergarten/jump/experiment/2/2026-03-18T11-27-15/2026-03-18T11-27-15_zed4.svo2 --output /tmp/zed4_neural_optimal_test.mcap --codec h264 --encoder-device software --mcap-compression zstd --depth-mode neural --depth-size optimal --start-frame 0 --end-frame 9
This commit is contained in:
@@ -86,6 +86,7 @@ struct McapRecordConfig {
|
||||
std::string topic{"/camera/video"};
|
||||
std::string depth_topic{"/camera/depth"};
|
||||
std::string calibration_topic{"/camera/calibration"};
|
||||
std::string depth_calibration_topic{"/camera/depth_calibration"};
|
||||
std::string pose_topic{"/camera/pose"};
|
||||
std::string body_topic{"/camera/body"};
|
||||
std::string frame_id{"camera"};
|
||||
|
||||
@@ -61,6 +61,7 @@ struct McapRecordStreamConfig {
|
||||
std::string topic{"/camera/video"};
|
||||
std::string depth_topic{"/camera/depth"};
|
||||
std::string calibration_topic{"/camera/calibration"};
|
||||
std::string depth_calibration_topic{"/camera/depth_calibration"};
|
||||
std::string pose_topic{"/camera/pose"};
|
||||
std::string body_topic{"/camera/body"};
|
||||
std::string frame_id{"camera"};
|
||||
@@ -97,6 +98,9 @@ public:
|
||||
[[nodiscard]]
|
||||
std::expected<void, std::string> write_camera_calibration(const RawCameraCalibrationView &calibration);
|
||||
|
||||
[[nodiscard]]
|
||||
std::expected<void, std::string> write_depth_camera_calibration(const RawCameraCalibrationView &calibration);
|
||||
|
||||
[[nodiscard]]
|
||||
std::expected<void, std::string> write_pose(const RawPoseView &pose);
|
||||
|
||||
@@ -165,6 +169,11 @@ public:
|
||||
StreamId stream_id,
|
||||
const RawCameraCalibrationView &calibration);
|
||||
|
||||
[[nodiscard]]
|
||||
std::expected<void, std::string> write_depth_camera_calibration(
|
||||
StreamId stream_id,
|
||||
const RawCameraCalibrationView &calibration);
|
||||
|
||||
[[nodiscard]]
|
||||
std::expected<void, std::string> write_pose(
|
||||
StreamId stream_id,
|
||||
|
||||
Reference in New Issue
Block a user