include
jsk_perception
multiply_mask_image.h
Go to the documentation of this file.
1
// -*- mode: c++ -*-
2
/*********************************************************************
3
* Software License Agreement (BSD License)
4
*
5
* Copyright (c) 2015, 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_MULTIPLY_MASK_IMAGE_H_
38
#define JSK_PERCEPTION_MULTIPLY_MASK_IMAGE_H_
39
40
#include <jsk_topic_tools/diagnostic_nodelet.h>
41
#include <sensor_msgs/Image.h>
42
43
#include <
message_filters/subscriber.h
>
44
#include <
message_filters/synchronizer.h
>
45
#include <
message_filters/sync_policies/exact_time.h
>
46
#include <
message_filters/sync_policies/approximate_time.h
>
47
48
namespace
jsk_perception
49
{
50
class
MultiplyMaskImage:
public
jsk_topic_tools::DiagnosticNodelet
51
{
52
public
:
53
typedef
message_filters::sync_policies::ExactTime
<
54
sensor_msgs::Image,
55
sensor_msgs::Image >
SyncPolicy
;
56
typedef
message_filters::sync_policies::ApproximateTime
<
57
sensor_msgs::Image,
58
sensor_msgs::Image >
ApproxSyncPolicy
;
59
60
MultiplyMaskImage
(): DiagnosticNodelet(
"MultiplyMaskImage"
) {}
61
virtual
~MultiplyMaskImage
();
62
protected
:
63
virtual
void
onInit
();
64
virtual
void
subscribe
();
65
virtual
void
unsubscribe
();
66
virtual
void
multiply
(
67
const
sensor_msgs::Image::ConstPtr& src1_msg,
68
const
sensor_msgs::Image::ConstPtr& src2_msg);
69
70
bool
approximate_sync_
;
71
int
queue_size_
;
72
ros::Publisher
pub_
;
73
message_filters::Subscriber<sensor_msgs::Image>
sub_src1_
;
74
message_filters::Subscriber<sensor_msgs::Image>
sub_src2_
;
75
boost::shared_ptr<message_filters::Synchronizer<SyncPolicy>
>
sync_
;
76
boost::shared_ptr<message_filters::Synchronizer<ApproxSyncPolicy>
>
async_
;
77
private
:
78
79
};
80
}
81
82
#endif
jsk_perception::MultiplyMaskImage::ApproxSyncPolicy
message_filters::sync_policies::ApproximateTime< sensor_msgs::Image, sensor_msgs::Image > ApproxSyncPolicy
Definition:
multiply_mask_image.h:122
jsk_perception::MultiplyMaskImage::sub_src2_
message_filters::Subscriber< sensor_msgs::Image > sub_src2_
Definition:
multiply_mask_image.h:138
ros::Publisher
jsk_perception::MultiplyMaskImage::onInit
virtual void onInit()
Definition:
multiply_mask_image.cpp:77
boost::shared_ptr
jsk_perception::MultiplyMaskImage::subscribe
virtual void subscribe()
Definition:
multiply_mask_image.cpp:99
jsk_perception::MultiplyMaskImage::unsubscribe
virtual void unsubscribe()
Definition:
multiply_mask_image.cpp:117
jsk_perception::MultiplyMaskImage::MultiplyMaskImage
MultiplyMaskImage()
Definition:
multiply_mask_image.h:124
jsk_perception::MultiplyMaskImage::async_
boost::shared_ptr< message_filters::Synchronizer< ApproxSyncPolicy > > async_
Definition:
multiply_mask_image.h:140
jsk_perception::MultiplyMaskImage::queue_size_
int queue_size_
Definition:
multiply_mask_image.h:135
jsk_perception::MultiplyMaskImage::approximate_sync_
bool approximate_sync_
Definition:
multiply_mask_image.h:134
jsk_perception::MultiplyMaskImage::sub_src1_
message_filters::Subscriber< sensor_msgs::Image > sub_src1_
Definition:
multiply_mask_image.h:137
message_filters::Subscriber< sensor_msgs::Image >
jsk_perception::MultiplyMaskImage::multiply
virtual void multiply(const sensor_msgs::Image::ConstPtr &src1_msg, const sensor_msgs::Image::ConstPtr &src2_msg)
Definition:
multiply_mask_image.cpp:123
jsk_perception::MultiplyMaskImage::SyncPolicy
message_filters::sync_policies::ExactTime< sensor_msgs::Image, sensor_msgs::Image > SyncPolicy
Definition:
multiply_mask_image.h:119
jsk_perception
Definition:
add_mask_image.h:48
message_filters::sync_policies::ApproximateTime
jsk_perception::MultiplyMaskImage::pub_
ros::Publisher pub_
Definition:
multiply_mask_image.h:136
subscriber.h
exact_time.h
jsk_perception::MultiplyMaskImage::~MultiplyMaskImage
virtual ~MultiplyMaskImage()
Definition:
multiply_mask_image.cpp:87
synchronizer.h
approximate_time.h
message_filters::sync_policies::ExactTime
jsk_perception::MultiplyMaskImage::sync_
boost::shared_ptr< message_filters::Synchronizer< SyncPolicy > > sync_
Definition:
multiply_mask_image.h:139
jsk_perception
Author(s): Manabu Saito, Ryohei Ueda
autogenerated on Fri May 16 2025 03:11:17