blob: fc7322dfc7b8e61dd06fcf92db2624e7eec141ca [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",
64 python_version = "PY3",
65 target_compatible_with = ["@platforms//os:linux"],
66 deps = [
67 ":target_definition",
68 "@bazel_tools//tools/python/runfiles",
69 ],
70)
71
Jim Ostrowskife70d3b2020-02-15 22:15:07 -080072py_binary(
73 name = "load_sift_training",
Jim Ostrowski38bb70b2020-02-21 20:46:10 -080074 srcs = [
Jim Ostrowski38bb70b2020-02-21 20:46:10 -080075 "load_sift_training.py",
Jim Ostrowskife70d3b2020-02-15 22:15:07 -080076 ],
Jim Ostrowski38bb70b2020-02-21 20:46:10 -080077 args = [
78 "sift_training_data.h",
79 ],
Jim Ostrowskiaf5a5062020-03-07 23:49:39 -080080 data = glob(["calib_files/*.json"]) + glob([
Jim Ostrowski59503182020-03-05 22:52:54 -080081 "test_images/*.png",
82 ]),
Austin Schuhda9d0602019-09-15 17:29:38 -070083 python_version = "PY3",
Philipp Schraderdada1072020-11-24 11:34:46 -080084 target_compatible_with = ["@platforms//os:linux"],
Jim Ostrowskife70d3b2020-02-15 22:15:07 -080085 deps = [
James Kuszmaulcb94db72021-08-07 15:30:19 -070086 ":camera_definition",
87 ":target_definition",
88 "//external:python-glog",
89 "//y2020/vision/sift:sift_fbs_python",
90 "@bazel_tools//tools/python/runfiles",
91 "@opencv_contrib_nonfree_amd64//:python_opencv",
92 ],
93)
94
95py_binary(
96 name = "image_match_test",
97 srcs = [
98 "image_match_test.py",
99 ],
100 data = glob(["calib_files/*.json"]) + glob([
101 "test_images/*.png",
102 ]),
103 python_version = "PY3",
104 target_compatible_with = ["@platforms//os:linux"],
105 deps = [
106 ":camera_definition",
107 ":target_definition",
Jim Ostrowskiad5d8a72020-02-28 00:15:26 -0800108 "//external:python-glog",
Jim Ostrowskife70d3b2020-02-15 22:15:07 -0800109 "//y2020/vision/sift:sift_fbs_python",
Jim Ostrowskife70d3b2020-02-15 22:15:07 -0800110 "@bazel_tools//tools/python/runfiles",
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800111 "@opencv_contrib_nonfree_amd64//:python_opencv",
Jim Ostrowskife70d3b2020-02-15 22:15:07 -0800112 ],
113)
114
115genrule(
116 name = "run_load_sift_training",
117 outs = [
118 "sift_training_data.h",
119 ],
120 cmd = " ".join([
121 "$(location :load_sift_training)",
122 "$(location sift_training_data.h)",
123 ]),
Philipp Schraderdada1072020-11-24 11:34:46 -0800124 target_compatible_with = ["@platforms//os:linux"],
Jim Ostrowskife70d3b2020-02-15 22:15:07 -0800125 tools = [
126 ":load_sift_training",
127 ],
128)
129
130cc_library(
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800131 name = "sift_training_data",
Jim Ostrowskife70d3b2020-02-15 22:15:07 -0800132 hdrs = [
133 "sift_training_data.h",
134 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800135 target_compatible_with = ["@platforms//os:linux"],
Jim Ostrowskife70d3b2020-02-15 22:15:07 -0800136 visibility = ["//visibility:public"],
Brian Silverman36c7f342021-06-11 15:21:41 -0700137 deps = [
138 "@com_google_absl//absl/types:span",
139 ],
Jim Ostrowskife70d3b2020-02-15 22:15:07 -0800140)
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800141
142py_binary(
143 name = "load_sift_training_test",
144 srcs = [
Jim Ostrowskiad5d8a72020-02-28 00:15:26 -0800145 "camera_definition_test.py",
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800146 "define_training_data.py",
147 "load_sift_training.py",
Jim Ostrowskiad5d8a72020-02-28 00:15:26 -0800148 "target_definition_test.py",
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800149 "train_and_match.py",
150 ],
151 args = [
152 "sift_training_data_test.h",
153 "test",
154 ],
Jim Ostrowskiaf5a5062020-03-07 23:49:39 -0800155 data = glob(["calib_files/*.json"]) + glob([
Jim Ostrowski59503182020-03-05 22:52:54 -0800156 "test_images/*.png",
157 ]),
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800158 main = "load_sift_training.py",
Philipp Schraderdada1072020-11-24 11:34:46 -0800159 python_version = "PY3",
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800160 srcs_version = "PY2AND3",
Philipp Schraderdada1072020-11-24 11:34:46 -0800161 target_compatible_with = ["@platforms//os:linux"],
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800162 deps = [
James Kuszmaulb6985ce2020-03-08 22:18:49 -0700163 ":load_sift_training",
Jim Ostrowskiad5d8a72020-02-28 00:15:26 -0800164 "//external:python-glog",
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800165 "//y2020/vision/sift:sift_fbs_python",
166 "@bazel_tools//tools/python/runfiles",
167 "@opencv_contrib_nonfree_amd64//:python_opencv",
168 ],
169)
170
171genrule(
172 name = "run_load_sift_training_test",
173 outs = [
174 "sift_training_data_test.h",
175 ],
176 cmd = " ".join([
177 "$(location :load_sift_training_test)",
178 "$(location sift_training_data_test.h) test",
179 ]),
Philipp Schraderdada1072020-11-24 11:34:46 -0800180 target_compatible_with = ["@platforms//os:linux"],
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800181 tools = [
182 ":load_sift_training_test",
183 ],
184)
185
186cc_library(
187 name = "sift_training_data_test",
188 hdrs = [
189 "sift_training_data_test.h",
190 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800191 target_compatible_with = ["@platforms//os:linux"],
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800192 visibility = ["//visibility:public"],
Brian Silverman36c7f342021-06-11 15:21:41 -0700193 deps = [
194 "@com_google_absl//absl/types:span",
195 ],
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800196)
197
198cc_test(
199 name = "camera_param_test",
200 srcs = [
201 "camera_param_test.cc",
202 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800203 target_compatible_with = ["@platforms//os:linux"],
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800204 deps = [
205 ":sift_training_data_test",
206 "//aos/testing:googletest",
207 "//third_party:opencv",
208 "//y2020/vision:vision_fbs",
209 "//y2020/vision/sift:sift_fbs",
210 "//y2020/vision/sift:sift_training_fbs",
211 ],
212)