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"]),
)