mirror of
https://github.com/azaion/gps-denied-desktop.git
synced 2026-04-22 23:16:37 +00:00
initial structure implemented
docs -> _docs
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
from abc import ABC, abstractmethod
|
||||
from typing import Optional
|
||||
import numpy as np
|
||||
|
||||
from models.processing import RotationResult
|
||||
from models.flight import HeadingRecord
|
||||
|
||||
|
||||
class ImageRotationManagerBase(ABC):
|
||||
@abstractmethod
|
||||
async def estimate_rotation(
|
||||
self, uav_image: np.ndarray, satellite_image: np.ndarray
|
||||
) -> RotationResult:
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
async def get_rotation_for_frame(
|
||||
self, flight_id: str, frame_id: int
|
||||
) -> Optional[float]:
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
async def update_heading_history(
|
||||
self, flight_id: str, record: HeadingRecord
|
||||
) -> None:
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
async def predict_heading(self, flight_id: str) -> Optional[float]:
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
async def is_sharp_turn(
|
||||
self, flight_id: str, current_heading: float
|
||||
) -> bool:
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
def rotate_image(self, image: np.ndarray, angle: float) -> np.ndarray:
|
||||
pass
|
||||
|
||||
Reference in New Issue
Block a user