Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
opencv_apps::WatershedSegmentationNodelet Class Reference
Inheritance diagram for opencv_apps::WatershedSegmentationNodelet:
Inheritance graph
[legend]

Public Member Functions

virtual void onInit ()
 Initialize nodehandles nh_ and pnh_. Subclass should call this method in its onInit method. More...
 
- Public Member Functions inherited from opencv_apps::Nodelet
 Nodelet ()
 
- Public Member Functions inherited from nodelet::Nodelet
void init (const std::string &name, const M_string &remapping_args, const V_string &my_argv, ros::CallbackQueueInterface *st_queue=NULL, ros::CallbackQueueInterface *mt_queue=NULL)
 
 Nodelet ()
 
virtual ~Nodelet ()
 

Private Types

typedef opencv_apps::WatershedSegmentationConfig Config
 
typedef dynamic_reconfigure::Server< ConfigReconfigureServer
 

Private Member Functions

void addSeedPointCb (const opencv_apps::Point2DArray &msg)
 
void doWork (const sensor_msgs::ImageConstPtr &msg, const std::string &input_frame_from_msg)
 
const std::string & frameWithDefault (const std::string &frame, const std::string &image_frame)
 
void imageCallback (const sensor_msgs::ImageConstPtr &msg)
 
void imageCallbackWithInfo (const sensor_msgs::ImageConstPtr &msg, const sensor_msgs::CameraInfoConstPtr &cam_info)
 
void reconfigureCallback (opencv_apps::WatershedSegmentationConfig &new_config, uint32_t level)
 
void subscribe ()
 This method is called when publisher is subscribed by other nodes. Set up subscribers in this method. More...
 
void unsubscribe ()
 This method is called when publisher is unsubscribed by other nodes. Shut down subscribers in this method. More...
 

Static Private Member Functions

static void onMouse (int event, int x, int y, int flags, void *)
 
static void trackbarCallback (int, void *)
 

Private Attributes

ros::Subscriber add_seed_points_sub_
 
image_transport::CameraSubscriber cam_sub_
 
Config config_
 
bool debug_view_
 
cv::Mat img_gray
 
image_transport::Publisher img_pub_
 
image_transport::Subscriber img_sub_
 
boost::shared_ptr< image_transport::ImageTransportit_
 
cv::Mat markerMask
 
ros::Publisher msg_pub_
 
ros::Time prev_stamp_
 
cv::Point prevPt
 
int queue_size_
 
boost::shared_ptr< ReconfigureServerreconfigure_server_
 
std::string segment_name_
 
std::string window_name_
 

Static Private Attributes

static bool need_config_update_ = false
 
static int on_mouse_event_ = 0
 
static int on_mouse_flags_ = 0
 
static bool on_mouse_update_ = false
 
static int on_mouse_x_ = 0
 
static int on_mouse_y_ = 0
 

Additional Inherited Members

- Protected Member Functions inherited from opencv_apps::Nodelet
template<class T >
ros::Publisher advertise (ros::NodeHandle &nh, std::string topic, int queue_size)
 Advertise a topic and watch the publisher. Publishers which are created by this method. It automatically reads latch boolean parameter from nh and publish topic with appropriate latch parameter. More...
 
image_transport::CameraPublisher advertiseCamera (ros::NodeHandle &nh, const std::string &topic, int queue_size)
 Advertise an image topic camera info topic and watch the publisher. Publishers which are created by this method. It automatically reads latch boolean parameter from nh and it and publish topic with appropriate latch parameter. More...
 
image_transport::Publisher advertiseImage (ros::NodeHandle &nh, const std::string &topic, int queue_size)
 Advertise an image topic and watch the publisher. Publishers which are created by this method. It automatically reads latch boolean parameter from nh and it and publish topic with appropriate latch parameter. More...
 
virtual void cameraConnectionBaseCallback ()
 callback function which is called when new subscriber come for camera image publisher or camera info publisher. This function is called from cameraConnectionCallback or cameraInfoConnectionCallback. More...
 
virtual void cameraConnectionCallback (const image_transport::SingleSubscriberPublisher &pub)
 callback function which is called when new subscriber come for camera image publisher More...
 
virtual void cameraInfoConnectionCallback (const ros::SingleSubscriberPublisher &pub)
 callback function which is called when new subscriber come for camera info publisher More...
 
virtual void connectionCallback (const ros::SingleSubscriberPublisher &pub)
 callback function which is called when new subscriber come More...
 
virtual void imageConnectionCallback (const image_transport::SingleSubscriberPublisher &pub)
 callback function which is called when new subscriber come for image publisher More...
 
virtual void onInitPostProcess ()
 Post processing of initialization of nodelet. You need to call this method in order to use always_subscribe feature. More...
 
virtual void warnNeverSubscribedCallback (const ros::WallTimerEvent &event)
 callback function which is called when walltimer duration run out. More...
 
- Protected Member Functions inherited from nodelet::Nodelet
ros::CallbackQueueInterfacegetMTCallbackQueue () const
 
