Files
gps-denied-desktop/components/image_rotation_manager/image_rotation_manager.py
T
Oleksandr Bezdieniezhnykh abc26d5c20 initial structure implemented
docs -> _docs
2025-12-01 14:20:56 +02:00

36 lines
1022 B
Python

from typing import Optional
import numpy as np
from .base import ImageRotationManagerBase
from models.processing import RotationResult
from models.flight import HeadingRecord
class ImageRotationManager(ImageRotationManagerBase):
async def estimate_rotation(
self, uav_image: np.ndarray, satellite_image: np.ndarray
) -> RotationResult:
raise NotImplementedError
async def get_rotation_for_frame(
self, flight_id: str, frame_id: int
) -> Optional[float]:
raise NotImplementedError
async def update_heading_history(
self, flight_id: str, record: HeadingRecord
) -> None:
raise NotImplementedError
async def predict_heading(self, flight_id: str) -> Optional[float]:
raise NotImplementedError
async def is_sharp_turn(
self, flight_id: str, current_heading: float
) -> bool:
raise NotImplementedError
def rotate_image(self, image: np.ndarray, angle: float) -> np.ndarray:
raise NotImplementedError