ICL 6.10.0 Released

The new version of ICL comes up with several for RGBD mapping a new dependency tracking system and experimental support for Debian package creation. In addition several GUI-related issues have been solved and improved.
Added by Christof Elbrechter over 12 years ago

New General Features

  • added Box-Plots upport to the PlotWidget
  • applied some major changes to the default image visualization widget
  • added fullscreen mode for single widget and an extra blue button for fullscreen (F11 works as well)
  • added tooltips to the tiny blue widget buttons
  • added tooltip to GUI compoenents (use @tooltip=text in your GUI definition)
  • improved Kinect RGBD-Calibration tools
  • replaced (wrong) homography based RGBD mapping with a more sophisticated projective geometry based mapping
  • the new mapping works very well and seems to be comparable to the (unknown) open-NI RGBD-calibration method
  • added performance optimizations (point-cloud creation + rgbd mappings takes less then 5ms)
  • added a new SceneObject class called RGBDImageSceneObject (which will later use the already existent PointcloudSceneObject internally, but it will provide a much simpler and configurable interface)
  • added triangle based rendering to the RGBDImageSceneObject class (quite slow still)
  • added depthmap smoothing for better RGBD mapping
  • added automatic IR-image shift to the Kinect grabber (which compensates for the hardware offset)
  • added a new tool called icl-configurable-info, which can be used to list and inspect the properties of all classes that implement the Configurable-interface
  • added a generic RANSAC implementation + demo-application for shape fitting
  • moved ICLCore/Random.h to ICLUtils/Random.h
  • added generic framework for direct least square model fitting (which was actually part of ICL some year ago in the ICLMEx package)
  • extended the Scene's offscreen rendering method, so that it can also render the depth-buffer to simulate Kinect data
  • added trylock to the Thread and Mutex class
  • PylonGrabber based GIG-E camera support
  • merged the development branch back to the trunk
  • several optimizations and fixes
  • added support for all image depth in the LocalThresholdOp class
  • added new UnaryOp class that creates a color distance map: ColorDistanceOp

Important Changes to the Build System

  • added (still experimental) support for building .deb packages using CMake /CPack
  • try by using the debian-package.cfg configuration script. In the resulting build/debian-package/ directory, you can type 'cpack -G DEB' to create a debian package)
  • completly re-implemented the dependeny tracking CMake code
  • applied several fixes for linux-kernel 3.x support
  • compiled ICL (with most dependencies) under Ubuntu 12.04 (beta1)
  • in particular fixed the missing reference to pthread_atfork by finding out, that Intel IPP 6.1's libiomp is not compatible to the newest glibc. Instead, we now just suggest to use libiomp5.so from Intel IPP 7.0 (update 6) the new version of libiomp5 is already placed in our /vol/nivision/share/IPP/6.1/sharedlib directory

New Functions and Small Changes

  • added SceneObject::clearAllPrimitives function
  • added style presets to the PlotWidget class
  • improved gui-component parsing now, the component string can also contains angular braces
  • added linestrip and grid annotations to the PlotWidget class
  • reimplemented the ICLWidget's histogram widget by using the new 2D PlotWidget
  • accellerated 8u-histogram creation significantly
  • added Color to the Common.h header
  • added utlitiy method that allows for installing mouse-handler function directly to DataStore::Data instances
  • added text(string,point) method to draw widget
  • added new constructor to the UnaryCompare op, that allows for defining the comparison operation type as string (e.g. "<=")

Bug Fixes and internal changes

  • fixed bug in Pylon Grabbers
  • the documentation does now also show the icl-version number
  • fixed GLImg::getColor(x,y)
  • moved ProximityOp compilation into the HAVE_IPP section
  • extended makefile system to only build a subset of examples