bounding_box_to_rect.h
Go to the documentation of this file.
1 // -*- mode: c++ -*-
2 /*********************************************************************
3  * Software License Agreement (BSD License)
4  *
5  * Copyright (c) 2016, JSK Lab
6  * All rights reserved.
7  *
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted provided that the following conditions
10  * are met:
11  *
12  * * Redistributions of source code must retain the above copyright
13  * notice, this list of conditions and the following disclaimer.
14  * * Redistributions in binary form must reproduce the above
15  * copyright notice, this list of conditions and the following
16  * disclaimer in the documentation and/or other materials provided
17  * with the distribution.
18  * * Neither the name of the JSK Lab nor the names of its
19  * contributors may be used to endorse or promote products derived
20  * from this software without specific prior written permission.
21  *
22  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
25  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
26  * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
27  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
28  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
29  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
30  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
32  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
33  * POSSIBILITY OF SUCH DAMAGE.
34  *********************************************************************/
35 
36 
37 #ifndef JSK_PERCEPTION_BOUNDING_BOX_TO_RECT_H_
38 #define JSK_PERCEPTION_BOUNDING_BOX_TO_RECT_H_
39 
40 #include <jsk_recognition_msgs/BoundingBoxArray.h>
41 #include <jsk_recognition_msgs/RectArray.h>
42 #include <jsk_recognition_msgs/BoundingBoxArrayWithCameraInfo.h>
43 #include <sensor_msgs/CameraInfo.h>
44 #include <jsk_topic_tools/diagnostic_nodelet.h>
50 #include <tf/message_filter.h>
51 
52 namespace jsk_perception
53 {
54  class BoundingBoxToRect: public jsk_topic_tools::DiagnosticNodelet
55  {
56  public:
59  sensor_msgs::CameraInfo,
60  jsk_recognition_msgs::BoundingBoxArray > SyncPolicy;
62  sensor_msgs::CameraInfo,
63  jsk_recognition_msgs::BoundingBoxArray > ApproximateSyncPolicy;
65  sensor_msgs::CameraInfo,
66  jsk_recognition_msgs::BoundingBox > SyncPolicyBox;
68  sensor_msgs::CameraInfo,
69  jsk_recognition_msgs::BoundingBox > ApproximateSyncPolicyBox;
70 
71  BoundingBoxToRect(): DiagnosticNodelet("BoundingBoxToRect") {}
72  virtual ~BoundingBoxToRect();
73  protected:
74  virtual void onInit();
75  virtual void subscribe();
76  virtual void unsubscribe();
77  virtual void inputCallback(const sensor_msgs::CameraInfo::ConstPtr& info_msg,
78  const jsk_recognition_msgs::BoundingBoxArray::ConstPtr& boxes_msg);
79  virtual void inputBoxCallback(const sensor_msgs::CameraInfo::ConstPtr& info_msg,
80  const jsk_recognition_msgs::BoundingBox::ConstPtr& box_msg);
81 
82  virtual void internalCallback(const jsk_recognition_msgs::BoundingBoxArrayWithCameraInfo::ConstPtr& msg);
83 
84  boost::mutex mutex_;
85  std::string frame_id_;
95  bool approximate_sync_;
96  int tf_queue_size_;
97  int queue_size_;
101  private:
102 
103  };
104 }
105 
106 #endif
jsk_perception::BoundingBoxToRect::~BoundingBoxToRect
virtual ~BoundingBoxToRect()
Definition: bounding_box_to_rect.cpp:57
jsk_perception::BoundingBoxToRect::queue_size_
int queue_size_
Definition: bounding_box_to_rect.h:161
jsk_perception::BoundingBoxToRect::sub_boxes_
message_filters::Subscriber< jsk_recognition_msgs::BoundingBoxArray > sub_boxes_
Definition: bounding_box_to_rect.h:152
ros::Publisher
boost::shared_ptr
jsk_perception::BoundingBoxToRect::pub_internal_
ros::Publisher pub_internal_
Definition: bounding_box_to_rect.h:164
jsk_perception::BoundingBoxToRect::Ptr
boost::shared_ptr< BoundingBoxToRect > Ptr
Definition: bounding_box_to_rect.h:121
jsk_perception::BoundingBoxToRect::onInit
virtual void onInit()
Definition: bounding_box_to_rect.cpp:44
jsk_perception::BoundingBoxToRect::sub_info_
message_filters::Subscriber< sensor_msgs::CameraInfo > sub_info_
Definition: bounding_box_to_rect.h:150
jsk_perception::BoundingBoxToRect::inputBoxCallback
virtual void inputBoxCallback(const sensor_msgs::CameraInfo::ConstPtr &info_msg, const jsk_recognition_msgs::BoundingBox::ConstPtr &box_msg)
Definition: bounding_box_to_rect.cpp:106
jsk_perception::BoundingBoxToRect::async_
boost::shared_ptr< message_filters::Synchronizer< ApproximateSyncPolicy > > async_
Definition: bounding_box_to_rect.h:155
message_filters::Subscriber< sensor_msgs::CameraInfo >
jsk_perception::BoundingBoxToRect::BoundingBoxToRect
BoundingBoxToRect()
Definition: bounding_box_to_rect.h:135
jsk_perception::BoundingBoxToRect::tf_listener_
tf::TransformListener * tf_listener_
Definition: bounding_box_to_rect.h:158
jsk_perception::BoundingBoxToRect::tf_queue_size_
int tf_queue_size_
Definition: bounding_box_to_rect.h:160
jsk_perception
Definition: add_mask_image.h:48
jsk_perception::BoundingBoxToRect::ApproximateSyncPolicyBox
message_filters::sync_policies::ApproximateTime< sensor_msgs::CameraInfo, jsk_recognition_msgs::BoundingBox > ApproximateSyncPolicyBox
Definition: bounding_box_to_rect.h:133
message_filters::sync_policies::ApproximateTime
jsk_perception::BoundingBoxToRect::internalCallback
virtual void internalCallback(const jsk_recognition_msgs::BoundingBoxArrayWithCameraInfo::ConstPtr &msg)
Definition: bounding_box_to_rect.cpp:137
message_filter.h
subscriber.h
jsk_perception::BoundingBoxToRect::approximate_sync_
bool approximate_sync_
Definition: bounding_box_to_rect.h:159
jsk_perception::BoundingBoxToRect::tf_filter_
boost::shared_ptr< tf::MessageFilter< jsk_recognition_msgs::BoundingBoxArrayWithCameraInfo > > tf_filter_
Definition: bounding_box_to_rect.h:162
jsk_perception::BoundingBoxToRect::sync_box_
boost::shared_ptr< message_filters::Synchronizer< SyncPolicyBox > > sync_box_
Definition: bounding_box_to_rect.h:156
jsk_perception::BoundingBoxToRect::sub_box_with_info_
message_filters::Subscriber< jsk_recognition_msgs::BoundingBoxArrayWithCameraInfo > sub_box_with_info_
Definition: bounding_box_to_rect.h:153
jsk_perception::BoundingBoxToRect::SyncPolicyBox
message_filters::sync_policies::ExactTime< sensor_msgs::CameraInfo, jsk_recognition_msgs::BoundingBox > SyncPolicyBox
Definition: bounding_box_to_rect.h:130
jsk_perception::BoundingBoxToRect::subscribe
virtual void subscribe()
Definition: bounding_box_to_rect.cpp:71
jsk_perception::BoundingBoxToRect::sync_
boost::shared_ptr< message_filters::Synchronizer< SyncPolicy > > sync_
Definition: bounding_box_to_rect.h:154
jsk_perception::BoundingBoxToRect::sub_box_
message_filters::Subscriber< jsk_recognition_msgs::BoundingBox > sub_box_
Definition: bounding_box_to_rect.h:151
exact_time.h
jsk_perception::BoundingBoxToRect::inputCallback
virtual void inputCallback(const sensor_msgs::CameraInfo::ConstPtr &info_msg, const jsk_recognition_msgs::BoundingBoxArray::ConstPtr &boxes_msg)
Definition: bounding_box_to_rect.cpp:116
jsk_perception::BoundingBoxToRect::ApproximateSyncPolicy
message_filters::sync_policies::ApproximateTime< sensor_msgs::CameraInfo, jsk_recognition_msgs::BoundingBoxArray > ApproximateSyncPolicy
Definition: bounding_box_to_rect.h:127
jsk_perception::BoundingBoxToRect::unsubscribe
virtual void unsubscribe()
Definition: bounding_box_to_rect.cpp:98
tf::TransformListener
synchronizer.h
approximate_time.h
tf_listener_singleton.h
jsk_perception::BoundingBoxToRect::mutex_
boost::mutex mutex_
Definition: bounding_box_to_rect.h:148
message_filters::sync_policies::ExactTime
jsk_perception::BoundingBoxToRect::async_box_
boost::shared_ptr< message_filters::Synchronizer< ApproximateSyncPolicyBox > > async_box_
Definition: bounding_box_to_rect.h:157
jsk_perception::BoundingBoxToRect::SyncPolicy
message_filters::sync_policies::ExactTime< sensor_msgs::CameraInfo, jsk_recognition_msgs::BoundingBoxArray > SyncPolicy
Definition: bounding_box_to_rect.h:124
jsk_perception::BoundingBoxToRect::frame_id_
std::string frame_id_
Definition: bounding_box_to_rect.h:149
jsk_perception::BoundingBoxToRect::pub_
ros::Publisher pub_
Definition: bounding_box_to_rect.h:163


jsk_perception
Author(s): Manabu Saito, Ryohei Ueda
autogenerated on Fri May 16 2025 03:11:16