camera_base
Task.hpp
Go to the documentation of this file.
1 /* Generated from orogen/lib/orogen/templates/tasks/Task.hpp */
2 
3 
4 #ifndef CAMERA_BASE_TASK_TASK_HPP
5 #define CAMERA_BASE_TASK_TASK_HPP
6 
7 #include "camera_base/TaskBase.hpp"
8 #include "frame_helper/FrameHelper.h"
9 #include "camera_interface/CamInterface.h"
10 
11 namespace camera_base {
12  class Task : public TaskBase
13  {
14  friend class TaskBase;
15 
16  protected:
17  /* Handler for the getDoubleAttrib operation
18  */
19  virtual double getDoubleAttrib(::camera::double_attrib::CamAttrib const & type);
20  /* Handler for the getDoubleRangeMax operation
21  */
22  virtual double getDoubleRangeMax(::camera::double_attrib::CamAttrib const & type);
23  /* Handler for the getDoubleRangeMin operation
24  */
25  virtual double getDoubleRangeMin(::camera::double_attrib::CamAttrib const & type);
26  /* Handler for the getIntAttrib operation
27  */
28  virtual boost::int32_t getIntAttrib(::camera::int_attrib::CamAttrib const & type);
29  /* Handler for the getIntRangeMax operation
30  */
31  virtual boost::int32_t getIntRangeMax(::camera::int_attrib::CamAttrib const & type);
32  /* Handler for the getIntRangeMin operation
33  */
34  virtual boost::int32_t getIntRangeMin(::camera::int_attrib::CamAttrib const & type);
35  /* Handler for the getStringAttrib operation
36  */
37  virtual ::std::string getStringAttrib(::camera::str_attrib::CamAttrib const & type);
38  /* Handler for the isEnumAttribSet operation
39  */
40  virtual bool isEnumAttribSet(::camera::enum_attrib::CamAttrib const & type);
41  /* Handler for the setDoubleAttrib operation
42  */
43  virtual bool setDoubleAttrib(::camera::double_attrib::CamAttrib const & type, double value);
44  /* Handler for the setEnumAttrib operation
45  */
46  virtual bool setEnumAttrib(::camera::enum_attrib::CamAttrib const & type);
47  /* Handler for the setIntAttrib operation
48  */
49  virtual bool setIntAttrib(::camera::int_attrib::CamAttrib const & type, boost::int32_t value);
50  /* Handler for the setStringAttrib operation
51  */
52  virtual bool setStringAttrib(::camera::str_attrib::CamAttrib const & type, ::std::string const & value);
53  /* Callback operation on retrieving a new frame
54  */
55  virtual void onRetrieveNewFrame(base::samples::frame::Frame & frame);
56 
58  virtual bool getFrame();
60  virtual void processImage();
61 
62  protected:
63 
64  camera::CamInterface* cam_interface; //handle to the camera
65  RTT::extras::ReadOnlyPointer<base::samples::frame::Frame> camera_frame;
66  RTT::extras::ReadOnlyPointer<base::samples::frame::Frame> output_frame;
67 
68  bool process_image; //indicates if the frames have to be processed
69  //before they are written to the output port
70  frame_helper::FrameHelper frame_helper; //helper for image processing
71 
72  //variables for a statistical analyse
73  unsigned int invalid_frames_count;
74  unsigned int valid_frames_count;
75 
79  base::Time time_save;
80 
81  virtual bool setExposure(int exposure);
82  virtual bool setExposure_mode(std::string const& value);
83  virtual bool setTarget_gray_value(boost::int32_t value);
84 
85  public:
86  Task(std::string const& name = "camera::Task");
87  Task(std::string const& name, RTT::ExecutionEngine* engine);
88 
89  ~Task();
90 
91  //you have to implement this function for each camera
92  //the function is called before the camera is started
93  virtual bool configureCamera();
94 
95  //if you wish to add extended attributes to the frame
96  //implement this function in your derived class
97  //this function is called after a frame was received from the camera
98  virtual void setExtraAttributes(base::samples::frame::Frame *frame_ptr);
99 
113  bool configureHook();
114 
120  bool startHook();
121 
136  void updateHook();
137 
144  // void errorHook();
145 
149  void stopHook();
150 
155  void cleanupHook();
156  };
157 }
158 
159 #endif
160 
camera::CamInterface * cam_interface
Definition: Task.hpp:64
virtual boost::int32_t getIntRangeMin(::camera::int_attrib::CamAttrib const &type)
Definition: Task.cpp:987
virtual double getDoubleRangeMax(::camera::double_attrib::CamAttrib const &type)
Definition: Task.cpp:1032
~Task()
Definition: Task.cpp:29
virtual bool setEnumAttrib(::camera::enum_attrib::CamAttrib const &type)
Definition: Task.cpp:896
Definition: Task.hpp:12
virtual bool setIntAttrib(::camera::int_attrib::CamAttrib const &type, boost::int32_t value)
Definition: Task.cpp:909
Definition: Preprocess.hpp:9
virtual void setExtraAttributes(base::samples::frame::Frame *frame_ptr)
Definition: Task.cpp:842
RTT::extras::ReadOnlyPointer< base::samples::frame::Frame > output_frame
Definition: Task.hpp:66
unsigned int invalid_frames_count
Definition: Task.hpp:73
virtual double getDoubleRangeMin(::camera::double_attrib::CamAttrib const &type)
Definition: Task.cpp:1017
bool startHook()
Definition: Task.cpp:46
virtual void processImage()
Definition: Task.cpp:137
virtual bool setStringAttrib(::camera::str_attrib::CamAttrib const &type, ::std::string const &value)
Definition: Task.cpp:922
bool configureHook()
Definition: Task.cpp:39
virtual bool setExposure(int exposure)
Definition: Task.cpp:1052
RTT::extras::ReadOnlyPointer< base::samples::frame::Frame > camera_frame
Definition: Task.hpp:65
virtual ::std::string getStringAttrib(::camera::str_attrib::CamAttrib const &type)
Definition: Task.cpp:974
virtual bool setExposure_mode(std::string const &value)
Definition: Task.cpp:1064
void stopHook()
Definition: Task.cpp:218
void updateHook()
Definition: Task.cpp:191
virtual bool setTarget_gray_value(boost::int32_t value)
Definition: Task.cpp:1083
virtual boost::int32_t getIntRangeMax(::camera::int_attrib::CamAttrib const &type)
Definition: Task.cpp:1002
frame_helper::FrameHelper frame_helper
Definition: Task.hpp:70
virtual void onRetrieveNewFrame(base::samples::frame::Frame &frame)
Definition: Task.cpp:1047
virtual boost::int32_t getIntAttrib(::camera::int_attrib::CamAttrib const &type)
Definition: Task.cpp:961
virtual bool getFrame()
Definition: Task.cpp:156
unsigned int valid_frames_count
Definition: Task.hpp:74
virtual bool setDoubleAttrib(::camera::double_attrib::CamAttrib const &type, double value)
Definition: Task.cpp:883
Task(std::string const &name="camera::Task")
Definition: Task.cpp:10
float stat_frame_rate
Definition: Task.hpp:76
bool process_image
Definition: Task.hpp:68
friend class TaskBase
Definition: Task.hpp:14
float stat_invalid_frame_rate
Definition: Task.hpp:77
virtual bool isEnumAttribSet(::camera::enum_attrib::CamAttrib const &type)
Definition: Task.cpp:948
void cleanupHook()
Definition: Task.cpp:235
virtual bool configureCamera()
Definition: Task.cpp:246
float stat_valid_frame_rate
Definition: Task.hpp:78
virtual double getDoubleAttrib(::camera::double_attrib::CamAttrib const &type)
Definition: Task.cpp:935
base::Time time_save
Definition: Task.hpp:79