step2: persist ENU origin + GNSS/TUM tracks in session file - #514
Open
michalpelka wants to merge 1 commit into
Open
step2: persist ENU origin + GNSS/TUM tracks in session file#514michalpelka wants to merge 1 commit into
michalpelka wants to merge 1 commit into
Conversation
michalpelka
force-pushed
the
mp/save_gnss_to_session
branch
from
September 1, 2026 14:15
4533849 to
6a7bdf1
Compare
Session::save()/load() only handle point clouds, so the GNSS track, TUM track and ENU projection origin (previously always re-derived from the first GNSS pose) are now written into / read back from the *.mjs JSON as extra "enu_origin", "gnss_measurements" and "tum_trajectory" keys. All keys are optional; older sessions load unchanged. Also fix Session::load() path resolution: getNewPath() now keeps a referenced .laz/.csv path as-is when it still exists on disk, only relocating next to the session file as a fallback. This lets a session saved to a directory other than the one holding its scan files (e.g. one level up from a lio_result_* folder) reload its point clouds. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> New PoseGraphLoopClosure::use_gnss_correspondences flag (default true). When off, graph_slam() adds no GNSS <-> LiDAR-trajectory observations to the optimisation; the GNSS track is still drawn. Exposed as a checkbox in the Manual Pose Graph Loop Closure GUI when GNSS poses are loaded. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
michalpelka
force-pushed
the
mp/save_gnss_to_session
branch
from
September 1, 2026 15:04
6a7bdf1 to
1624a57
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Session::save()/load() only handle point clouds, so the GNSS track, TUM track and ENU projection origin (previously always re-derived from the first GNSS pose) are now written into / read back from the *.mjs JSON as extra "enu_origin", "gnss_measurements" and "tum_trajectory" keys. All keys are optional; older sessions load unchanged.
Also fix Session::load() path resolution: getNewPath() now keeps a referenced .laz/.csv path as-is when it still exists on disk, only relocating next to the session file as a fallback. This lets a session saved to a directory other than the one holding its scan files (e.g. one level up from a lio_result_* folder) reload its point clouds.
New PoseGraphLoopClosure::use_gnss_correspondences flag (default true). When off, graph_slam() adds no GNSS <-> LiDAR-trajectory observations to the optimisation; the GNSS track is still drawn. Exposed as a checkbox in the Manual Pose Graph Loop Closure GUI when GNSS poses are loaded.