
Classes | |
| class | ConfigDB |
| class | Configuration |
| class | Arbiter |
| class | Behavior |
| class | EmergencyStop |
| class | Extricate |
| class | Forward |
| class | LaserAvoid |
| class | SpeedArbiter |
| class | TurnArbiter |
| class | CompoundEye |
| class | EMD |
| class | EMD< void * > |
| class | EMD< input_type * > |
| class | IntegrationAlgo |
| class | Particle |
| class | ParticleFilter |
| class | Compositor |
| class | FireWireBus |
| struct | CameraParams |
| Camera parameters "packet". More... | |
| class | Grabber |
| class | ImageSource |
| class | InputSource |
| class | LaserRangeFinder |
| class | Motor |
| class | VideoRecorder |
| class | VideoStream |
| class | FOE |
| class | GabbianiModel |
| class | HornSchunck |
| class | HornSchunckFOE |
| class | HornSchunckMA |
| class | HornSchunckTTI |
| class | MotionAnalyzer |
| class | OpticalFlow |
| class | TTI |
| class | LocustModel |
| class | StaffordModel |
| class | App |
| struct | LoApp |
| class | ModelManagerStarter |
| class | messages |
| class | uhoh |
| struct | missing_libs |
| struct | thread_error |
| struct | bus_error |
| struct | camera_error |
| struct | vstream_error |
| struct | lrf_error |
| struct | motor_error |
| struct | customization_error |
| struct | unknown_model |
| struct | arbiter_error |
| struct | behavior_error |
| struct | misc_error |
| class | Shutdown |
| class | Thread |
| class | GLColor |
| class | UpdateLock |
| struct | min |
| struct | max |
| struct | sum_of_squares |
| class | out_of_range |
| class | dump_pair |
| Function object to dump an std::pair to the given output stream. More... | |
| class | CEDrawable |
| class | Drawable |
| class | GLCanvas |
| class | ImageDrawable |
| class | IntAlgoDrawable |
| struct | LaserViz |
| struct | LaserWindow |
| class | LaserWindowGrid |
| class | LaserWindowMarkings |
| class | LaserWindowRings |
| class | MainWindow |
| class | PFDrawable |
| class | SpikeTrainDrawable |
| typedef PixRGB< byte > | PixelType |
| typedef Image< PixelType > | ImageType |
| std::string | upstring (std::string) |
| String case conversion. | |
| std::string | downstring (std::string s) |
| float | sin (float angle) |
| Trig functions for degrees rather than radians. | |
| float | cos (float angle) |
| double | sin (double angle) |
| double | cos (double angle) |
| float | log (float n) |
| Log functions for base 10. | |
| double | log (double n) |
| float | exp (float n) |
| Exponential functions. | |
| double | exp (double n) |
| template<typename P> | |
| void | delete_first (P &p) |
| Pointer deletion when the pointer is part of an std::pair. | |
| template<typename P> | |
| void | delete_second (P &p) |
| template<typename P> | |
| P::first_type | get_first (const P &p) |
| Functions to retrieve the individual elements of a pair. | |
| template<typename P> | |
| P::second_type | get_second (const P &p) |
| Vector | operator * (float k, const Vector &V) |
| Some quick operators for vectors. | |
| Vector | operator * (const Vector &V, float k) |
| Vector | operator/ (const Vector &V, float k) |
| const ModelOptionCateg | MOC_CONFIG |
| Config file options. | |
| const ModelOptionDef | OPT_ConfigFile |
Typedefs | |
|
typedef std::map< std::string, std::string > | KV |
|
typedef std::map< std::string, KV > | DB |
| typedef std::pair< int, VideoFormat > | GrabMode |
| typedef MotionAnalyzer | MoA |
| typedef HornSchunckFOE::Filter | Filter |
| typedef void(* | RenderCB )(ImageType &, unsigned long) |
| typedef std::pair< RenderCB, unsigned long > | RenderHook |
| typedef std::vector< RenderHook > | RenderHooks |
| typedef Image< float > | GrayImage |
| typedef Point2D< int > | Point |
| A convenient short-cut. | |
| typedef Point2D< float > | Vector |
| typedef Image< Vector > | VectorImage |
Enumerations | |
| enum | { MISSING_PTHREAD = 1, MISSING_LIBDC1394, MISSING_FFMPEG, MISSING_OPENCV, MISSING_OPENGL, MISSING_LIBURG, THREAD_CREATION_FAILURE, MUTEX_INIT_ERROR, RWLOCK_INIT_ERROR, RWLOCK_RDLOCK_FAILED, INIT_PROBLEM, NO_CAMERAS, HIGHEST_NODE, CAMERA_NODES_FREED, BAD_CAMERA_NODE_INDEX, SETUP_FAILED, START_TRANSMISSION_FAILED, MPEG_FILES_NOT_FOUND, NO_VIDEOSTREAM_SOURCE, NO_COMPOSITOR_SOURCES, LRF_CONNECTION_FAILURE, LRF_DATA_RETRIEVAL_FAILURE, NO_LRF_SOURCE, MOTOR_READ_FAILURE, BAD_OPTION, NO_SUCH_CONFIG_FILE, CONFIG_FILE_SYNTAX_ERROR, CONFIG_FILE_MEMORY_ERROR, UNKNOWN_LOCUST_MODEL, UNKNOWN_INTEGRATION_ALGO, UNKNOWN_INTALGO_DRAWABLE, UNKNOWN_OPTICAL_FLOW_ALGO, UNKNOWN_BEHAVIOR, ARBITER_NOT_RUNNING, UNSUPPORTED_TURN_DIRECTION, MOTOR_SYSTEM_MISSING, LASER_RANGE_FINDER_MISSING, NO_INPUT_SOURCE, NOT_ENOUGH_LOCUSTS, PARTICLE_INDEX_OUT_OF_BOUNDS, OPENCV_IMAGE_INIT_ERROR, SIGNALS_MASK_SETUP_FAILURE, SIGWAIT_FAILED } |
Functions | |
| void | dump_section (const DB::value_type &i) |
| template<typename T> | |
| T | get_conf (const std::string §ion, const std::string &key, const T &default_value=T()) |
| template<> | |
| PixelType | get_conf (const std::string §ion, const std::string &key, const PixelType &defval) |
| template<typename T> | |
| range< T > | get_conf (const std::string §ion, const std::string &key, const range< T > &defval=range< T >(T(), T())) |
| template<typename T> | |
| triple< T, T, T > | get_conf (const std::string §ion, const std::string &key, const triple< T, T, T > &defval=make_triple(T(), T(), T())) |
| template<typename T> | |
| T | video_conf (const std::string &key, const T &default_value=T()) |
| Retrieve settings from the video section of the config file. | |
| template<typename T> | |
| T | laser_conf (const std::string &key, const T &default_value=T()) |
| Retrieve settings from the laser section of the config file. | |
| template<typename T> | |
| T | motor_conf (const std::string &key, const T &default_value=T()) |
| Retrieve settings from the motor section of the config file. | |
| template<typename T> | |
| T | optical_flow_conf (const std::string &key, const T &default_value) |
| Retrieve settings from the optical flow section of the config file. | |
| template<typename T> | |
| T | ui_conf (const std::string &key, const T &default_value=T()) |
| Retrieve settings from the ui section of the config file. | |
| template<typename T> | |
| T | global_conf (const std::string &key, const T &default_value=T()) |
| Retrieve settings from the global section of the config file. | |
| template<typename T> | |
| T | internal_conf (const std::string &key, const T &default_value=T()) |
| static void | stop (const std::string &name) |
| template<typename T> | |
| static T | conf (const std::string &key, const T &default_value) |
| static void | extricate (const std::string &name, int turn_angle, int drive_cmd) |
| static double | random_time_to_impact () |
| Particle | operator/ (Particle p, double n) |
| static std::ostream & | operator<< (std::ostream &os, const Particle &p) |
| static bool | all_guns_blazing (const Particle &p) |
| static std::string | dump (const std::list< const LocustModel * > &locusts) |
| static std::string | dump (const Particle &p) |
| static std::string | dump_expected_rates (const Particle &p) |
| static Particle | doctored (const Particle &P, const std::vector< const LocustModel * > locusts) |
| static GrabMode | grab_mode_enums (const Dims &resolution) |
| static int | frame_rate_enum (float frame_rate) |
| static Dims | restrict_grab_size (const Dims &resolution) |
| static int | get_num_cameras () |
| static bool | init_camera (int camera_number, int grab_mode, int frame_rate, dc1394_cameracapture *) |
| static int | setup_capture (const raw1394handle_t &, const nodeid_t &camera, int camera_number, int mode, int frame_rate, dc1394_cameracapture *) |
| static bool | start_transmission (dc1394_cameracapture *) |
| static void | release_camera (dc1394_cameracapture *, int camera_number) |
| static bool | laser_input () |
| static HornSchunckFOE::Filter | create_filter (int w) |
| static float | weight (const Vector &v, float threshold) |
| static float | filter (int x, int y, const VectorImage &I, const Filter &F, float threshold) |
| static Vector | global_flow (const VectorImage &flow_field) |
| static int | dsmd_block_size (int dim, int ideal, int alt) |
| static int | rect_width (const Rectangle &R) |
| static int | rect_height (const Rectangle &R) |
| static Rectangle | compute_horz_dsmd_rect (int i, int block_size, const Rectangle &R) |
| static Rectangle | compute_vert_dsmd_rect (int i, int block_size, const Rectangle &R) |
| static double | membrane_potential (const GrayImage &I, const Rectangle &R) |
| static double | compute_dsmd_potential_R1_current (const GrayImage ¤t, const GrayImage &previous, const Rectangle &R1, const Rectangle &R2) |
| static double | compute_dsmd_potential_R2_current (const GrayImage ¤t, const GrayImage &previous, const Rectangle &R1, const Rectangle &R2) |
| static bool | lateral_motion (double p1, double p2, double threshold) |
| Dims | grab_size () |
| float | grab_rate () |
| bool | recording_enabled () |
| std::string | recording_stem () |
| bool | show_ui () |
| static void | create_video_streams (const Dims &resolution, float frame_rate, LoApp::VideoStreams *V) |
| static void | create_video_recorders (const LoApp::VideoStreams &V, const std::string &mpeg_name_root, LoApp::VideoRecorders *R) |
| static void | create_drawables (const LoApp::Compositor *C, LoApp::Drawables *D) |
| static const char * | error_msg (int code) |
| void | draw_label (float x, float y, const char *label) |
| Draw a text label in a GLUT window. | |
| template<typename T> | |
| int | sign (const T &t) |
| The sign of a number. | |
| template<typename T> | |
| T | abs (const T &t) |
| Absolute value for different numeric types. | |
| template<typename T> | |
| T | clamp (const T &value, const T &min, const T &max) |
| Clamp a given value to the specified range. | |
| template<typename T> | |
| T | clamp (const T &value, const range< T > &range) |
| Quick helper to clamp a given value to the specified range. | |
| template<typename T> | |
| T | clamp_angle (const T &angle) |
| Quick helper to clamp a given angle to lie within 0 and 360 degrees. | |
| template<typename T> | |
| bool | is_zero (const T &t) |
| Check if a floating-point number is near zero. | |
| template<typename T> | |
| int | round (const T &t) |
| Round a floating-point number to the nearest integer. | |
| template<typename T> | |
| T | force_odd (const T &t) |
| Force the supplied number to be an odd number. | |
| template<typename T> | |
| T | force_even (const T &t) |
| Force the supplied number to be an even number. | |
| unsigned long | make_long (int a, int b) |
| Stuff two 16-bit ints into a long. | |
| int | loword (unsigned long L) |
| Extract the lower 16 bits of a long. | |
| int | hiword (unsigned long L) |
| Extract the higher 16 bits of a long. | |
| template<typename T> | |
| std::string | to_string (const T &t) |
| template<typename T> | |
| T | from_string (const std::string &s, const T &defval=T()) |
| template<> | |
| std::string | from_string (const std::string &s, const std::string &) |
| template<typename T> | |
| std::vector< T > | string_to_vector (const std::string &s) |
| Converts a whitespace separated string of T into a vector of T. | |
| template<typename T> | |
| std::list< T > | string_to_list (const std::string &s) |
| Converts a whitespace separated string of T into a list of T. | |
| template<typename P> | |
| void | delete_ptr (P p) |
| template<typename C, typename D> | |
| void | purge_container (C &c, D delete_fn) |
| template<typename C> | |
| void | purge_container (C &c) |
| template<typename C, typename T> | |
| static void | connect (const C &container, T &target) |
| template<typename container> | |
| void | dump (const container &C, const std::string &caller, const std::string &container_name="container") |
| template<typename T> | |
| void | dump (const T *begin, const T *end, const std::string &caller, const std::string &container_name="array") |
| Dump an array of type T given pointers to its first and last elements. | |
| template<typename key_type, typename value_type> | |
| void | dump (const std::map< key_type, value_type > &C, const std::string &caller, const std::string &container_name="container") |
| float | direction (const Vector &v) |
| Return the radial direction of the supplied vector. | |
| float | magnitude (const Vector &v) |
| Return the magnitude of the supplied vector. | |
| Vector | normalized (const Vector &v) |
| Normalize the supplied vector and return the result. | |
| const Vector & | get_vector (const VectorImage &I, int x, int y) |
| From an image of vectors, extract the vector at pixel location (x,y). | |
| static int | spike_width (int max) |
|
|
Although the "raw" input images are usually RGB and are also visualized in color, most image processing algorithms work with gray-scale images. |
|
|
Images captured from the video sources supported by Robolocust will usually have RGB pixels. |
|
|
A convenient short-cut.
|
|
|
All drawables render themselves into an image that then gets blitted to the Robolocust main window. To support the notion of arbitrary overlays on these drawing canvases, each drawable maintains a list of rendering callbacks. Once it's done rendering itself, the drawable object will invoke these callbacks in the order they were defined. Each client module that wishes to take advantage of this overlay rendering capbility must define an appropriate callback function. All such callbacks take two parameters, viz., the underlying image used by the drawable as its canvas and an optional data value specified by the client itself. This type defines a pointer to a function that takes an image as its first argument and the client-specified data value as the second. Definition at line 109 of file LoRenderCB.H. |
|
|
When a client module specifies a rendering callback to a drawable, it has the option of supplying any data it likes to the drawable object. This client data will be passed back to the client when the callback is triggered. The client data is always exchanged between client and drawable as a long. One use, for example, is for the client object to cast its this pointer to a long and have that passed back. This way, a static member function can serve as the callback and the client data can be cast back from long to the client object type and dereferenced to get at member functions and data members. Thus, the drawable will maintain an appropriate client data value for each rendering callback. These two items of data are maintained in this STL pair. Definition at line 126 of file LoRenderCB.H. |
|
|
Every drawable maintains a list of rendering hooks in order to support drawing arbitrary overlays on its canvas. Clients must also specify these hooks using these lists. Definition at line 131 of file LoRenderCB.H. |
|
|
Some parts of Robolocust rely on the notion of a vector (here, we are talking about the mathematical variety, not the container type). Although vectors and points are quite distinct concepts, we simply piggyback off the INVT Point2D implementation for our vectors. Definition at line 68 of file LoVector.H. |
|
|
Some parts of Robolocust need the notion of a collection of vectors arranged in a 2D grid, i.e., an image of vectors. Definition at line 108 of file LoVector.H. |
|
||||||||||
|
Absolute value for different numeric types.
Definition at line 83 of file LoUtils.H. Referenced by lobot::LaserWindowMarkings::set_maximum(). |
|
||||||||||||||||
|
Quick helper to clamp a given value to the specified range.
Definition at line 101 of file LoUtils.H. References clamp(). |
|
||||||||||||||||||||
|
Clamp a given value to the specified range.
Definition at line 90 of file LoUtils.H. Referenced by clamp(), lobot::GLColor::GLColor(), normalizeWithScale(), spike_width(), and lobot::LocustModel::update_lgmd(). |
|
||||||||||
|
Quick helper to clamp a given angle to lie within 0 and 360 degrees.
|
|
||||||||||||||||
|
||||||||||
|
Pointer deletion when the pointer is part of an std::pair.
|
|
||||||||||
|
Pointer deletion (useful in conjunction with STL algorithms and containers). WARNING: P must be a pointer type (e.g., int* rather than int). |
|
|
Return the radial direction of the supplied vector.
Definition at line 89 of file LoVector.H. References Point2D< T >::i, and Point2D< T >::j. Referenced by filter(), and findDirection(). |
|
||||||||||||||||
|
Draw a text label in a GLUT window.
|
|
||||||||||||||||||||
|
The earlier version of the dump() function for dumping containers will only work with containers of built-in/standard types such as vector<int>, list<float>, etc. because it uses std::ostream_iterator, which, annoyingly enough, doesn't work with user-defined types. Therefore, the earlier dump() function won't dump std::map containers (because their value type is an std::pair). We work around this problem by providing this overloaded version of dump() especially for std::maps. Definition at line 438 of file LoUtils.H. References LERROR. |
|
||||||||||||||||||||||||
|
Dump an array of type T given pointers to its first and last elements.
Definition at line 410 of file LoUtils.H. References dump(). |
|
||||||||||||||||||||
|
Debugging support: dump an STL container using LERROR DEVNOTE: Mostly suitable for small containers, e.g., vector of 10 numbers or something like that. Definition at line 396 of file LoUtils.H. References LERROR. |
|
|
Exponential functions.
|
|
||||||||||
|
Force the supplied number to be an even number.
|
|
||||||||||
|
Force the supplied number to be an odd number.
|
|
||||||||||||||||
|
from_string() specialization for strings. If the client wants a string from the input string, we just return the input string. If we were to apply the default version of this template function, we would end up parsing the input string as a whitespace separated string stream and only return the first string from this stream. |
|
||||||||||||||||
|
Read from string. As above, works as long as type T defines an operator >> that reads from an istream. Definition at line 228 of file LoUtils.H. References t. |
|
||||||||||||||||||||
|
Convenience routine to return a triple from the specified section of the config file. Definition at line 309 of file LoConfig.H. |
|
||||||||||||||||||||
|
Convenience routine to return a range<T> from the specified section of the config file. Definition at line 296 of file LoConfig.H. References Dlist::range(). |
|
||||||||||||||||||||
|
A convenience routine to return an RGB color from the specified section of the config file. Definition at line 284 of file LoConfig.H. References PixRGB< T >::blue(), color, PixRGB< T >::green(), and PixRGB< T >::red(). |
|
||||||||||||||||||||
|
A convenience routine to allow clients to not have to type the whole Configuration::get call... Definition at line 275 of file LoConfig.H. |
|
||||||||||
|
Functions to retrieve the individual elements of a pair.
|
|
||||||||||||||||
|
From an image of vectors, extract the vector at pixel location (x,y).
Definition at line 111 of file LoVector.H. References Image< T >::getVal(). Referenced by filter(). |
|
||||||||||||||||
|
Retrieve settings from the global section of the config file.
Definition at line 355 of file LoConfig.H. |
|
|
Extract the higher 16 bits of a long.
Definition at line 156 of file LoUtils.H. References loword(). |
|
||||||||||||||||
|
Retrieve settings from the secret internal section of the configuration database. Definition at line 363 of file LoConfig.H. References LOCD_INTERNAL. |
|
||||||||||
|
Check if a floating-point number is near zero.
Definition at line 116 of file LoUtils.H. Referenced by operator/(). |
|
||||||||||||||||
|
Retrieve settings from the laser section of the config file.
Definition at line 327 of file LoConfig.H. |
|
|
Log functions for base 10.
|
|
|
Extract the lower 16 bits of a long.
Definition at line 150 of file LoUtils.H. Referenced by hiword(). |
|
|
Return the magnitude of the supplied vector.
Definition at line 95 of file LoVector.H. References Point2D< T >::i, and Point2D< T >::j. Referenced by normalized(). |
|
||||||||||||
|
Stuff two 16-bit ints into a long.
|
|
||||||||||||||||
|
Retrieve settings from the motor section of the config file.
Definition at line 334 of file LoConfig.H. |
|
|
Normalize the supplied vector and return the result.
Definition at line 101 of file LoVector.H. References magnitude(). |
|
||||||||||||
|
Some quick operators for vectors.
Definition at line 72 of file LoVector.H. References Point2D< T >::i, and Point2D< T >::j. Referenced by operator *(), and operator/(). |
|
||||||||||||||||
|
Retrieve settings from the optical flow section of the config file.
Definition at line 341 of file LoConfig.H. |
|
||||||||||
|
Releasing an STL container of pointers using the delete_ptr function. C: container type WARNING: C *must* be an STL container or provide an equivalent begin/end iterator interface and value_type typedef. This function would typically be used to clean-up a containers such as std::vector<int*> or other such containers of pointers. In this case, value_type would be int*. Definition at line 327 of file LoUtils.H. References purge_container(). |
|
||||||||||||||||
|
Releasing an STL container of pointers using a specific delete function (useful in cases of std::maps). C: container type D: delete function object type WARNING: C *must* be an STL container or *must* provide an equivalent begin/end iterator interface. This function would typically be used to clean-up maps. For example, an std::map<int, int*>. In this case, we cannot use delete_ptr<int*> directly because the map iterators point to std::pair objects whose first member is the key (int in this case) and whose second member is the value (int* in this case). Thus, we need to supply an appropriate delete function. In this case, that function would be delete_second<std::pair<int, int*>>. Definition at line 312 of file LoUtils.H. Referenced by purge_container(), and lobot::LoApp::~LoApp(). |
|
||||||||||
|
||||||||||
|
The sign of a number.
Definition at line 76 of file LoUtils.H. Referenced by Pixels_xx_math_functions_xx_39(). |
|
|
||||||||||
|
Converts a whitespace separated string of T into a list of T.
|
|
||||||||||
|
Converts a whitespace separated string of T into a vector of T.
|
|
||||||||||
|
Convenient (but perhaps not the most efficient) helper to convert various data types to strings. DEVNOTE: Works as long as type T defines an operator << that writes to an ostream. Definition at line 218 of file LoUtils.H. Referenced by create_video_recorders(). |
|
||||||||||||||||
|
Retrieve settings from the ui section of the config file.
Definition at line 348 of file LoConfig.H. Referenced by show_ui(), and spike_width(). |
|
|
String case conversion.
Definition at line 70 of file LoUtils.C. References transform(). |
|
||||||||||||||||
|
Retrieve settings from the video section of the config file.
Definition at line 320 of file LoConfig.H. Referenced by grab_rate(). |
|
|
Initial value: {
MOC_SORTPRI_2, "Controlling Lobot config file parameters"
}
Definition at line 53 of file LoCommonOpts.C. |
|
|
Initial value: {
MODOPT_ARG_STRING, "ConfigFile", & MOC_CONFIG, OPTEXP_CORE,
"This option specifies the configuration file that contains various\n"
"tweaks and settings that different parts of the Robolocust programs\n"
"use.\n",
"config-file", '\0', "config-file-name",
LOBOT_DEFAULT_CONFIG_FILE_NAME,
}
Definition at line 57 of file LoCommonOpts.C. Referenced by lobot::LoApp::parse_command_line(). |
1.4.4