'''Vision''' actual branch
'''Merging''' in changes from trunk between 2082 and 2083 to the vision_refactor branch
'''Vision''' updates to Camera and RedLight detector
 * OpenCVCamera updated to follow interface of the Camera class, fixed all clients
 * Updated RedLightDetector so that it can be run with images and not cameras, currently it is tested.
 * Calibration turned off with the OpenCVCamera 
'''Vision''' created Detector base class
'''Core''' fixed broken await with a timeout
'''Vision''' fixed broken OpenCVImage::copyFrom
'''Vision''' Created Detector base class, redid VisionRunner/System
 * Created Detector base class and updated the RedLightDetector to subclass it
 * The VisionRunner was rewritten to support running of a group of Detectors with a given camera.
 * The Camera class was updated to support timed waits.
 * Added test of OpenCVImage copyFrom bug fix 
'''Vision''' Added and tested RedLightDetector events
 * The RedLightDetector now posts events for finding and losing the red light
 * Added a range estimation to the red light detector based on the horizontal field of view, image width, and size of the red light blob
 * Updated Radian and Degree classes with ostream << operators for use in CHECK_EQUALs statements
'''Vision''' removed old code, basic optimization for RedLightDetector
 * Removed 1000 lines of dead code from main.cpp
 * Dropped old test.cpp program which used it
'''Vision''' Cleaned up includes tested VisionSystem
 * Every file updated here should have clean includes, ie. only includes what it actually needs
 * VisionSystem has been fixed and tested, now it just needs to be wrapped
 * Deleted the old files which existed to mesh the vision system and python
'''Vision''' Added image saving/loading utility functions
 * Image saving and loading from are not static Image class functions
 * Fixed OpenCVImage::copyFrom using cvResize where it was not needed
 * Added an OpenCVImage constructor to create an image from a given buffer
'''Vision''' switched the VisionSystem to using shared_ptr's for the Cameras
'''Wrapping & Vision''' Fixed VisionSystem wrapping added Camera and Image classes
 * Camera and Image classes are wrapped at the minimum level needed to interoperate with the VisionSystem
 * This means you can create Images from unsigned char* buffers, and feed images to a mock type camera.  This is so we can send simulated images into the vision system
 * This was used with and image loaded from file to ensure that the VisionSystem's events were indeed getting to the outside world
'''Vision & Wrappers''' updated wrapping of Image::loadFromBuffer
 * It was updated for use from python, now takes the address as an unsigned long, instead of a pointer, you can use ctypes.addressof(X) to get an address to pass
 * Marked the function as assuming PF_BGR
'''Core''' event conversion now works properly with events of type core::Event
'''Build System''' fixed broken variant builds
 * Remove automatic setting of LIB and SHLIB suffixes, now set manually inside the build system
'''Vision''' Integration of live images from the Sim and Vision is complete
 * The sim now has 2 vision systems "Ideal" which just look up bouy positions and calculates the needed parameter and the other.  The other adds a forward camera to the vehicle, makes it render to a texture, and then sends those images to the vision system.
 * This is quite processor intensive, but it works (and I have a reason for Quad Core machine)
'''Vision''' switch to_ratios to fixed point, twice as fast as it use to be
'''Build System''' Added "unsafe_fast" build variant
 * This is the -O3 level of optimziatoin.  Its quite fast, but it can break code so its not used by default.
'''Vision & OCI''' fixed redLightDetector, allowed vision with OCI
 * Copied vision view panel to OCI
 * Fixed redLightDetector angle (was double what it should of been)
 * Disabled depth changes with the TargetSeek motion
 * Fixed bug in vision::Camera and the latch
 * Created vision test config file which includes the vision system
 * packages/python/ram/hack.py contains some helpers from the vision 
dive, allows basic light tracking