ProsilicaNode Class Reference

List of all members.

Public Member Functions

void attributeTest (diagnostic_updater::DiagnosticStatusWrapper &status)
void configure (Config &config, uint32_t level)
void frameStatistics (diagnostic_updater::DiagnosticStatusWrapper &status)
void freqStatus (diagnostic_updater::DiagnosticStatusWrapper &status)
void imageTest (diagnostic_updater::DiagnosticStatusWrapper &status)
void infoTest (diagnostic_updater::DiagnosticStatusWrapper &status)
void loadIntrinsics ()
void normalizeCallback (tPvFrame *frame)
void normalizeExposure ()
void packetErrorStatus (diagnostic_updater::DiagnosticStatusWrapper &status)
void packetStatistics (diagnostic_updater::DiagnosticStatusWrapper &status)
void pollCallback (polled_camera::GetPolledImage::Request &req, polled_camera::GetPolledImage::Response &rsp, sensor_msgs::Image &image, sensor_msgs::CameraInfo &info)
bool processFrame (tPvFrame *frame, sensor_msgs::Image &img, sensor_msgs::CameraInfo &cam_info)
 ProsilicaNode (const ros::NodeHandle &node_handle)
void publishImage (tPvFrame *frame)
void runDiagnostics ()
bool setCameraInfo (sensor_msgs::SetCameraInfo::Request &req, sensor_msgs::SetCameraInfo::Response &rsp)
void start ()
void stop ()
void syncInCallback (const std_msgs::HeaderConstPtr &msg)
 ~ProsilicaNode ()

Static Public Member Functions

static bool frameToImage (tPvFrame *frame, sensor_msgs::Image &image)

Private Types

typedef
prosilica_camera::ProsilicaCameraConfig 
Config
typedef
dynamic_reconfigure::Server
< Config
ReconfigureServer

Private Attributes

boost::scoped_ptr
< prosilica::Camera
cam_
sensor_msgs::CameraInfo cam_info_
int consecutive_stable_exposures_
int count_
double desired_freq_
diagnostic_updater::Updater diagnostic_
ros::Timer diagnostic_timer_
RollingSum< unsigned long > frames_completed_acc_
unsigned long frames_completed_total_
RollingSum< unsigned long > frames_dropped_acc_
unsigned long frames_dropped_total_
std::string hw_id_
sensor_msgs::Image img_
image_transport::ImageTransport it_
unsigned long last_exposure_value_
tPvUint32 max_binning_x_
tPvUint32 max_binning_y_
unsigned long max_data_rate_
ros::NodeHandle nh_
RollingSum< unsigned long > packets_missed_acc_
unsigned long packets_missed_total_
RollingSum< unsigned long > packets_received_acc_
unsigned long packets_received_total_
polled_camera::PublicationServer poll_srv_
ReconfigureServer reconfigure_server_
bool running_
boost::shared_ptr
< self_test::TestRunner > 
self_test_
tPvUint32 sensor_height_
tPvUint32 sensor_width_
ros::ServiceServer set_camera_info_srv_
image_transport::CameraPublisher streaming_pub_
ros::Time trig_time_
std::string trig_timestamp_topic_
prosilica::FrameStartTriggerMode trigger_mode_
ros::Subscriber trigger_sub_

Static Private Attributes

static const int WINDOW_SIZE = 5

Detailed Description

Todo:
Only stream when subscribed to

Definition at line 67 of file prosilica_node.cpp.


Member Typedef Documentation

Definition at line 91 of file prosilica_node.cpp.

typedef dynamic_reconfigure::Server<Config> ProsilicaNode::ReconfigureServer [private]

Definition at line 92 of file prosilica_node.cpp.


Constructor & Destructor Documentation

ProsilicaNode::ProsilicaNode ( const ros::NodeHandle &  node_handle  )  [inline]

Definition at line 113 of file prosilica_node.cpp.

ProsilicaNode::~ProsilicaNode (  )  [inline]

Definition at line 307 of file prosilica_node.cpp.


Member Function Documentation

void ProsilicaNode::attributeTest ( diagnostic_updater::DiagnosticStatusWrapper &  status  )  [inline]

