blob: d259ba77a3f6b7881c629b3f6b7c522ec36d0c97 [file] [log] [blame]
James Kuszmaulcb94db72021-08-07 15:30:19 -07001py_library(
2 name = "train_and_match",
3 srcs = ["train_and_match.py"],
James Kuszmaulcb94db72021-08-07 15:30:19 -07004 deps = [
5 "//external:python-glog",
6 "@opencv_contrib_nonfree_amd64//:python_opencv",
Philipp Schrader092a62d2021-12-05 23:15:05 -08007 "@python_repo//:scipy",
James Kuszmaulcb94db72021-08-07 15:30:19 -07008 ],
9)
10
11py_library(
12 name = "define_training_data",
13 srcs = [
14 "define_training_data.py",
15 ],
James Kuszmaulcb94db72021-08-07 15:30:19 -070016 deps = [
17 ":train_and_match",
18 "//external:python-glog",
19 "@opencv_contrib_nonfree_amd64//:python_opencv",
Philipp Schrader092a62d2021-12-05 23:15:05 -080020 "@python_repo//:scipy",
James Kuszmaulcb94db72021-08-07 15:30:19 -070021 ],
22)
23
24py_library(
25 name = "camera_definition",
26 srcs = [
27 "camera_definition.py",
28 ],
29 deps = [
30 ":define_training_data",
31 "//external:python-glog",
32 ],
33)
34
35py_library(
36 name = "target_definition",
37 srcs = [
38 "target_definition.py",
39 ],
milind-u0eb8a6c2021-10-16 22:55:18 -070040 data = glob(["target_definitions/*.json"]),
James Kuszmaulcb94db72021-08-07 15:30:19 -070041 deps = [
42 ":camera_definition",
43 ":define_training_data",
44 ":train_and_match",
45 "//external:python-glog",
46 "@opencv_contrib_nonfree_amd64//:python_opencv",
47 ],
48)
49
50py_binary(
51 name = "target_definition_main",
52 srcs = ["target_definition.py"],
53 data = glob(["calib_files/*.json"]) + glob([
54 "test_images/*.png",
55 ]),
56 main = "target_definition.py",
James Kuszmaulcb94db72021-08-07 15:30:19 -070057 target_compatible_with = ["@platforms//os:linux"],
58 deps = [
59 ":target_definition",
60 "@bazel_tools//tools/python/runfiles",
61 ],
62)
63
Jim Ostrowskife70d3b2020-02-15 22:15:07 -080064py_binary(
65 name = "load_sift_training",
Jim Ostrowski38bb70b2020-02-21 20:46:10 -080066 srcs = [
Jim Ostrowski38bb70b2020-02-21 20:46:10 -080067 "load_sift_training.py",
Jim Ostrowskife70d3b2020-02-15 22:15:07 -080068 ],
Jim Ostrowski38bb70b2020-02-21 20:46:10 -080069 args = [
70 "sift_training_data.h",
71 ],
Jim Ostrowskiaf5a5062020-03-07 23:49:39 -080072 data = glob(["calib_files/*.json"]) + glob([
Jim Ostrowski59503182020-03-05 22:52:54 -080073 "test_images/*.png",
74 ]),
Philipp Schraderdada1072020-11-24 11:34:46 -080075 target_compatible_with = ["@platforms//os:linux"],
Jim Ostrowskife70d3b2020-02-15 22:15:07 -080076 deps = [
James Kuszmaulcb94db72021-08-07 15:30:19 -070077 ":camera_definition",
78 ":target_definition",
79 "//external:python-glog",
80 "//y2020/vision/sift:sift_fbs_python",
81 "@bazel_tools//tools/python/runfiles",
82 "@opencv_contrib_nonfree_amd64//:python_opencv",
83 ],
84)
85
86py_binary(
87 name = "image_match_test",
88 srcs = [
89 "image_match_test.py",
90 ],
91 data = glob(["calib_files/*.json"]) + glob([
92 "test_images/*.png",
93 ]),
James Kuszmaulcb94db72021-08-07 15:30:19 -070094 target_compatible_with = ["@platforms//os:linux"],
95 deps = [
96 ":camera_definition",
97 ":target_definition",
Jim Ostrowskiad5d8a72020-02-28 00:15:26 -080098 "//external:python-glog",
Jim Ostrowskife70d3b2020-02-15 22:15:07 -080099 "//y2020/vision/sift:sift_fbs_python",
Jim Ostrowskife70d3b2020-02-15 22:15:07 -0800100 "@bazel_tools//tools/python/runfiles",
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800101 "@opencv_contrib_nonfree_amd64//:python_opencv",
Jim Ostrowskife70d3b2020-02-15 22:15:07 -0800102 ],
103)
104
105genrule(
106 name = "run_load_sift_training",
107 outs = [
108 "sift_training_data.h",
109 ],
110 cmd = " ".join([
111 "$(location :load_sift_training)",
112 "$(location sift_training_data.h)",
113 ]),
Philipp Schraderdada1072020-11-24 11:34:46 -0800114 target_compatible_with = ["@platforms//os:linux"],
Jim Ostrowskife70d3b2020-02-15 22:15:07 -0800115 tools = [
116 ":load_sift_training",
117 ],
118)
119
120cc_library(
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800121 name = "sift_training_data",
Jim Ostrowskife70d3b2020-02-15 22:15:07 -0800122 hdrs = [
123 "sift_training_data.h",
124 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800125 target_compatible_with = ["@platforms//os:linux"],
Jim Ostrowskife70d3b2020-02-15 22:15:07 -0800126 visibility = ["//visibility:public"],
Brian Silverman36c7f342021-06-11 15:21:41 -0700127 deps = [
128 "@com_google_absl//absl/types:span",
129 ],
Jim Ostrowskife70d3b2020-02-15 22:15:07 -0800130)
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800131
132py_binary(
133 name = "load_sift_training_test",
134 srcs = [
Jim Ostrowskiad5d8a72020-02-28 00:15:26 -0800135 "camera_definition_test.py",
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800136 "define_training_data.py",
137 "load_sift_training.py",
Jim Ostrowskiad5d8a72020-02-28 00:15:26 -0800138 "target_definition_test.py",
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800139 "train_and_match.py",
140 ],
141 args = [
142 "sift_training_data_test.h",
143 "test",
144 ],
Jim Ostrowskiaf5a5062020-03-07 23:49:39 -0800145 data = glob(["calib_files/*.json"]) + glob([
Jim Ostrowski59503182020-03-05 22:52:54 -0800146 "test_images/*.png",
147 ]),
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800148 main = "load_sift_training.py",
Philipp Schraderdada1072020-11-24 11:34:46 -0800149 target_compatible_with = ["@platforms//os:linux"],
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800150 deps = [
James Kuszmaulb6985ce2020-03-08 22:18:49 -0700151 ":load_sift_training",
Jim Ostrowskiad5d8a72020-02-28 00:15:26 -0800152 "//external:python-glog",
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800153 "//y2020/vision/sift:sift_fbs_python",
154 "@bazel_tools//tools/python/runfiles",
155 "@opencv_contrib_nonfree_amd64//:python_opencv",
156 ],
157)
158
159genrule(
160 name = "run_load_sift_training_test",
161 outs = [
162 "sift_training_data_test.h",
163 ],
164 cmd = " ".join([
165 "$(location :load_sift_training_test)",
166 "$(location sift_training_data_test.h) test",
167 ]),
Philipp Schraderdada1072020-11-24 11:34:46 -0800168 target_compatible_with = ["@platforms//os:linux"],
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800169 tools = [
170 ":load_sift_training_test",
171 ],
172)
173
174cc_library(
175 name = "sift_training_data_test",
176 hdrs = [
177 "sift_training_data_test.h",
178 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800179 target_compatible_with = ["@platforms//os:linux"],
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800180 visibility = ["//visibility:public"],
Brian Silverman36c7f342021-06-11 15:21:41 -0700181 deps = [
182 "@com_google_absl//absl/types:span",
183 ],
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800184)
185
186cc_test(
187 name = "camera_param_test",
188 srcs = [
189 "camera_param_test.cc",
190 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800191 target_compatible_with = ["@platforms//os:linux"],
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800192 deps = [
193 ":sift_training_data_test",
194 "//aos/testing:googletest",
Jim Ostrowski977850f2022-01-22 21:04:22 -0800195 "//frc971/vision:vision_fbs",
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800196 "//third_party:opencv",
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800197 "//y2020/vision/sift:sift_fbs",
198 "//y2020/vision/sift:sift_training_fbs",
199 ],
200)