|
ReUseX
0.0.5
3D Point Cloud Processing for Building Reuse
|
Parameters for content-based panorama alignment. More...
#include <PanoramaAlignment.hpp>

Public Attributes | |
| int | candidate_window = 25 |
| Try the timestamp-seed frame plus this many frames on each side of it (in sensor-frame-id order). | |
| int | max_candidates = 20 |
| Cap the number of candidate frames actually matched (nearest-to-seed first), bounding the O(slices x frames) matcher cost. | |
| int | n_yaw = 8 |
| perspective slices around the equator | |
| double | fov_deg = 90.0 |
| per-slice horizontal FOV (overlap for matching) | |
| int | slice = 1008 |
| slice size (px, square) | |
| int | max_features = 3000 |
| ORB features per image. | |
| float | ratio_test = 0.85f |
| Lowe ratio threshold. | |
| float | min_depth = 0.3f |
| ignore frame keypoints outside [min,max] depth | |
| float | max_depth = 6.0f |
| int | min_slice_correspondences = 6 |
| need this many to PnP a slice | |
| int | min_inliers = 25 |
| accept alignment above this (total) | |
| float | ransac_reproj_px = 5.0f |
| solvePnPRansac reprojection threshold | |
| int | ransac_iterations = 500 |
| int | refine_iterations = 10 |
| bearing-space Gauss-Newton refinement steps | |
| double | max_correction_m = 5.0 |
| Plausibility gate: reject an alignment whose refined centre is further than this from the timestamp-seed frame. | |
| unsigned | seed = 42 |
| std::string | debug_dir |
| If non-empty, write an ORB-correspondence figure (panorama slice <-> the best-matching sensor frame, inlier matches drawn) for each aligned panorama to <debug_dir>/<debug_name>_matches.jpg. | |
| std::string | debug_name |
Parameters for content-based panorama alignment.
Definition at line 43 of file PanoramaAlignment.hpp.
| int reusex::geometry::PanoramaAlignmentOptions::candidate_window = 25 |
Try the timestamp-seed frame plus this many frames on each side of it (in sensor-frame-id order).
A wider window co-observes the panorama from more directions, which conditions the translation in bearing resection.
Definition at line 48 of file PanoramaAlignment.hpp.
| std::string reusex::geometry::PanoramaAlignmentOptions::debug_dir |
If non-empty, write an ORB-correspondence figure (panorama slice <-> the best-matching sensor frame, inlier matches drawn) for each aligned panorama to <debug_dir>/<debug_name>_matches.jpg.
Definition at line 84 of file PanoramaAlignment.hpp.
| std::string reusex::geometry::PanoramaAlignmentOptions::debug_name |
Definition at line 85 of file PanoramaAlignment.hpp.
| double reusex::geometry::PanoramaAlignmentOptions::fov_deg = 90.0 |
per-slice horizontal FOV (overlap for matching)
Definition at line 55 of file PanoramaAlignment.hpp.
| int reusex::geometry::PanoramaAlignmentOptions::max_candidates = 20 |
Cap the number of candidate frames actually matched (nearest-to-seed first), bounding the O(slices x frames) matcher cost.
Definition at line 51 of file PanoramaAlignment.hpp.
| double reusex::geometry::PanoramaAlignmentOptions::max_correction_m = 5.0 |
Plausibility gate: reject an alignment whose refined centre is further than this from the timestamp-seed frame.
Bearing-only resection is weakly constrained in translation when the matched frames span a narrow cone, and can slide the centre far away with a still-small angular residual. The timestamp seed is a good spatial prior (the panorama was captured in the same session, metres from the nearest frame), so a large disagreement is an ill-conditioned solve, not a real correction. Set <= 0 to disable.
Definition at line 78 of file PanoramaAlignment.hpp.
| float reusex::geometry::PanoramaAlignmentOptions::max_depth = 6.0f |
Definition at line 62 of file PanoramaAlignment.hpp.
| int reusex::geometry::PanoramaAlignmentOptions::max_features = 3000 |
ORB features per image.
Definition at line 59 of file PanoramaAlignment.hpp.
| float reusex::geometry::PanoramaAlignmentOptions::min_depth = 0.3f |
ignore frame keypoints outside [min,max] depth
Definition at line 61 of file PanoramaAlignment.hpp.
| int reusex::geometry::PanoramaAlignmentOptions::min_inliers = 25 |
accept alignment above this (total)
Definition at line 66 of file PanoramaAlignment.hpp.
| int reusex::geometry::PanoramaAlignmentOptions::min_slice_correspondences = 6 |
need this many to PnP a slice
Definition at line 65 of file PanoramaAlignment.hpp.
| int reusex::geometry::PanoramaAlignmentOptions::n_yaw = 8 |
perspective slices around the equator
Definition at line 54 of file PanoramaAlignment.hpp.
| int reusex::geometry::PanoramaAlignmentOptions::ransac_iterations = 500 |
Definition at line 68 of file PanoramaAlignment.hpp.
| float reusex::geometry::PanoramaAlignmentOptions::ransac_reproj_px = 5.0f |
solvePnPRansac reprojection threshold
Definition at line 67 of file PanoramaAlignment.hpp.
| float reusex::geometry::PanoramaAlignmentOptions::ratio_test = 0.85f |
Lowe ratio threshold.
Definition at line 60 of file PanoramaAlignment.hpp.
| int reusex::geometry::PanoramaAlignmentOptions::refine_iterations = 10 |
bearing-space Gauss-Newton refinement steps
Definition at line 69 of file PanoramaAlignment.hpp.
| unsigned reusex::geometry::PanoramaAlignmentOptions::seed = 42 |
Definition at line 79 of file PanoramaAlignment.hpp.
| int reusex::geometry::PanoramaAlignmentOptions::slice = 1008 |
slice size (px, square)
Definition at line 56 of file PanoramaAlignment.hpp.