Definition at line 780 of file prosilica_node.cpp.

void ProsilicaNode::configure ( Config config,
uint32_t  level 
) [inline]

Todo:
Tighter bound than this minimal check
Todo:
Replicating logic from polledCallback
Todo:
If exception thrown due to bad settings, will fail to start camera

Definition at line 194 of file prosilica_node.cpp.

void ProsilicaNode::frameStatistics ( diagnostic_updater::DiagnosticStatusWrapper &  status  )  [inline]

Definition at line 628 of file prosilica_node.cpp.

static bool ProsilicaNode::frameToImage ( tPvFrame *  frame,
sensor_msgs::Image &  image 
) [inline, static]

Definition at line 419 of file prosilica_node.cpp.

void ProsilicaNode::freqStatus ( diagnostic_updater::DiagnosticStatusWrapper &  status  )  [inline]

Definition at line 608 of file prosilica_node.cpp.

void ProsilicaNode::imageTest ( diagnostic_updater::DiagnosticStatusWrapper &  status  )  [inline]

Definition at line 809 of file prosilica_node.cpp.

void ProsilicaNode::infoTest ( diagnostic_updater::DiagnosticStatusWrapper &  status  )  [inline]

Definition at line 762 of file prosilica_node.cpp.

void ProsilicaNode::loadIntrinsics (  )  [inline]

Definition at line 499 of file prosilica_node.cpp.

void ProsilicaNode::normalizeCallback ( tPvFrame *  frame  )  [inline]

Definition at line 567 of file prosilica_node.cpp.

void ProsilicaNode::normalizeExposure (  )  [inline]

Todo:
assert(stopped)
Todo:
thread safety

Definition at line 581 of file prosilica_node.cpp.

void ProsilicaNode::packetErrorStatus ( diagnostic_updater::DiagnosticStatusWrapper &  status  )  [inline]

Definition at line 743 of file prosilica_node.cpp.

void ProsilicaNode::packetStatistics ( diagnostic_updater::DiagnosticStatusWrapper &  status  )  [inline]

Todo:
Something that doesn't oscillate

Definition at line 667 of file prosilica_node.cpp.

void ProsilicaNode::pollCallback ( polled_camera::GetPolledImage::Request &  req,
polled_camera::GetPolledImage::Response &  rsp,
sensor_msgs::Image &  image,
sensor_msgs::CameraInfo &  info 
) [inline]

Todo:
Would be nice if grab() gave more info

Definition at line 358 of file prosilica_node.cpp.

bool ProsilicaNode::processFrame ( tPvFrame *  frame,
sensor_msgs::Image &  img,
sensor_msgs::CameraInfo &  cam_info 
) [inline]

Todo:
Better trigger timestamp matching
Todo:
Match time stamp from frame to ROS time?
Todo:
Binning values retrieved here may differ from the ones used to actually capture the frame! Maybe need to clear queue when changing binning and/or stuff binning values into context?

Definition at line 453 of file prosilica_node.cpp.

void ProsilicaNode::publishImage ( tPvFrame *  frame  )  [inline]

Definition at line 493 of file prosilica_node.cpp.

void ProsilicaNode::runDiagnostics (  )  [inline]

Definition at line 602 of file prosilica_node.cpp.

bool ProsilicaNode::setCameraInfo ( sensor_msgs::SetCameraInfo::Request &  req,
sensor_msgs::SetCameraInfo::Response &  rsp 
) [inline]

Definition at line 513 of file prosilica_node.cpp.

void ProsilicaNode::start (  )  [inline]
Todo:
add the setting of output sync1 and sync2?

Definition at line 322 of file prosilica_node.cpp.

void ProsilicaNode::stop (  )  [inline]

Definition at line 346 of file prosilica_node.cpp.

void ProsilicaNode::syncInCallback ( const std_msgs::HeaderConstPtr &  msg  )  [inline]

Todo:
Replace this with robust trigger matching

Definition at line 314 of file prosilica_node.cpp.


Member Data Documentation

boost::scoped_ptr<prosilica::Camera> ProsilicaNode::cam_ [private]

