blob: 6acd234d3cc6f5b92168942bc4c4dd96b487fa31 [file] [log] [blame]
Jim Ostrowskicb8b4082024-01-21 02:23:46 -08001#include "y2024/vision/vision_util.h"
2
3#include "glog/logging.h"
4
5namespace y2024::vision {
6
7const frc971::vision::calibration::CameraCalibration *FindCameraCalibration(
Jim Ostrowskiddebdcb2024-02-29 22:25:36 -08008 const y2024::Constants &calibration_data, std::string_view node_name,
9 int camera_number) {
Jim Ostrowskicb8b4082024-01-21 02:23:46 -080010 CHECK(calibration_data.has_cameras());
11 for (const y2024::CameraConfiguration *candidate :
12 *calibration_data.cameras()) {
13 CHECK(candidate->has_calibration());
Jim Ostrowskiddebdcb2024-02-29 22:25:36 -080014 if (candidate->calibration()->node_name()->string_view() != node_name ||
15 candidate->calibration()->camera_number() != camera_number) {
Jim Ostrowskicb8b4082024-01-21 02:23:46 -080016 continue;
17 }
18 return candidate->calibration();
19 }
Jim Ostrowskiddebdcb2024-02-29 22:25:36 -080020 LOG(FATAL) << ": Failed to find camera calibration for " << node_name
21 << " and camera number " << camera_number;
Jim Ostrowskicb8b4082024-01-21 02:23:46 -080022}
23
24} // namespace y2024::vision