ros::NodeHandlegetMTNodeHandle () const
 
ros::NodeHandlegetMTPrivateNodeHandle () const
 
const V_stringgetMyArgv () const
 
const std::string & getName () const
 
ros::NodeHandlegetNodeHandle () const
 
ros::NodeHandlegetPrivateNodeHandle () const
 
const M_stringgetRemappingArgs () const
 
ros::CallbackQueueInterfacegetSTCallbackQueue () const
 
std::string getSuffixedName (const std::string &suffix) const
 
- Protected Attributes inherited from opencv_apps::Nodelet
bool always_subscribe_
 A flag to disable watching mechanism and always subscribe input topics. It can be specified via ~always_subscribe parameter. More...
 
std::vector< image_transport::CameraPublishercamera_publishers_
 List of watching camera publishers. More...
 
boost::mutex connection_mutex_
 mutex to call subscribe() and unsubscribe() in critical section. More...
 
ConnectionStatus connection_status_
 Status of connection. More...
 
bool ever_subscribed_
 A flag to check if the node has been ever subscribed or not. More...
 
std::vector< image_transport::Publisherimage_publishers_
 List of watching image publishers. More...
 
boost::shared_ptr< ros::NodeHandlenh_
 Shared pointer to nodehandle. More...
 
boost::shared_ptr< ros::NodeHandlepnh_
 Shared pointer to private nodehandle. More...
 
std::vector< ros::Publisherpublishers_
 List of watching publishers. More...
 
bool subscribed_
 A flag to check if any publisher is already subscribed or not. More...
 
ros::WallTimer timer_
 WallTimer instance for warning about no connection. More...
 
bool verbose_connection_
 true if ~verbose_connection or verbose_connection parameter is true. More...
 

Detailed Description

Definition at line 90 of file watershed_segmentation_nodelet.cpp.

Member Typedef Documentation

◆ Config

typedef opencv_apps::WatershedSegmentationConfig opencv_apps::WatershedSegmentationNodelet::Config
private

Definition at line 132 of file watershed_segmentation_nodelet.cpp.

◆ ReconfigureServer

typedef dynamic_reconfigure::Server<Config> opencv_apps::WatershedSegmentationNodelet::ReconfigureServer
private

Definition at line 133 of file watershed_segmentation_nodelet.cpp.

Member Function Documentation

◆ addSeedPointCb()

void opencv_apps::WatershedSegmentationNodelet::addSeedPointCb ( const opencv_apps::Point2DArray &  msg)
inlineprivate

Definition at line 344 of file watershed_segmentation_nodelet.cpp.

◆ doWork()

void opencv_apps::WatershedSegmentationNodelet::doWork ( const sensor_msgs::ImageConstPtr &  msg,
const std::string &  input_frame_from_msg 
)
inlineprivate

Initialize

Definition at line 188 of file watershed_segmentation_nodelet.cpp.

◆ frameWithDefault()

const std::string& opencv_apps::WatershedSegmentationNodelet::frameWithDefault ( const std::string &  frame,
const std::string &  image_frame 
)
inlineprivate

Definition at line 166 of file watershed_segmentation_nodelet.cpp.

◆ imageCallback()

void opencv_apps::WatershedSegmentationNodelet::imageCallback ( const sensor_msgs::ImageConstPtr &  msg)
inlineprivate

Definition at line 178 of file watershed_segmentation_nodelet.cpp.

◆ imageCallbackWithInfo()

void opencv_apps::WatershedSegmentationNodelet::imageCallbackWithInfo ( const sensor_msgs::ImageConstPtr &  msg,
const sensor_msgs::CameraInfoConstPtr &  cam_info 
)
inlineprivate

Definition at line 173 of file watershed_segmentation_nodelet.cpp.

◆ onInit()

virtual void opencv_apps::WatershedSegmentationNodelet::onInit ( )
inlinevirtual

Initialize nodehandles nh_ and pnh_. Subclass should call this method in its onInit method.

Reimplemented from opencv_apps::Nodelet.

Reimplemented in watershed_segmentation::WatershedSegmentationNodelet.

Definition at line 378 of file watershed_segmentation_nodelet.cpp.

◆ onMouse()

static void opencv_apps::WatershedSegmentationNodelet::onMouse ( int  event,
int  x,
int  y,
int  flags,
void *   
)
inlinestaticprivate

Definition at line 152 of file watershed_segmentation_nodelet.cpp.

◆ reconfigureCallback()

void opencv_apps::WatershedSegmentationNodelet::reconfigureCallback ( opencv_apps::WatershedSegmentationConfig &  new_config,
uint32_t  level 
)
inlineprivate

Definition at line 161 of file watershed_segmentation_nodelet.cpp.

◆ subscribe()

void opencv_apps::WatershedSegmentationNodelet::subscribe ( )
inlineprivatevirtual

This method is called when publisher is subscribed by other nodes. Set up subscribers in this method.

Implements opencv_apps::Nodelet.

Definition at line 361 of file watershed_segmentation_nodelet.cpp.

