fix(lab): stabilize replay and densify LiDAR overlay
This commit is contained in:
@@ -159,11 +159,40 @@ def build_m48s_fixed_class_detector_lab_router(
|
||||
result_id: str,
|
||||
start: int = Query(default=0, ge=0),
|
||||
count: int = Query(default=12, ge=1, le=RECORDED_SPATIAL_MAX_CHUNK_FRAMES),
|
||||
) -> dict[str, object]:
|
||||
) -> Response:
|
||||
try:
|
||||
return timeline(result_id).chunk(start_sequence=start, frame_count=count)
|
||||
content = timeline(result_id).chunk_json(
|
||||
start_sequence=start,
|
||||
frame_count=count,
|
||||
)
|
||||
except M48sReplayTimelineError:
|
||||
raise HTTPException(status_code=404, detail="M4.8S timeline chunk not found") from None
|
||||
return Response(
|
||||
content=content,
|
||||
media_type="application/json",
|
||||
headers={
|
||||
"Cache-Control": "private, max-age=31536000, immutable",
|
||||
"X-Content-Type-Options": "nosniff",
|
||||
},
|
||||
)
|
||||
|
||||
@router.get("/{result_id}/timeline/frames/{sequence}/camera-points")
|
||||
def get_timeline_camera_points(result_id: str, sequence: int) -> Response:
|
||||
try:
|
||||
content = timeline(result_id).camera_point_overlay_json(sequence=sequence)
|
||||
except M48sReplayTimelineError:
|
||||
raise HTTPException(
|
||||
status_code=404,
|
||||
detail="M4.8S camera point overlay not found",
|
||||
) from None
|
||||
return Response(
|
||||
content=content,
|
||||
media_type="application/json",
|
||||
headers={
|
||||
"Cache-Control": "private, max-age=31536000, immutable",
|
||||
"X-Content-Type-Options": "nosniff",
|
||||
},
|
||||
)
|
||||
|
||||
@router.get("/{result_id}/timeline/frames/{sequence}/camera")
|
||||
def get_timeline_camera(result_id: str, sequence: int) -> Response:
|
||||
|
||||
Reference in New Issue
Block a user