feat: Add support for ADAS project in labeling and export processes
- Implemented class name loading for ADAS campaigns in `_class_names_for_campaign`. - Enhanced annotation parsing to support cuboid and 2D rectangle labels in `_parse_ls_annotations`. - Updated catalog building to include ADAS packs and batches in `build_catalog_signature`. - Added ADAS cuboid promotion logic in `adas_cuboid.py`, supporting both quaternion_json and YOLO HBB formats. - Introduced validation for ADAS batches to check for YOLO HBB labels in `adas_cuboid.py`. - Modified delivery scanning to include ADAS project deliveries in `scan.py`. - Extended job execution to handle ADAS exports for YOLO format in `runner.py`. - Updated labeling export logic to accommodate ADAS project in `export_cuboid_batch.py`. - Enhanced format conversion to support rectangle labels in `format_converter.py`. - Improved CVAT task handling in `service.py` to ensure task ID updates on each labeling job. - Updated web API endpoints to reflect ADAS project changes in `hsap-api.ts`. - Added ADAS catalog types and UI components for displaying ADAS packs and batches in `dmsCatalog.ts`, `CatalogPage.tsx`, and `ExportPage.tsx`. - Adjusted workflow registry to align with new ADAS project structure.
This commit is contained in:
@@ -34,7 +34,13 @@ def _scan_project_inbox(project: str, wf: dict | None = None) -> list[dict[str,
|
||||
|
||||
with session_scope() as db:
|
||||
deliveries = {
|
||||
(r.project, r.task or "", r.mode or "", r.batch_name): r
|
||||
(r.project, r.task or "", r.mode or "", r.batch_name): {
|
||||
"id": r.id,
|
||||
"status": r.status,
|
||||
"collection_start": r.collection_start,
|
||||
"collection_end": r.collection_end,
|
||||
"created_at": r.created_at,
|
||||
}
|
||||
for r in db.query(BatchDelivery).filter(BatchDelivery.project == project).all()
|
||||
}
|
||||
indexed = {
|
||||
@@ -78,13 +84,13 @@ def _scan_project_inbox(project: str, wf: dict | None = None) -> list[dict[str,
|
||||
"has_labels": has_labels,
|
||||
"stage_hint": stage_hint,
|
||||
"source_type": "inbox_scan",
|
||||
"delivery_id": delivery.id if delivery else None,
|
||||
"delivery_status": delivery.status if delivery else None,
|
||||
"delivery_id": delivery["id"] if delivery else None,
|
||||
"delivery_status": delivery["status"] if delivery else None,
|
||||
"in_ledger": delivery is not None,
|
||||
"in_workbench": in_index,
|
||||
"collection_start": delivery.collection_start if delivery else _dir_mtime_iso(batch_dir),
|
||||
"collection_end": delivery.collection_end if delivery else None,
|
||||
"created_at": delivery.created_at.isoformat() if delivery and delivery.created_at else None,
|
||||
"collection_start": delivery["collection_start"] if delivery else _dir_mtime_iso(batch_dir),
|
||||
"collection_end": delivery["collection_end"] if delivery else None,
|
||||
"created_at": delivery["created_at"].isoformat() if delivery and delivery["created_at"] else None,
|
||||
"needs_ledger": delivery is None,
|
||||
"needs_workbench": not in_index,
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user