<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>I was diagnosing an issue in a detection pipeline doing non-maximal suppression that led me to observe that the area of the intersection of two bounding boxes can be negative.</div><div><br></div><div>The <a href="https://github.com/Kitware/kwiver/blob/master/vital/types/bounding_box.h#L276">intersection</a> of two bounding boxes yields a bounding box representing the intersection. Internally, the bboxes are Eigen::AlignedBox, and the intersection uses <a href="https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=2ahUKEwiy1cj8hfngAhWnhOAKHRrsCtcQygQwAHoECAEQBg&url=https%3A%2F%2Feigen.tuxfamily.org%2Fdox%2FclassEigen_1_1AlignedBox.html%23title26&usg=AOvVaw1oBy2fk1j2WCPGlEGJnXOn">this Eigen function</a>. Still working on it, but I suspect that Eigen is returning an empty box with junk for parameters (i.e., Eigen says "The result of most methods is undefined when applied to an empty box").</div><div><br></div><div>So the question is, what should be returned <a href="https://github.com/Kitware/kwiver/blob/master/vital/types/bounding_box.h#L279">here</a> when there is no intersection? Should we define a special empty bbox subclass?</div><div><br></div><div>Best,</div><div>Matt<br></div></div></div></div></div>