blob: 1e27f65cd20f3f9f52e7db56ed8f88324db9b874 [file] [log] [blame]
Jim Ostrowskife70d3b2020-02-15 22:15:07 -08001load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library", "flatbuffer_py_library")
Philipp Schraderdada1072020-11-24 11:34:46 -08002load("//tools:platforms.bzl", "platforms")
Jim Ostrowskife70d3b2020-02-15 22:15:07 -08003
James Kuszmaulcb94db72021-08-07 15:30:19 -07004py_library(
5 name = "train_and_match",
6 srcs = ["train_and_match.py"],
7 data = [
8 "@python_repo//:scipy",
9 ],
10 deps = [
11 "//external:python-glog",
12 "@opencv_contrib_nonfree_amd64//:python_opencv",
13 ],
14)
15
16py_library(
17 name = "define_training_data",
18 srcs = [
19 "define_training_data.py",
20 ],
21 data = [
22 "@python_repo//:scipy",
23 ],
24 deps = [
25 ":train_and_match",
26 "//external:python-glog",
27 "@opencv_contrib_nonfree_amd64//:python_opencv",
28 ],
29)
30
31py_library(
32 name = "camera_definition",
33 srcs = [
34 "camera_definition.py",
35 ],
36 deps = [
37 ":define_training_data",
38 "//external:python-glog",
39 ],
40)
41
42py_library(
43 name = "target_definition",
44 srcs = [
45 "target_definition.py",
46 ],
milind-u0eb8a6c2021-10-16 22:55:18 -070047 data = glob(["target_definitions/*.json"]),
James Kuszmaulcb94db72021-08-07 15:30:19 -070048 deps = [
49 ":camera_definition",
50 ":define_training_data",
51 ":train_and_match",
52 "//external:python-glog",
53 "@opencv_contrib_nonfree_amd64//:python_opencv",
54 ],
55)
56
57py_binary(
58 name = "target_definition_main",
59 srcs = ["target_definition.py"],
60 data = glob(["calib_files/*.json"]) + glob([
61 "test_images/*.png",
62 ]),
63 main = "target_definition.py",
James Kuszmaulcb94db72021-08-07 15:30:19 -070064 target_compatible_with = ["@platforms//os:linux"],
65 deps = [
66 ":target_definition",
67 "@bazel_tools//tools/python/runfiles",
68 ],
69)
70
Jim Ostrowskife70d3b2020-02-15 22:15:07 -080071py_binary(
72 name = "load_sift_training",
Jim Ostrowski38bb70b2020-02-21 20:46:10 -080073 srcs = [
Jim Ostrowski38bb70b2020-02-21 20:46:10 -080074 "load_sift_training.py",
Jim Ostrowskife70d3b2020-02-15 22:15:07 -080075 ],
Jim Ostrowski38bb70b2020-02-21 20:46:10 -080076 args = [
77 "sift_training_data.h",
78 ],
Jim Ostrowskiaf5a5062020-03-07 23:49:39 -080079 data = glob(["calib_files/*.json"]) + glob([
Jim Ostrowski59503182020-03-05 22:52:54 -080080 "test_images/*.png",
81 ]),
Philipp Schraderdada1072020-11-24 11:34:46 -080082 target_compatible_with = ["@platforms//os:linux"],
Jim Ostrowskife70d3b2020-02-15 22:15:07 -080083 deps = [
James Kuszmaulcb94db72021-08-07 15:30:19 -070084 ":camera_definition",
85 ":target_definition",
86 "//external:python-glog",
87 "//y2020/vision/sift:sift_fbs_python",
88 "@bazel_tools//tools/python/runfiles",
89 "@opencv_contrib_nonfree_amd64//:python_opencv",
90 ],
91)
92
93py_binary(
94 name = "image_match_test",
95 srcs = [
96 "image_match_test.py",
97 ],
98 data = glob(["calib_files/*.json"]) + glob([
99 "test_images/*.png",
100 ]),
James Kuszmaulcb94db72021-08-07 15:30:19 -0700101 target_compatible_with = ["@platforms//os:linux"],
102 deps = [
103 ":camera_definition",
104 ":target_definition",
Jim Ostrowskiad5d8a72020-02-28 00:15:26 -0800105 "//external:python-glog",
Jim Ostrowskife70d3b2020-02-15 22:15:07 -0800106 "//y2020/vision/sift:sift_fbs_python",
Jim Ostrowskife70d3b2020-02-15 22:15:07 -0800107 "@bazel_tools//tools/python/runfiles",
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800108 "@opencv_contrib_nonfree_amd64//:python_opencv",
Jim Ostrowskife70d3b2020-02-15 22:15:07 -0800109 ],
110)
111
112genrule(
113 name = "run_load_sift_training",
114 outs = [
115 "sift_training_data.h",
116 ],
117 cmd = " ".join([
118 "$(location :load_sift_training)",
119 "$(location sift_training_data.h)",
120 ]),
Philipp Schraderdada1072020-11-24 11:34:46 -0800121 target_compatible_with = ["@platforms//os:linux"],
Jim Ostrowskife70d3b2020-02-15 22:15:07 -0800122 tools = [
123 ":load_sift_training",
124 ],
125)
126
127cc_library(
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800128 name = "sift_training_data",
Jim Ostrowskife70d3b2020-02-15 22:15:07 -0800129 hdrs = [
130 "sift_training_data.h",
131 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800132 target_compatible_with = ["@platforms//os:linux"],
Jim Ostrowskife70d3b2020-02-15 22:15:07 -0800133 visibility = ["//visibility:public"],
Brian Silverman36c7f342021-06-11 15:21:41 -0700134 deps = [
135 "@com_google_absl//absl/types:span",
136 ],
Jim Ostrowskife70d3b2020-02-15 22:15:07 -0800137)
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800138
139py_binary(
140 name = "load_sift_training_test",
141 srcs = [
Jim Ostrowskiad5d8a72020-02-28 00:15:26 -0800142 "camera_definition_test.py",
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800143 "define_training_data.py",
144 "load_sift_training.py",
Jim Ostrowskiad5d8a72020-02-28 00:15:26 -0800145 "target_definition_test.py",
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800146 "train_and_match.py",
147 ],
148 args = [
149 "sift_training_data_test.h",
150 "test",
151 ],
Jim Ostrowskiaf5a5062020-03-07 23:49:39 -0800152 data = glob(["calib_files/*.json"]) + glob([
Jim Ostrowski59503182020-03-05 22:52:54 -0800153 "test_images/*.png",
154 ]),
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800155 main = "load_sift_training.py",
Philipp Schraderdada1072020-11-24 11:34:46 -0800156 target_compatible_with = ["@platforms//os:linux"],
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800157 deps = [
James Kuszmaulb6985ce2020-03-08 22:18:49 -0700158 ":load_sift_training",
Jim Ostrowskiad5d8a72020-02-28 00:15:26 -0800159 "//external:python-glog",
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800160 "//y2020/vision/sift:sift_fbs_python",
161 "@bazel_tools//tools/python/runfiles",
162 "@opencv_contrib_nonfree_amd64//:python_opencv",
163 ],
164)
165
166genrule(
167 name = "run_load_sift_training_test",
168 outs = [
169 "sift_training_data_test.h",
170 ],
171 cmd = " ".join([
172 "$(location :load_sift_training_test)",
173 "$(location sift_training_data_test.h) test",
174 ]),
Philipp Schraderdada1072020-11-24 11:34:46 -0800175 target_compatible_with = ["@platforms//os:linux"],
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800176 tools = [
177 ":load_sift_training_test",
178 ],
179)
180
181cc_library(
182 name = "sift_training_data_test",
183 hdrs = [
184 "sift_training_data_test.h",
185 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800186 target_compatible_with = ["@platforms//os:linux"],
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800187 visibility = ["//visibility:public"],
Brian Silverman36c7f342021-06-11 15:21:41 -0700188 deps = [
189 "@com_google_absl//absl/types:span",
190 ],
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800191)
192
193cc_test(
194 name = "camera_param_test",
195 srcs = [
196 "camera_param_test.cc",
197 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800198 target_compatible_with = ["@platforms//os:linux"],
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800199 deps = [
200 ":sift_training_data_test",
201 "//aos/testing:googletest",
202 "//third_party:opencv",
203 "//y2020/vision:vision_fbs",
204 "//y2020/vision/sift:sift_fbs",
205 "//y2020/vision/sift:sift_training_fbs",
206 ],
207)