Merge "Set backend in swerve matplotlib users"
diff --git a/frc971/orin/apriltag.cc b/frc971/orin/apriltag.cc
index 3aa0c1b..ec5e322 100644
--- a/frc971/orin/apriltag.cc
+++ b/frc971/orin/apriltag.cc
@@ -443,56 +443,6 @@
}
};
-// Computes the dot product of the point vector and gradient for detecting
-// inside-out blobs.
-struct ComputeDotProductTransform {
- ComputeDotProductTransform(MinMaxExtents *extents_device, size_t num_extents,
- size_t tag_width, size_t min_cluster_pixels,
- size_t max_cluster_pixels)
- : index_finder_(extents_device, num_extents),
- tag_width_(tag_width),
- min_cluster_pixels_(std::max<size_t>(24u, min_cluster_pixels)),
- max_cluster_pixels_(max_cluster_pixels) {}
-
- __host__ __device__ __forceinline__ float operator()(
- cub::KeyValuePair<long, QuadBoundaryPoint> a) const {
- const size_t y = a.value.y();
- const size_t x = a.value.x();
-
- // Binary search for the index.
- const size_t index = index_finder_.FindBlobIndex(a.key);
-
- // Don't bother to compute the dot product for anything we will ignore in
- // SelectBlobs below.
- //
- // TODO(austin): Figure out how to dedup with SelectBlobs below.
- const MinMaxExtents extents = index_finder_.Get(index);
- if (extents.count < min_cluster_pixels_) {
- return 0;
- }
- if (extents.count > max_cluster_pixels_) {
- return 0;
- }
-
- // Area must also be reasonable.
- if ((extents.max_x - extents.min_x) * (extents.max_y - extents.min_y) <
- tag_width_) {
- return 0;
- }
-
- const float dx = static_cast<float>(x) - extents.cx();
- const float dy = static_cast<float>(y) - extents.cy();
-
- return dx * a.value.gx() + dy * a.value.gy();
- }
-
- BlobExtentsIndexFinder index_finder_;
-
- size_t tag_width_;
- size_t min_cluster_pixels_;
- size_t max_cluster_pixels_;
-};
-
class NonzeroBlobs {
public:
__host__ __device__