initial structure implemented

docs -> _docs
This commit is contained in:
Oleksandr Bezdieniezhnykh
2025-12-01 14:20:56 +02:00
parent 9134c5db06
commit abc26d5c20
360 changed files with 3881 additions and 101 deletions
+16
View File
@@ -0,0 +1,16 @@
from .system_config import SystemConfig
from .flight_config import FlightConfig
from .database_config import DatabaseConfig
from .model_config import ModelConfig
from .rotation_config import RotationConfig
from .recovery_config import RecoveryConfig
__all__ = [
"SystemConfig",
"FlightConfig",
"DatabaseConfig",
"ModelConfig",
"RotationConfig",
"RecoveryConfig",
]
+14
View File
@@ -0,0 +1,14 @@
from pydantic import BaseModel
class DatabaseConfig(BaseModel):
host: str = "localhost"
port: int = 5432
database: str = "gps_denied"
username: str = "postgres"
password: str = ""
pool_size: int = 50
max_overflow: int = 50
pool_timeout: int = 30
pool_recycle: int = 3600
+20
View File
@@ -0,0 +1,20 @@
from typing import Optional
from pydantic import BaseModel
from ..core.camera_parameters import CameraParameters
from ..core.gps_point import GPSPoint
class OperationalArea(BaseModel):
name: str = "Eastern Ukraine"
min_lat: float = 45.0
max_lat: float = 52.0
min_lon: float = 22.0
max_lon: float = 40.0
class FlightConfig(BaseModel):
camera_params: CameraParameters
altitude: float
operational_area: OperationalArea = OperationalArea()
frame_spacing: float = 100.0
+10
View File
@@ -0,0 +1,10 @@
from pydantic import BaseModel
class ModelConfig(BaseModel):
model_name: str
model_path: str
format: str = "tensorrt"
precision: str = "fp16"
warmup_iterations: int = 3
+14
View File
@@ -0,0 +1,14 @@
from pydantic import BaseModel
class RecoveryConfig(BaseModel):
search_grid_sizes: list[int] = [1, 4, 9, 16, 25]
min_chunk_frames_for_matching: int = 5
max_chunk_frames_for_matching: int = 20
user_input_threshold_tiles: int = 25
chunk_matching_interval_seconds: float = 5.0
confidence_threshold_good: float = 0.7
confidence_threshold_degraded: float = 0.5
min_inlier_count_good: int = 50
min_inlier_count_tracking: int = 20
+13
View File
@@ -0,0 +1,13 @@
from pydantic import BaseModel
class RotationConfig(BaseModel):
step_angle: float = 30.0
sharp_turn_threshold: float = 45.0
confidence_threshold: float = 0.7
history_size: int = 10
@property
def rotation_iterations(self) -> int:
return int(360 / self.step_angle)
+26
View File
@@ -0,0 +1,26 @@
from pydantic import BaseModel
from ..core.camera_parameters import CameraParameters
from .database_config import DatabaseConfig
from .flight_config import OperationalArea
class ModelPaths(BaseModel):
superpoint: str = "models/superpoint.engine"
lightglue: str = "models/lightglue.engine"
dinov2: str = "models/dinov2.engine"
litesam: str = "models/litesam.engine"
class APIConfig(BaseModel):
host: str = "0.0.0.0"
port: int = 8000
debug: bool = False
class SystemConfig(BaseModel):
camera: CameraParameters
operational_area: OperationalArea = OperationalArea()
models: ModelPaths = ModelPaths()
database: DatabaseConfig = DatabaseConfig()
api: APIConfig = APIConfig()