Skip to content

pcl-1.7.2

Compare
Choose a tag to compare
@taketwo taketwo released this 10 Sep 21:43
· 5349 commits to master since this release

We are proud to announce the new PCL version 1.7.2. This release incorporates more than 300 pull requests merged during the last eleven months. Together with dozens of bug fixes it brings support for VTK6 and OpenNI 2.

The most notable changes are:

  • Added support for VTK6
    [#363]
  • Removed Google Test from the source tree and added it as a system dependency
    [#731]
  • Added support for QHull 2012 on non-Debian platforms
    [#852]

libpcl_common:

  • Added BearingAngleImage class
    [#198]
  • Added pcl::CPPFSignature point type
    [#296]
  • Added getRGBAVector4i(), getBGRVector3cMap(), and getBGRAVector4cMap()
    to all point types containing RGB/RGBA fields
    [#450]
  • Added a family of "has field" functions to check presence of a particular
    field in a point type both at compile- and run-time
    [#462]
  • Added a function to copy data between points of different types
    [#465]
  • Added test macros for equality/nearness checks
    [#499]
  • Added descriptorSize() to all point types with descriptors
    [#531]
  • Added possibility to copy a cloud inside another one while interpolating
    borders
    [#567]
  • Added a function to determine the point of intersection of three non-parallel
    planes
    [#571]
  • Fixed a bug in HSV to RGB color conversion
    [#581]
  • Added a new CentroidPoint class
    [#586]
  • Templated intersection computation functions on scalar type
    [#646]
  • Templated functions in 'eigen.h' on scalar type
    [#660]
  • Added functions to transform points, vectors, lines, etc.
    [#660]

libpcl_features:

  • Added a simple implementation of CPPF using normalised HSV values in the
    feature vector
    [#296]
  • Added MomentOfInertiaEstimation and ROPSEstimation features
    [#319]
  • Fixed a problem in OURCVFHEstimation::computeRFAndShapeDistribution()
    [#738]
  • Fixed undefined behavior in OURCVFHEstimation::computeFeature()
    [#811]
  • Fixed memory corruption error in OUR-CVFH
    [#875]

libpcl_filters:

  • Added a function to set the minimum number of points required for a voxel to
    be used in VoxelGrid
    [#434]
  • Added GridMinimum filter
    [#520]
  • Added a morphological filter that operates on Z dimension
    [#533]
  • Added progressive morphological filter to extract ground returns
    [#574]
  • Added a filter to remove locally maximal points in the z dimension
    [#577]
  • Added an approximate version of the progressive morphological filter
    [#665]
  • Added ModelOutlierRemoval class that filters points in a cloud based on the
    distance between model and point
    [#702]

libpcl_io:

  • Added experimental version of an OpenNI 2.x grabber
    [#276]
    [#843]
  • Added support for IFS file format
    [#354]
    [#356]
  • Added possibility to load PCLPointCloud2 from OBJ files
    [#363]
  • Fixed loading and saving of PLY files
    [#510]
    [#579]
  • Fixed race conditions in PCDGrabber
    [#582]
  • Fixed multi openni grabber buffer corruption
    [#845]
  • Fixed incompatibility with Boost 1.56 in LZFImageWriter
    [#867]
  • Fixed a bug in PLYReader which lead to deformation of point clouds when
    displayed in CloudViewer or PCLVisualizer
    [#879]

libpcl_kdtree:

  • Fixed double memory free bug in KdTreeFLANN
    [#618]

libpcl_keypoints:

  • Added a method Keypoint::getKeypointsIndices ()
    [#318]
  • Added keypoints based on Trajkovic and Hedley operator (2D and 3D versions)
    [#409]

libpcl_octree:

  • Fixed a bug in OctreePointCloudAdjacency::computeNeighbors()
    [#455]
  • Accelerated OctreePointCloudAdjacency building by disabling dynamic key
    resizing
    [#332]
  • Fixed a bug with infinite points in OctreePointCloudAdjacency
    [#723]

libpcl_people:

  • Added a possibility to define a transformation matrix for people tracker
    [#606]

libpcl_recognition:

  • Allow PCL to be built against a system-wide installed metslib
    [#299]
  • Fixed a bug in ObjRecRANSAC::addModel()
    [#269]
  • Added LINEMOD::loadTemplates() (useful for object recognition systems that
    store templates for different objects in different files)
    [#358]

libpcl_registration:

  • Fixed SampleConsensusInitialAlignment::hasConverged()
    [#339]
  • Added JointIterativeClosestPoint
    [#344]
  • Made correspondence rejectors to actually work with ICP
    [#419]
  • Added GeneralizedIterativeClosestPoint6D that integrates Lab color space
    information into the GICP algorithm
    [#491]
  • Fixed bugs and optimized SampleConsensusPrerejective
    [#741]
  • Fixed a bug in TransformationEstimationSVDScale
    [#885]

libpcl_sample_consensus:

  • Unified SampleConsensusModelNormalParallelPlane with
    SampleConsensusModelNormalPlane to avoid code duplication
    [#696]

libpcl_search:

  • search::KdTree can now be used with different KdTree implementations
    [#81]
  • Added a new interface to FLANN's multiple randomized trees for
    high-dimensional (feature) searches
    [#435]
  • Fixed a bug in the Ptr typdef in KdTree
    [#820]

libpcl_segmentation:

  • Added GrabCut segmentation and a show-case application for 2D
    [#330]
  • Updated RegionGrowingRGB::assembleRegion() to speed up the algorithm
    [#538]
  • Fixed a bug with missing point infinity test in RegionGrowing
    [#617]
  • Fixed alignment issue in SupervoxelClustering
    [#625]
  • Added a curvature parameter to Region3D class
    [#653]
  • Fixed a minor bug in OrganizedConnectedComponentSegmentation
    [#802]

libpcl_surface:

  • Fixed a bug in EarClipping where computation failed if all vertices have
    the same x or y component
    [#130]
  • Added support for unequal focal lengths along different axes in texture
    mapping
    [#352]
  • Speeded up bilateral upsampling
    [#689]
  • Reduced space usage in MovingLeastSquares
    [#785]

libpcl_tracking:

  • Fixed Hue distance calculation in tracking HSVColorCoherence
    [#390]
  • Added pyramidal KLT tracking
    [#587]

libpcl_visualization:

  • Added a new color handler PointCloudColorHandlerRGBAField that takes into
    account alpha channel
    [#306]
  • Fixed PCLVisualizer crashes on OS X
    [#384]
  • Added possibility to display texture on polygon meshes
    [#400]
  • Added ability to add and remove several coordinate systems
    [#401]
  • Added ImageViewer::markPoints()
    [#439]
  • Added setWindowPosition() and setWindowName() to PCLPlotter
    [#457]
  • Changed camera parameters display to be more user-friendly
    [#544]
  • Added PCLVisualizer::updateCoordinateSystemPose()
    [#569]
  • Fixed display of non-triangular meshes in PCLVisualizer
    [#686]
  • Added a capability to save and restore camera view in PCLVisualizer
    [#703]
  • Added PCLVisualizer::getShapeActorMap() function
    [#725]
  • Fixed undefined behavior when drawing axis in PCLVisualizer
    [#762]
  • Fixed HSV to RGB conversion in PointCloudColorHandlerHSVField
    [#772]
  • Fixed non-working key presses in visualization GUIs on Mac OS X systems
    [#795]
  • Fixed a bug in PCLVisualizer::addCube()
    [#846]
  • Fixed a bug in cone visualization and added possibility to set cone length
    [#881]

PCL Tools:

  • Added a simple tool to compute Hausdorff distance between two point clouds
    [#519]
  • Updated pcl_viewer to use RGB color handler as default
    [#556]
  • Added a morphological tool pcl_morph to apply dilate/erode/open/close
    operations on the Z dimension
    [#572]
  • Added a tool pcl_generate to generate random clouds
    [#599]
  • Added a tool pcl_grid_min to find grid minimums
    [#603]
  • Added a tool pcl_local_max to filter out local maxima
    [#604]
  • Added optional depth image input to pcl_png2pcd converter
    [#680]
  • Fixed memory size calculation in pcl_openni_pcd_recorder
    [#676]
  • Added device ID parameter to pcl_openni_pcd_recorder
    [#673]
  • Added automatic camera reset on startup in pcl_viewer
    [#693]
  • Added a capability to save and restore camera view in pcl_viewer
    [#703]
  • Updated pcl_pcd2png tool to be able to paint pixels corresponding to
    infinite points with black. Added Glasbey lookup table to paint labels with
    a fixed set of highly distinctive colors.
    [#767]
  • Added pcl_obj2pcd tool
    [#816]

PCL Apps:

  • Fixed disappearing cloud from selection in Cloud Composer
    [#814]