@* Map View - structure similar to MapLocalization *@
@* Map image with Y-flip (like map-canvas in MapLocalization) *@
@* SVG overlay for origin marker (like map-editor in MapLocalization) *@
@* Edit Origin Dialog *@
Edit Map Origin
Set the new origin position from the selected goal pose on the map.
CancelConfirm
@* Rerender Map Dialog *@
Rerender Map with Custom Config
Configure occupancy grid settings and rerender map image files (PNG, JPG, PGM).
@* Merge Strategy *@
Merge StrategyLog-Odds Sum (Bayesian)Max Probability (Conservative)Porter-Duff (Cairo-style)Submap merge strategy:
• Log-Odds Sum: Sum Bayesian log-odds — clearer walls, less noise
• Max Probability: Take max probability — safer for navigation, thicker walls
• Porter-Duff: Cairo-style blending — matches the original C++ behavior; may blur in overlap areas
Log-odds clamp:
• Low (1-5): smoother image, lower contrast
• High (10-20): sharper walls, higher contrast
• Default: 10 — balance between clarity and noise
Use log-odds average:
• On: Divide log-odds by observation count — more uniform in overlap areas
• Off: Sum directly — areas scanned more often become darker/lighter
@* Threshold Configuration *@
Threshold ConfigurationFree-space threshold:
Pixels with texture value >= this threshold are marked as FREE (white).
• Low (50-80): more areas become free
• High (150-200): only very certain areas become free
• Default: 100
Occupied-space threshold:
Pixels with alpha value > this threshold are marked as OCCUPIED (black).
• Low (1-10): thicker walls, more sensitive to obstacles
• High (50-100): only strong walls are drawn
• Default: 1 (most sensitive)
@* Output Mode *@
Output ModeBinary output mode:
• On: Only 3 values: 0 (white/free), 100 (black/wall), -1 (gray/unknown). Suitable for MCL/Navigation.
• Off: Gradient 0-100 values. Shows detailed occupancy probability.
@* Wall Thinning *@
Wall Thinning (Post-processing)Wall thinning:
Applies morphological erosion to reduce wall thickness.
• On: Thinner walls; the robot can pass narrow corridors more easily
• Off: Keep original wall thickness
Thinning iterations:
Each iteration erodes ~1 pixel from the wall boundary.
• 1 iteration: slightly thinner (~1 pixel)
• 3-5 iterations: significantly thinner; walls may break/disconnect
Minimum wall thickness:
Do not erode if the wall is thinner than this value.
• 1 pixel: allows very thin walls (may break)
• 2-3 pixels: safer, preserves wall structure
• With 0.05 m resolution: 2 pixels ≈ 10 cm real wall thickness
@* Ambiguous Cell Handling *@
Ambiguous Cell HandlingUnknown (-1)Free (0)Occupied (100)Ambiguous cell value:
Cells with probability in the ambiguous range are assigned this value.
• Unknown (-1): Gray; ignored by MCL — safest
• Free (0): White; robot may pass — riskier
• Occupied (100): Black; robot avoids — conservative
Ambiguous range lower:
Probabilities below this value are considered FREE.
• 0.35 (default): 0–35% is free
• Lower to 0.2: stricter, fewer free areas
• Raise to 0.45: more areas become free
Ambiguous range upper:
Probabilities above this value are considered OCCUPIED.
• 0.65 (default): 65–100% is wall
• Lower to 0.55: more walls (safer)
• Raise to 0.8: only very certain areas become walls
@* Advanced Options *@
Advanced OptionsMedian filter:
Reduces salt-and-pepper noise.
• On: Smoother image, removes isolated noisy pixels
• Off: Keeps original details, may contain noise
Filter kernel size:
Neighborhood used to compute the median.
• 3x3: light filtering, preserves details
• 5x5: medium filtering
• 7x7: strong filtering, may blur wall edges
CancelRerender