◆ trackbarCallback()

static void opencv_apps::WatershedSegmentationNodelet::trackbarCallback ( int  ,
void *   
)
inlinestaticprivate

Definition at line 183 of file watershed_segmentation_nodelet.cpp.

◆ unsubscribe()

void opencv_apps::WatershedSegmentationNodelet::unsubscribe ( )
inlineprivatevirtual

This method is called when publisher is unsubscribed by other nodes. Shut down subscribers in this method.

Implements opencv_apps::Nodelet.

Definition at line 370 of file watershed_segmentation_nodelet.cpp.

Member Data Documentation

◆ add_seed_points_sub_

ros::Subscriber opencv_apps::WatershedSegmentationNodelet::add_seed_points_sub_
private

Definition at line 128 of file watershed_segmentation_nodelet.cpp.

◆ cam_sub_

image_transport::CameraSubscriber opencv_apps::WatershedSegmentationNodelet::cam_sub_
private

Definition at line 126 of file watershed_segmentation_nodelet.cpp.

◆ config_

Config opencv_apps::WatershedSegmentationNodelet::config_
private

Definition at line 134 of file watershed_segmentation_nodelet.cpp.

◆ debug_view_

bool opencv_apps::WatershedSegmentationNodelet::debug_view_
private

Definition at line 138 of file watershed_segmentation_nodelet.cpp.

◆ img_gray

cv::Mat opencv_apps::WatershedSegmentationNodelet::img_gray
private

Definition at line 149 of file watershed_segmentation_nodelet.cpp.

◆ img_pub_

image_transport::Publisher opencv_apps::WatershedSegmentationNodelet::img_pub_
private

Definition at line 124 of file watershed_segmentation_nodelet.cpp.

◆ img_sub_

image_transport::Subscriber opencv_apps::WatershedSegmentationNodelet::img_sub_
private

Definition at line 125 of file watershed_segmentation_nodelet.cpp.

◆ it_

boost::shared_ptr<image_transport::ImageTransport> opencv_apps::WatershedSegmentationNodelet::it_
private

Definition at line 130 of file watershed_segmentation_nodelet.cpp.

◆ markerMask

cv::Mat opencv_apps::WatershedSegmentationNodelet::markerMask
private

Definition at line 149 of file watershed_segmentation_nodelet.cpp.

◆ msg_pub_

ros::Publisher opencv_apps::WatershedSegmentationNodelet::msg_pub_
private

Definition at line 127 of file watershed_segmentation_nodelet.cpp.

◆ need_config_update_

bool opencv_apps::WatershedSegmentationNodelet::need_config_update_ = false
staticprivate

Definition at line 142 of file watershed_segmentation_nodelet.cpp.

◆ on_mouse_event_

int opencv_apps::WatershedSegmentationNodelet::on_mouse_event_ = 0
staticprivate

Definition at line 144 of file watershed_segmentation_nodelet.cpp.

◆ on_mouse_flags_

int opencv_apps::WatershedSegmentationNodelet::on_mouse_flags_ = 0
staticprivate

Definition at line 147 of file watershed_segmentation_nodelet.cpp.

◆ on_mouse_update_

bool opencv_apps::WatershedSegmentationNodelet::on_mouse_update_ = false
staticprivate

Definition at line 143 of file watershed_segmentation_nodelet.cpp.

◆ on_mouse_x_

int opencv_apps::WatershedSegmentationNodelet::on_mouse_x_ = 0
staticprivate

Definition at line 145 of file watershed_segmentation_nodelet.cpp.

◆ on_mouse_y_

int opencv_apps::WatershedSegmentationNodelet::on_mouse_y_ = 0
staticprivate

Definition at line 146 of file watershed_segmentation_nodelet.cpp.

◆ prev_stamp_

ros::Time opencv_apps::WatershedSegmentationNodelet::prev_stamp_
private

Definition at line 139 of file watershed_segmentation_nodelet.cpp.

◆ prevPt

cv::Point opencv_apps::WatershedSegmentationNodelet::prevPt
private

Definition at line 150 of file watershed_segmentation_nodelet.cpp.

◆ queue_size_

int opencv_apps::WatershedSegmentationNodelet::queue_size_
private

Definition at line 137 of file watershed_segmentation_nodelet.cpp.

◆ reconfigure_server_

boost::shared_ptr<ReconfigureServer> opencv_apps::WatershedSegmentationNodelet::reconfigure_server_
private

Definition at line 135 of file watershed_segmentation_nodelet.cpp.

◆ segment_name_

std::string opencv_apps::WatershedSegmentationNodelet::segment_name_
private

Definition at line 141 of file watershed_segmentation_nodelet.cpp.

◆ window_name_

std::string opencv_apps::WatershedSegmentationNodelet::window_name_
private

Definition at line 141 of file watershed_segmentation_nodelet.cpp.


The documentation for this class was generated from the following file:


opencv_apps
Author(s): Kei Okada
autogenerated on Fri May 23 2025 02:49:49