Definition at line 75 of file prosilica_node.cpp.

sensor_msgs::CameraInfo ProsilicaNode::cam_info_ [private]

Definition at line 88 of file prosilica_node.cpp.

Definition at line 110 of file prosilica_node.cpp.

int ProsilicaNode::count_ [private]

Definition at line 100 of file prosilica_node.cpp.

double ProsilicaNode::desired_freq_ [private]

Definition at line 101 of file prosilica_node.cpp.

diagnostic_updater::Updater ProsilicaNode::diagnostic_ [private]

Definition at line 98 of file prosilica_node.cpp.

ros::Timer ProsilicaNode::diagnostic_timer_ [private]

Definition at line 96 of file prosilica_node.cpp.

Definition at line 104 of file prosilica_node.cpp.

unsigned long ProsilicaNode::frames_completed_total_ [private]

Definition at line 103 of file prosilica_node.cpp.

Definition at line 104 of file prosilica_node.cpp.

unsigned long ProsilicaNode::frames_dropped_total_ [private]

Definition at line 103 of file prosilica_node.cpp.

std::string ProsilicaNode::hw_id_ [private]

Definition at line 99 of file prosilica_node.cpp.

sensor_msgs::Image ProsilicaNode::img_ [private]

Definition at line 87 of file prosilica_node.cpp.

image_transport::ImageTransport ProsilicaNode::it_ [private]

Definition at line 68 of file prosilica_node.cpp.

unsigned long ProsilicaNode::last_exposure_value_ [private]

Definition at line 109 of file prosilica_node.cpp.

tPvUint32 ProsilicaNode::max_binning_x_ [private]

Definition at line 80 of file prosilica_node.cpp.

tPvUint32 ProsilicaNode::max_binning_y_ [private]

Definition at line 80 of file prosilica_node.cpp.

unsigned long ProsilicaNode::max_data_rate_ [private]

Definition at line 78 of file prosilica_node.cpp.

ros::NodeHandle ProsilicaNode::nh_ [private]

Definition at line 67 of file prosilica_node.cpp.

Definition at line 106 of file prosilica_node.cpp.

unsigned long ProsilicaNode::packets_missed_total_ [private]

Definition at line 105 of file prosilica_node.cpp.

Definition at line 106 of file prosilica_node.cpp.

unsigned long ProsilicaNode::packets_received_total_ [private]

Definition at line 105 of file prosilica_node.cpp.

polled_camera::PublicationServer ProsilicaNode::poll_srv_ [private]

Definition at line 70 of file prosilica_node.cpp.

Definition at line 93 of file prosilica_node.cpp.

bool ProsilicaNode::running_ [private]
Todo:
Make this property of Camera

Definition at line 77 of file prosilica_node.cpp.

boost::shared_ptr<self_test::TestRunner> ProsilicaNode::self_test_ [private]

Definition at line 97 of file prosilica_node.cpp.

tPvUint32 ProsilicaNode::sensor_height_ [private]

Definition at line 79 of file prosilica_node.cpp.

tPvUint32 ProsilicaNode::sensor_width_ [private]

Definition at line 79 of file prosilica_node.cpp.

ros::ServiceServer ProsilicaNode::set_camera_info_srv_ [private]

Definition at line 71 of file prosilica_node.cpp.

image_transport::CameraPublisher ProsilicaNode::streaming_pub_ [private]

Definition at line 69 of file prosilica_node.cpp.

ros::Time ProsilicaNode::trig_time_ [private]

Definition at line 84 of file prosilica_node.cpp.

std::string ProsilicaNode::trig_timestamp_topic_ [private]

Definition at line 83 of file prosilica_node.cpp.

Definition at line 76 of file prosilica_node.cpp.

ros::Subscriber ProsilicaNode::trigger_sub_ [private]

Definition at line 72 of file prosilica_node.cpp.

const int ProsilicaNode::WINDOW_SIZE = 5 [static, private]

Definition at line 102 of file prosilica_node.cpp.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


prosilica_camera
Author(s): Patrick Mihelich
autogenerated on Fri Jan 11 09:55:11 2013