Source code for app.workers.tasks.triangulate

"""Re-triangulation against an existing database."""

from __future__ import annotations

from pathlib import Path

from app.adapters.backend import require_backend_method
from app.adapters.registry import get_backend
from app.db.models import Task
from app.workers._task_io import read_inputs
from app.workers.tasks._registry import task_handler


[docs] @task_handler("triangulate") def run(task: Task) -> dict: inputs = read_inputs(task) triangulate = require_backend_method( get_backend(), "triangulate", capability="triangulate.retri", ) return triangulate( model_path=Path(inputs["model_path"]), database_path=Path(inputs["database_path"]), image_root=Path(inputs["image_root"]), output_path=Path(inputs["output_path"]), )