yakvrz's picture
Add generated VISLOC examples for Space
9c5a0eb
from __future__ import annotations
from dataclasses import dataclass
from pathlib import Path
VISLOC_DIR = Path("data/Image/VISLOC")
IMAGE_ROOT = Path("data/Image")
EXAMPLES_ROOT = Path("examples")
IMAGE_EXTS = (".jpg", ".jpeg", ".png", ".JPG", ".JPEG", ".PNG")
DEFAULT_ALTITUDE_M = 450.0
ASSUMED_FOV_DEG = 90.0
DEFAULT_MODEL_ID = "depth-anything/DA3MONO-LARGE"
SEGMENTATION_MODEL_ID = "facebook/sam3"
SEGMENTATION_MAX_SIDE = 512
SEGMENTATION_SCORE_THRESH = 0.25
SEGMENTATION_MASK_THRESH = 0.25
WATER_PROMPT = "water"
ROAD_PROMPT = "motorway"
TREE_PROMPT = "trees"
ROOF_PROMPT = "rooftop"
@dataclass(frozen=True)
class AnalyzerSettings:
"""Bundle knobs shared between the UI and the processing pipeline."""
footprint_m: float = 10.0
std_thresh: float = 0.005
grad_thresh: float = 0.1
clearance_factor: float = 1.5
process_res_cap: int = 1024
depth_smoothing_base: float = 0.0
segmentation_max_side: int = SEGMENTATION_MAX_SIDE
segmentation_model_id: str = SEGMENTATION_MODEL_ID
segmentation_score_thresh: float = SEGMENTATION_SCORE_THRESH
segmentation_mask_thresh: float = SEGMENTATION_MASK_THRESH
water_prompt: str = WATER_PROMPT
road_prompt: str = ROAD_PROMPT
tree_prompt: str = TREE_PROMPT
roof_prompt: str = ROOF_PROMPT
coverage_strictness: float = 0.95
openness_weight: float = 0.5
texture_threshold: float = 0.5
altitude_m: float = DEFAULT_ALTITUDE_M
fov_deg: float = ASSUMED_FOV_DEG
model_id: str = DEFAULT_MODEL_ID
DEFAULT_ANALYZER_SETTINGS = AnalyzerSettings()
__all__ = [
"VISLOC_DIR",
"IMAGE_ROOT",
"EXAMPLES_ROOT",
"IMAGE_EXTS",
"DEFAULT_ALTITUDE_M",
"ASSUMED_FOV_DEG",
"DEFAULT_MODEL_ID",
"SEGMENTATION_MODEL_ID",
"SEGMENTATION_MAX_SIDE",
"SEGMENTATION_SCORE_THRESH",
"SEGMENTATION_MASK_THRESH",
"WATER_PROMPT",
"ROAD_PROMPT",
"TREE_PROMPT",
"ROOF_PROMPT",
"DEFAULT_ANALYZER_SETTINGS",
"AnalyzerSettings",
]