blob: 7579a75903e517c2ee65178ce514e34cf3f8566c [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"],
James Kuszmaulcb94db72021-08-07 15:30:19 -07007 deps = [
8 "//external:python-glog",
9 "@opencv_contrib_nonfree_amd64//:python_opencv",
Philipp Schrader092a62d2021-12-05 23:15:05 -080010 "@python_repo//:scipy",
James Kuszmaulcb94db72021-08-07 15:30:19 -070011 ],
12)
13
14py_library(
15 name = "define_training_data",
16 srcs = [
17 "define_training_data.py",
18 ],
James Kuszmaulcb94db72021-08-07 15:30:19 -070019 deps = [
20 ":train_and_match",
21 "//external:python-glog",
22 "@opencv_contrib_nonfree_amd64//:python_opencv",
Philipp Schrader092a62d2021-12-05 23:15:05 -080023 "@python_repo//:scipy",
James Kuszmaulcb94db72021-08-07 15:30:19 -070024 ],
25)
26
27py_library(
28 name = "camera_definition",
29 srcs = [
30 "camera_definition.py",
31 ],
32 deps = [
33 ":define_training_data",
34 "//external:python-glog",
35 ],
36)
37
38py_library(
39 name = "target_definition",
40 srcs = [
41 "target_definition.py",
42 ],
milind-u0eb8a6c2021-10-16 22:55:18 -070043 data = glob(["target_definitions/*.json"]),
James Kuszmaulcb94db72021-08-07 15:30:19 -070044 deps = [
45 ":camera_definition",
46 ":define_training_data",
47 ":train_and_match",
48 "//external:python-glog",
49 "@opencv_contrib_nonfree_amd64//:python_opencv",
50 ],
51)
52
53py_binary(
54 name = "target_definition_main",
55 srcs = ["target_definition.py"],
56 data = glob(["calib_files/*.json"]) + glob([
57 "test_images/*.png",
58 ]),
59 main = "target_definition.py",
James Kuszmaulcb94db72021-08-07 15:30:19 -070060 target_compatible_with = ["@platforms//os:linux"],
61 deps = [
62 ":target_definition",
63 "@bazel_tools//tools/python/runfiles",
64 ],
65)
66
Jim Ostrowskife70d3b2020-02-15 22:15:07 -080067py_binary(
68 name = "load_sift_training",
Jim Ostrowski38bb70b2020-02-21 20:46:10 -080069 srcs = [
Jim Ostrowski38bb70b2020-02-21 20:46:10 -080070 "load_sift_training.py",
Jim Ostrowskife70d3b2020-02-15 22:15:07 -080071 ],
Jim Ostrowski38bb70b2020-02-21 20:46:10 -080072 args = [
73 "sift_training_data.h",
74 ],
Jim Ostrowskiaf5a5062020-03-07 23:49:39 -080075 data = glob(["calib_files/*.json"]) + glob([
Jim Ostrowski59503182020-03-05 22:52:54 -080076 "test_images/*.png",
77 ]),
Philipp Schraderdada1072020-11-24 11:34:46 -080078 target_compatible_with = ["@platforms//os:linux"],
Jim Ostrowskife70d3b2020-02-15 22:15:07 -080079 deps = [
James Kuszmaulcb94db72021-08-07 15:30:19 -070080 ":camera_definition",
81 ":target_definition",
82 "//external:python-glog",
83 "//y2020/vision/sift:sift_fbs_python",
84 "@bazel_tools//tools/python/runfiles",
85 "@opencv_contrib_nonfree_amd64//:python_opencv",
86 ],
87)
88
89py_binary(
90 name = "image_match_test",
91 srcs = [
92 "image_match_test.py",
93 ],
94 data = glob(["calib_files/*.json"]) + glob([
95 "test_images/*.png",
96 ]),
James Kuszmaulcb94db72021-08-07 15:30:19 -070097 target_compatible_with = ["@platforms//os:linux"],
98 deps = [
99 ":camera_definition",
100 ":target_definition",
Jim Ostrowskiad5d8a72020-02-28 00:15:26 -0800101 "//external:python-glog",
Jim Ostrowskife70d3b2020-02-15 22:15:07 -0800102 "//y2020/vision/sift:sift_fbs_python",
Jim Ostrowskife70d3b2020-02-15 22:15:07 -0800103 "@bazel_tools//tools/python/runfiles",
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800104 "@opencv_contrib_nonfree_amd64//:python_opencv",
Jim Ostrowskife70d3b2020-02-15 22:15:07 -0800105 ],
106)
107
108genrule(
109 name = "run_load_sift_training",
110 outs = [
111 "sift_training_data.h",
112 ],
113 cmd = " ".join([
114 "$(location :load_sift_training)",
115 "$(location sift_training_data.h)",
116 ]),
Philipp Schraderdada1072020-11-24 11:34:46 -0800117 target_compatible_with = ["@platforms//os:linux"],
Jim Ostrowskife70d3b2020-02-15 22:15:07 -0800118 tools = [
119 ":load_sift_training",
120 ],
121)
122
123cc_library(
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800124 name = "sift_training_data",
Jim Ostrowskife70d3b2020-02-15 22:15:07 -0800125 hdrs = [
126 "sift_training_data.h",
127 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800128 target_compatible_with = ["@platforms//os:linux"],
Jim Ostrowskife70d3b2020-02-15 22:15:07 -0800129 visibility = ["//visibility:public"],
Brian Silverman36c7f342021-06-11 15:21:41 -0700130 deps = [
131 "@com_google_absl//absl/types:span",
132 ],
Jim Ostrowskife70d3b2020-02-15 22:15:07 -0800133)
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800134
135py_binary(
136 name = "load_sift_training_test",
137 srcs = [
Jim Ostrowskiad5d8a72020-02-28 00:15:26 -0800138 "camera_definition_test.py",
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800139 "define_training_data.py",
140 "load_sift_training.py",
Jim Ostrowskiad5d8a72020-02-28 00:15:26 -0800141 "target_definition_test.py",
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800142 "train_and_match.py",
143 ],
144 args = [
145 "sift_training_data_test.h",
146 "test",
147 ],
Jim Ostrowskiaf5a5062020-03-07 23:49:39 -0800148 data = glob(["calib_files/*.json"]) + glob([
Jim Ostrowski59503182020-03-05 22:52:54 -0800149 "test_images/*.png",
150 ]),
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800151 main = "load_sift_training.py",
Philipp Schraderdada1072020-11-24 11:34:46 -0800152 target_compatible_with = ["@platforms//os:linux"],
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800153 deps = [
James Kuszmaulb6985ce2020-03-08 22:18:49 -0700154 ":load_sift_training",
Jim Ostrowskiad5d8a72020-02-28 00:15:26 -0800155 "//external:python-glog",
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800156 "//y2020/vision/sift:sift_fbs_python",
157 "@bazel_tools//tools/python/runfiles",
158 "@opencv_contrib_nonfree_amd64//:python_opencv",
159 ],
160)
161
162genrule(
163 name = "run_load_sift_training_test",
164 outs = [
165 "sift_training_data_test.h",
166 ],
167 cmd = " ".join([
168 "$(location :load_sift_training_test)",
169 "$(location sift_training_data_test.h) test",
170 ]),
Philipp Schraderdada1072020-11-24 11:34:46 -0800171 target_compatible_with = ["@platforms//os:linux"],
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800172 tools = [
173 ":load_sift_training_test",
174 ],
175)
176
177cc_library(
178 name = "sift_training_data_test",
179 hdrs = [
180 "sift_training_data_test.h",
181 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800182 target_compatible_with = ["@platforms//os:linux"],
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800183 visibility = ["//visibility:public"],
Brian Silverman36c7f342021-06-11 15:21:41 -0700184 deps = [
185 "@com_google_absl//absl/types:span",
186 ],
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800187)
188
189cc_test(
190 name = "camera_param_test",
191 srcs = [
192 "camera_param_test.cc",
193 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800194 target_compatible_with = ["@platforms//os:linux"],
Jim Ostrowski38bb70b2020-02-21 20:46:10 -0800195 deps = [
196 ":sift_training_data_test",
197 "//aos/testing:googletest",
198 "//third_party:opencv",
199 "//y2020/vision:vision_fbs",
200 "//y2020/vision/sift:sift_fbs",
201 "//y2020/vision/sift:sift_training_fbs",
202 ],
203)