pcl-1.7.2
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()
, andgetBGRAVector4cMap()
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
andROPSEstimation
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 inVoxelGrid
[#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 inCloudViewer
orPCLVisualizer
[#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 inKdTree
[#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()
andsetWindowName()
toPCLPlotter
[#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]