All Versions
64
Latest Version
Avg Release Cycle
124 days
Latest Release
-

Changelog History
Page 2

  • v1.8.1.rc2

    July 18, 2017
  • v1.8.1.rc1

    July 02, 2017
  • v1.8.0 Changes

    June 15, 2016
    • โž• Added missing Eigen::aligned_allocator in vectors and maps that contain vectorizable Eigen where appropriate [#1034] [#1052] [#1068] [#1182] [#1497]
    • ๐Ÿ›  Fixed compilation errors/warning when compiling in C++11 mode [#1179]
    • โž• Added a configuration option to choose between Qt4 and Qt5; the default is changed to be Qt5 [#1217]
    • ๐Ÿ‘Œ Improved compatibility with recent Eigen versions [#1261] [#1298] [#1316] [#1369]
    • โž• Added support for VTK compiled with OpenGL2 backend (was introduced in VTK 6.3, became default in VTK 7.0) [#1534]

    libpcl_common:

    • Added copy_all_fields option to the family of transformPointCloudXXX() functions [#805]
    • โž• Added a color lookup table consisting of 256 colors structured in a maximally discontinuous manner (Glasbey colors) [#849]
    • โž• Added a helper class EventFrequency to measure frequency of a certain event [#850]
    • โž• Added a new UniqueShapeContext1960 point type [#856]
    • โž• Added a function transformPointWithNormal() [#908]
    • ๐Ÿ›  Fixed index-out-of-range error in copyPointCloud() for empty clouds [#933]
    • ๐Ÿ›  Fixed errors when compiling library with Boost 1.56 and Qt4 [#938]
    • Created a new point type PointXYZLNormal with position, normal, and label fields [#962]
    • Created a new point type PointDEM to represent Digital Elevation Maps [#1021]
    • ๐Ÿ›  Fixed angle convexity calculation for parallel and anti-parallel normals, where a rounding error occasionally caused NaN angles in getAngle3D() [#1035]
    • ๐Ÿ›  Fixed undefined behavior when using multiple instances of TimeTrigger [#1074]
    • ๐Ÿ›  Fixed starvation bug in TimeTrigger on Windows with Boost < 1.55 [#1086]
    • โœ‚ Removed unnecessary mutex locking in TimeTrigger::registerCallback [#1087]
    • โšก๏ธ Updated PCL exception types to have nothrow copy constructor and copy assignment operator [#1119]
    • ๐Ÿ›  Fixed a bug with PCA not triggering recomputation when input indices are changed [#1167]
    • โž• Added missing XYZ coordinate copying in PointXYZRGBAtoXYZHSV and PointXYZRGBtoXYZHSV conversion functions [#1273]
    • โž• Added const qualifiers where appropriate in point type conversion functions [#1274]
    • ๐Ÿ›  Fixed assignment operator in PCA [#1328]
    • โž• Added PointWithRange to the list of core point types [#1352]
    • ๐Ÿ›  Fixed a bug in getMaxDistance() (this affected computation of OUR-CVFH features) [#1449]
    • โž• Added operator== to PCLHeader class [#1508]

    libpcl_features:

    • ๐Ÿ›  Fixed default parameters of the USC descriptor to match the values proposed in the original paper [#856]
    • ๐Ÿ›  Fixed the L1 normalization of the ROPSEstimation feature [#993]
    • ๐Ÿ›  Fixed default angle step in ROPSEstimation [#1000]
    • ๐Ÿ›  Fixed a bug in CRHEstimation where internal spatial data vector was not zero-initialized [#1151]
    • โšก๏ธ Updated NormalEstimation to mark cloud as non-dense when normal computation fails [#1239]
    • โž• Added new functions to compute approximate surface normals on a mesh and approximate covariance matrices [#1262]
    • ๐Ÿ›  Fixed histogram computation in computePointPFHRGBSignature() [#1331]
    • ๐Ÿ›  Fixed wrong erasing order in feature cache in PFHEstimation [#1335]

    libpcl_filters:

    • ๐Ÿ‘Œ Improved RadiusOutlierRemoval performance by using nearest-K search when the input point cloud is dense [#709]
    • ๐Ÿ›  Fixed the signature of BoxClipper3D::clipPlanarPolygon3D() [#911]
    • โšก๏ธ Updated base Filter class to allow using same point cloud as input and output (effective for every filtering algorithm) [#1042]
    • ๐Ÿ‘Œ Improved CropBox performance by caching the result of transform matrix identity test [#1210]
    • โšก๏ธ Updated PassThrough filter to write a user-supplied value in place of bad points [#1290]
    • ๐Ÿ›  Fixed handling of color fields in VoxelGrid centroid computation [#1415]
    • โšก๏ธ Updated ExtractIndices (for PCLPointCloud2 cloud type) to respect keep_organized_ flag [#1462]
    • ๐Ÿ›  Fixed OpenMP support on MSVC in Convolution3D [#1527]
    • ๐Ÿ›  BugFix: Filters used applyFilter twice. [#1572]

    libpcl_gpu:

    • โž• Added a function hasShifted() in KinFu large scale [#944]
    • ๐Ÿ›  Fixed empty "View3D" window bug when using registration mode with -pcd flag in KinFu app [#1018]
    • ๐Ÿ›  Fixed uninitialized loop variable in PeoplePCDApp::convertProbToRGB() [#1104]
    • ๐Ÿ›  Fixed compilation errors in gpu_people [#1194]
    • Fixed compilation error in kinfu_large_scale with CUDA โ‰ฅ 6.0 [#1225]
    • Fixed volume size computation in kinfu_large_scale [#1233]
    • Fixed sporadical out-of-bounds memory accesses in kinfu_large_scale kernels [#1263]
    • Fixed plot_camera_poses.m script in KinFu project [#1311]
    • ๐Ÿ›  Fixed runtime exceptions related to --viz flag in KinFu
    • ๐Ÿ›  Fix compilation on Mac OSX [#1586]

    libpcl_io:

    • โž• Added a grabber for IDS Imaging Ensenso devices [#888]
    • โšก๏ธ Updated RobotEyeGrabber class to handle new packet format [#982]
    • ๐Ÿ›  Fixed focal length computation in OpenNI2Grabber [#992]
    • โšก๏ธ Updated OpenNIGrabber to use depth camera parameters instead of color camera parameters for point reprojection [#994]
    • Made PCD reader case insensitive with respect to nan/NaN/NAN values [#1004]
    • โž• Added support for saving normal and curvature fields in savePLYFile and savePLYFileBinary [#1057] [#1058]
    • ๐Ÿ›  Fixed alpha value of bad points in OpenNIGrabber [#1090]
    • ๐Ÿ›  Fixed a bug in OpenNIGrabber destructor where wrong callback handle was unregistered [#1094]
    • ๐Ÿ›  Fixed a bug in PCDGrabber destructor [#1127]
    • ๐Ÿ›  Fixed point coordinate computation in HDLGrabber [#1130]
    • ๐Ÿ‘Œ Improved the PLY parser to work around some issues on Mac OSX [#1165]
    • โž• Added a family of data buffer classes useful for temporal filtering in grabbers [#1212]
    • โž• Added a grabber for davidSDK devices [#1216]
    • โž• Added a grabber and viewer for DepthSense SDK devices [#1230]
    • ๐Ÿ›  Fixed stride computation and alpha values in OpenNI2Grabber::convertToXYZRGBPointCloud() [#1248]
    • ๐Ÿ”„ Changed type and semantics of return values in polygon saving functions based on VTK [#1279]
    • ๐Ÿšš Moved implementations of pcl::io::load() and pcl::io::save() to a new file "io/auto_io.h" [#1294]
    • Fixed compilation of OpenNI2Grabber on msvc14 [#1310]
    • โž• Added a callback signal for the filename of grabbed PCD file in PCDGrabber [#1354]
    • โž• Added support for both 'CRLF' and 'LF' line endings in PLY reader [#1370]
    • โšก๏ธ Updated OpenNI2 grabber to support devices without color stream [#1372]
    • โšก๏ธ Updated PCDWriter to not fail when the filesystem does not support setting file permissions [#1374]
    • ๐Ÿ›  Fixed a bug in MTLReader reading function [#1380]
    • โœ‚ Removed PXCGrabber (superseded by DepthSenseGrabber) [#1395]
    • โž• Added a grabber and viewer for RealSense SDK devices [#1401]
    • โšก๏ธ Updated loadPLYFile() to support NaN values [#1433]
    • ๐Ÿ›  Fixed parsing of char and uchar scalars in PLY files [#1443]
    • ๐Ÿ›  Fixed ASCII file support in savePolygonFile* functions [#1445]
    • โž• Added a grabber and viewer for Velodyne VLP [#1452]
    • ๐Ÿ›  Fix compilation when WITH_VTK=OFF [#1585]

    libpcl_keypoints:

    • ๐Ÿ›  Fixed invalid array allocation in ISSKeypoint3D [#1022]
    • โœ‚ Removed superfluous parameter in 'TrajkovicKeypoint3D::getNormals()' [#1096]
    • ๐Ÿšš Moved UniformSampling to the filters module [#1411]
    • ๐Ÿ›  Fixed OpenMP support in HarrisKeypoint2D [#1501]
    • โšก๏ธ Updated SIFTKeypoint to preserve point cloud viewpoint [#1508]

    libpcl_octree:

    • โž• Added const qualifiers in OctreePointCloud::getVoxelBounds() [#1016]
    • โšก๏ธ Updated Octree iterator to use unsigned longs in key computations to reduce chance of overflows [#1297]
    • Fixed compilation of OctreePointCloudOccupancy on gcc [#1461]

    libpcl_outofcore:

    • ๐Ÿ›  Fixed compilation errors with C++11 standard [#1386]

    libpcl_people:

    • ๐Ÿ›  Fixed undefined behavior in HOG (use new/delete consistently) [#1099]

    libpcl_recognition:

    • ๐Ÿ›  Fixed multiple includes in recognition module [#1109] [#1110]
    • ๐Ÿ›  Fixed "index out of bounds" error in LineRGBD::refineDetectionsAlongDepth() [#1117]
    • ๐Ÿ›  Fixed a memory leak in LINEMOD::detectTemplatesSemiScaleInvariant() [#1184]

    libpcl_registration:

    • Updated GeneralizedIterativeClosestPoint to return transformed input point cloud after alignment [#887]
    • ๐Ÿ›  Fixed a problem with multiple definition of setInputFeatureCloud and nearestNeighborSearch symbols in PPFRegistration [#891] [#907]
    • โž• Added an implementation of the algorithm "4-Points Congruent Sets for Robust Surface Registration" [#976]
    • โž• Added an implementation of the algorithm "Keypoint-based 4-Points Congruent Sets โ€“ Automated marker-less registration of laser scans" [#979]
    • ๐Ÿ›  Fixed compilation of pcl_registration module with MSVC2010 [#1014]
    • โœ‚ Removed wrong error normalization in SampleConsensusPrerejective [#1037]
    • โž• Added a new IncrementalRegistration class that allows to register a stream of clouds where each cloud is aligned to the previous cloud [#1202] [#1451]
    • ๐Ÿ›  Fixed a wrong typedef for KdTreeReciprocalPtr [#1204]
    • โž• Added support for externally computed covariance matrices in GeneralizedIterativeClosestPoint [#1262]
    • ๐Ÿ›  Fixed initialization of source and target covariances in GeneralizedIterativeClosestPoint6D [#1304]
    • โž• Added a new MetaRegistration class that allows to register a stream of clouds where each cloud is aligned to the conglomerate of all previous clouds [#1426]
    • ๐Ÿ›  Fixed segmentation fault occurring in CorrespondenceRejectorSurfaceNormal [#1536]
    • ๐Ÿ‘‰ Use aligned allocator in vectors of MatchingCandidate [#1552]

    libpcl_sample_consensus:

    • Fixed behavior of SACMODEL_PARALLEL_LINE to match the name (instead of searching for lines perpendicular to a given axis) [#969]
    • โž• Added getClassName() function to all SAC models [#1071]
    • ๐Ÿ‘Œ Improved performance of SampleConsensusModel::computeVariance() by up to 10 times [#1285]
    • ๐Ÿ›  Fixed assignment operators for SacModelCone and SacModelCylinder [#1299]
    • ๐Ÿ”จ Refactored SAC models to store expected model and sample sizes in a protected member field; this deprecated SAC_SAMPLE_SIZE map [#1367] [#1396]

    libpcl_search:

    • ๐Ÿ›  Fixed potential segfault in OrganizedNeighbor::estimateProjectionMatrix() [#1176]

    libpcl_segmentation:

    • โž• Added implementation of LCCP segmentation algorithm [#718] [#1287] [#1389]
    • Made SupervoxelClustering fully deterministic and made some internal refactoring [#912]
    • ๐Ÿšš Moved specializations of OctreePointCloudAdjacency::VoxelData class from header to implementation files [#919]
    • ๐Ÿ—„ Deprecated SupervoxelClustering::getColoredCloud() [#941]
    • ๐Ÿ›  Fixed a regression in ExtractPolygonalPrismData; both explicitly and implicitly closed polygons are supported again [#1044]
    • โž• Added an overload of setConditionFunction() in ConditionalEuclideanClustering that takes boost::function [#1050]
    • โšก๏ธ Updated SupervoxelClustering to use the depth dependent transform by default only if the input cloud is organized; added a function to force use of the transform, and removed corresponding parameter from the constructor [#1115]
    • Substituted hard-coded label point type with template parameter in OrganizedConnectedComponentSegmentation [#1264]
    • โž• Added an implementation of supervoxel graph partitioning algorithm described in "Constrained Planar Cuts - Object Partitioning for Point Clouds" [#1278]
    • ๐Ÿ›  Fixed crashes in ApproximateProgressiveMorphologicalFilter in the case of non-default cell size [#1293]
    • ๐Ÿ›  Fixed a bug in RegionGrowing::validatePoint() [#1327]
    • ๐Ÿ›  Fixed return value of SupervoxelClustering::getSeedResolution() [#1339]

    libpcl_stereo:

    • โž• Added a new DisparityMapConverter class for converting disparity maps into point clouds [#1021]
    • โž• Added a new DigitalElevationMapBuilder class for building Digital Elevation Maps from disparity maps [#1021]

    libpcl_surface:

    • โšก๏ธ Updated TextureMapping to not use hard-coded point types [#929]
    • โž• Added a new function getHullPointIndices in concave and convex hull classes to retrieve indices of points that form the computed hull [#1213]
    • โž• Added several functions and parameters to the OrganizedFastMesh class [#1262]
    • โž• Added missing PCL_EXPORTS attributes for OpenNURBS classes [#1315]
    • ๐Ÿ›  Fixed memory leak in MeshSmoothingLaplacianVTK [#1424]

    libpcl_tracking:

    • ๐Ÿ‘Œ Improved OMP 2.0 compatibility of PyramidalKLTTracker [#1214] [#1223]
    • ๐Ÿ›  Fixed occasional segfault in KLDAdaptiveParticleFilterOMPTracker [#1392]

    libpcl_visualization:

    • โž• Added a new PointCloudColorHandler for "label" field [#849]
    • ๐Ÿ›  Fixed setSize() and setPosition() functions in PCLVisualizer [#923]
    • ๐Ÿ›  Fixed an issue with PCLVisualizer producing empty screenshots on some system configurations [#956]
    • โž• Added a new function removeAllCoordinateSystems() in PCLVisualizer [#965]
    • Made PCLVisualizer::addPointCloudPrincipalCurvatures() templated on point and normal type [#965]
    • ๐Ÿ›  Fixed a minor bug in PCLVisualizer::updatePolygonMesh() [#977]
    • ๐Ÿ›  Fixed a minor bug in ImageViewer::addMask() [#990]
    • ๐Ÿ›  Fixed opacity handling in ImageViewer [#995]
    • ๐Ÿ›  Fixed a bug with ImageViewer not displaying anything with VTK 6 [#1009]
    • โšก๏ธ Updated ImageViewer to work around a bug in VTK 6.1 [#1017]
    • ๐Ÿ›  Fixed an Eigen-related compilation error in PCLVisualizer::renderView() [#1019]
    • ๐Ÿ›  Fixed wrong axis flipping in PCLVisualizer::renderView() [#1026]
    • ๐Ÿ›  Fixed a bug in renderViewTesselatedSphere when generated vertices were not guaranteed to stay on the unit sphere [#1043]
    • ๐Ÿ›  Fixed misaligned context items in ImageViewer [#1049]
    • ๐Ÿ›  Fixed opacity handling for layered rectangles of context items in ImageViewer [#1051]
    • ๐Ÿ›  Fixed a regression in RenderViewsTesselatedSphere::generateViews() related to handling of multiple VTK versions [#1056] [#1067] [#1072]
    • โšก๏ธ Updated PCLVisualizer to use PointCloudColorHandlerRGBAField for PointXYZRGBA clouds by default [#1064]
    • ๐Ÿ›  Fixed a bug in PointCloudColorHandlerLabelField where red and blue channels were swapped [#1076]
    • โšก๏ธ Updated PCLPlotter to ignore NaN values in histogram computation [#1120] [#1126]
    • ๐Ÿ›  Fixed initial size of the PCLVisualizer window [#1125]
    • ๐Ÿ”„ Changed default representation of all shapes in PCLVisualizer to "surface" [#1132]
    • โž• Added a check for model coefficients size in functions that add shapes to PCLVisualizer [#1142]
    • โž• Added an option to switch between static/optimal color assignment in PointCloudColorHandlerLabelField [#1156]
    • โž• Added PCLVisualizer::contains() to check if a cloud, shape, or coordinate axes with given id already exist [#1181]
    • ๐Ÿ‘Œ Improved shape visualization by enabling shading [#1211]
    • ๐Ÿ‘Œ Improved 'u' key functionality in PCLVisualizer [#1241] [#1321] [#1323]
    • ๐Ÿ›  Fixed potential crashes in PCLVisualizer by always checking result of vtkSafeDownCast calls [#1245]
    • โšก๏ธ Updated addPointCloud() to use PointCloudColorHandlerRGBField when the cloud has color field [#1295] [#1325]
    • โšก๏ธ Updated PCLVisualizer not to disable shading when changing shape's color [#1300]
    • ๐Ÿ›  Fixed behavior of PCLVisualizer::wasStopped() with VTK6 on OSX [#1436]
    • ๐Ÿ‘Œ Improve pointcloud visualization with colormaps [#1581]

    PCL Apps:

    • Fixed compilation of point_cloud_editor with Qt5 [#935]
    • Fixed compilation of dominant_plane_segmentation and manual_registration with Boost 1.57 [#1062] [#1063]

    PCL Examples:

    • โšก๏ธ Updated supervoxel clustering example [#915]
    • ๐Ÿ›  Fixes for MS Visual Studio 2013 [#1526]

    PCL Tools:

    • โž• Added support for point label visualization in pcl_viewer [#849]
    • โž• Added support for absolute positioning of visualized point clouds in pcl_viewer [#1154]
    • Fixed PLY file loading in pcl_mesh_sampling tool [#1155]
    • โž• Added loop distance (-D) and loop count (-c) parameters to the LUM tool [#1291]
    • ๐Ÿ›  Fixed in-place filtering with VoxelGrid in mesh_sampling tool [#1366]
    • โž• Added a tool to convert OBJ files to PLY format [#1375]
    • โž• Added a universal mesh/cloud converted tool to convert between OBJ, PCD, PLY, STL, and VTK files [#1442]
  • v1.8.0.rc2

    February 15, 2016
  • v1.8.0.rc1

    January 26, 2016
  • v1.7.2 Changes

    September 10, 2014

    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]
  • v1.7.2.rc2.1

    August 20, 2014
  • v1.7.1 Changes

    • New pcl::io::savePNGFile() functions and pcd2png tool (deprecates organized_pcd_to_png).
    • Support for Intel Perceptual Computing SDK cameras.
    • New Dual quaternion transformation estimation algorithm.
    • Bugfixes.
  • v1.7.0 Changes

    libpcl_common:

    • โž• Added pcl::Intensity and pcl::Intensity8u point types
    • โž• Added pcl::RangeImageSpherical sub-class that is more suitable than pcl::RangeImage for some kinds of 360ยฐ range images (as discussed in [PCL-users] Range Image Projection)
    • โž• Added DefaultPointRepresentation<pcl::Narf36> to allow pcl::Narf36 to be used with pcl::search (#915)

    PCL Apps:

    • โž• Added cloud_composer app
    • โž• Added PCLModeler, with a tree view scene explorer and multiple render windows support
    • โž• Added client app for the point cloud streaming server
    • Added new server app for point cloud streaming to mobile devices (pcl_openni_mobile_server)
    • โž• Added a new demo for the connected component segmentation. Includes a QT gui that allows various features to be toggled on/off.
    • โž• Added SHOT estimator wrapper using OMP
    • Added openni_organized_multi_plane_segmentation to demonstrate the OrganizedMultiPlaneSegmentation class.

    libpcl_recognition:

    • โž• Added a new tutorial for "libpcl_recognition" for Correspondence Grouping by Tommaso Cavallari (#666)
    • โž• Added support for .LMT file loading (which are TARed files for PCD masks and SQMMT linemod templates)
    • ๐ŸŽ Changes in the computation of the modality to improve performance
    • ๐Ÿ›  Fixed a compilation error on windows; for some reason 'NULL' needs to be explicitly casted to the pointer type
    • โž• Added a model library class used for maintaining the object models to be recognized.
    • ๐Ÿ”„ Changed the interface to make it less confusing to use.
    • โž• Added a couple useful overloads for "Houg###Grouping" and "GeometricConsistencyGrouping"
    • โž• Added CRHAlignment class.
    • โž• Added Papazov HV method.
    • ๐Ÿ›  Fixed a bug in Poisson surface reconstruction that was causing the unit test to fail
    • โž• Added option for automatic selection of number of features in extractFeature
    • โž• Added a new greedy hypotheses verification method.
    • โž• Added semi scale invariant linemod template detection
    • ๐Ÿ›  Fixed RF search radius in "Houg###Grouping"
    • ๐Ÿ›  Fixed some bugs in detection refinement along viewing direction
    • ๐Ÿ›  Fixed bug in LineRGBD::computeTransformedTemplatePoints (template point cloud's width and height fields were not set)
    • Converted uses of PointXYZRGB to PointXYZRGBA; converted std::cerr messages to PCL_DEBUG; minor reformatting to keep lines under 120 characters
    • ๐Ÿ›  Fixed some bugs related to bounding box computation and computation of transformed template point clouds
    • โž• Added functionality to specify an object ID when loading templates in LineRGBD;
    • โž• Added "GeometricConsistencyGrouping" clustering class
    • โž• Added high level interface for RGBD version of linemod (not all parts are implemented yet)
    • โž• Added SSE optimizations to improve detection speed
    • โž• Added Ransac Correspondence Rejection into Houg###Grouping
    • ๐Ÿ”„ Changed method for selecting features in color gradient modality
    • โž• Added "CorrespondenceGrouping" abstract base class for correspondence grouping in pcl_recognitio
    • โž• Added cosine approximation in score computation
    • โž• Added structure for hypotheses verification methods. Base abstract class

    libpcl_keypoints

    • โž• Added implementation of the Intrinsic Shape Signature keypoint detector
    • ๐Ÿ›  fixed crash caused by setNormals() in HarrisKeypoint3D (related to #745)

    libpcl_outofcore:

    • โž• Added support for PointCloud + gen LOD
    • โž• Added PointCloud2 support for outofcore queries via new "queryBBIncludes" method
    • โž• Added "copyPointCloud" support for PointCloud2 without indices
    • โž• Added feature: outofcore binary compressed pcd files to store point data on disk
    • ๐Ÿ› Bug fix: outofcore write buffer constant limitation fixed so outofcore_process will work with large 20M+ point TRCS data sets
    • ๐Ÿ‘ Constants for write buffer changed to 2e12 to support insertion of very large point clouds until new serialization is implemented
    • โž• Added getVoxelSideLength to octree_base for displaying of nodes in visualizer

    libpcl_search:

    • ๐Ÿ›  FlannSearch: fixed wrong typedef (::Ptr would break if FlannDistance!=flann::L2) and compiler error
    • โž• Added new option in FlannSearch: FLANN KMeans Tree can now be uses as the search algorithm

    libpcl_visualization:

    • โž• Added specific methods to handle monochrome images represented by a PointCloud or a PointCloud
    • โž• Add area selection option to PCLVisualizer so user can get a whole area indexes
    • ๐Ÿ›  Fix the ImageViewer shapes overlay using vtkContextItem so they now appear with transparent background

    libpcl_tools:

    • โž• Added a PNG to PCD converter

    libpcl_io:

    • โž• Added support for the Velodyne High Definition Laser (HDL)
    • โž• Add support for foo/bar vertex property in PLY file reading
  • v1.6.0 Changes

    July 15, 2012

    The most notable overall changes are:

    PCL Tools:

    • โž• Added a tool for interfacing the marching cubes algorithms
    • โž• Added a PLY To PCD conversion tool
    • โž• Added a command line tool for transforming datasets based on their viewpoint
    • Implemented feature #605: New octree visualizer example (Contributed by Raphael Favier. Thanks!)
    • ๐Ÿ’พ Updated "openni_save_image" to save both RGB and depth images as TIFF
    • โž• Added two command line tools for converting PCD data into PLY and VTK formats
    • ๐Ÿ›  Fix for #504: Make ShapeContext and SpinImage uniform (thanks David!)

    libpcl_common:

    • ๐Ÿ›  Fixed bug #658: Compiler error: undefined reference for getEulerAngles in pcl/common (thanks Gioia!)
    • ๐Ÿšš Moved towards a unified "eigen.h" header that only includes the Eigen headers that we need.
    • โž• Added boost 1.48 and 1.49
    • โž• Added a default "PointRepresentation" type for "ShapeContext" (thanks Elizabeth!)
    • โž• Added a new "PlanarPolygon" class for representing 2D planar polygon regions
    • โž• Added "SetIfFieldExists" functor helper to copy data from a variable into a point field, if it exists
    • โž• Added a helper functor ("CopyIfFieldExists") for copying out specific data out of a PointT field. See "test_common.cpp" for usage examples
    • โž• Added point value initialization by default in constructors for "PointXYZI", "Normal", "PointXYZHSV", "PointXYZRGBL", and "PointXYZRGB"
    • โšก๏ธ Updating transforms.hpp to ensure that point fields are copied when applying affine transform to a specific set of indices.
    • โž• Added error messages on failure of aux functions for PointCloud2, "pcl::concatenatePointCloud" and "pcl::concatenateFields"
    • Fixed win32 compilation error on test_plane_intersection
    • โœ… Implemented plane intersection feature (feature #644) with a related unit test
    • โž• Added kissfft library
    • ๐Ÿ›  Bugfix of eigen22 version for smallest eigenvalue/vector
    • โž• Add specialization for pcl::RGB point type
    • ๐Ÿšš Intensity field accessor moved from keypoints/sift to common to be shared by others
    • ๐Ÿ›  Fixed some valid usages of point traits (e.g. static_cast::type>(...) ) on GCC 4.4.3 by explicitly instantiating some assert template long before it should actually be needed.
    • โž• Added ESF Histogram 640 to point types

    libpcl_filter:

    • โž• Added command line option "-keep" to preserve the organized data structure after a "Passthrough" filter
    • Implemented feature #663: flexible comparison for conditional_removal filter (Thanks Julian!)
    • ๐Ÿ›  Fix for bug #672: ijk grid coordinates in VoxelGrid computed differently in different functions (thanks Nicholas!)
    • ๐Ÿ›  Fix for #572: Example "Euclidean Cluster Extraction" crashes / bug in VoxelGrid filter
    • ๐Ÿ‘Œ Improved performance of 3x getFieldIndex and removed dependency on pcl_io
    • ๐Ÿ›  Fixed and implemented feature #518: VoxelGrid<> performance improvement (roughly 50+ times) (thanks Radoslaw!)
    • ๐Ÿ›  Fixed the visual studio compilation error described in feature #614 (thanks Remus!)
    • Fixed bug #674 (Elements in leaf_layout_ in VoxelGrid are not reset between calls to VoxelGrid::filter), Thanks Nicholas for the patch!
    • โšก๏ธ Work on issue 614: updated the PassThrough filter to derive from FilterIndices instead of Filter
    • ๐Ÿ›  Fix: use a makInfinite function to annihilate points in zero_padding cases
    • โž• Add new class to handle convolution in 3D space for radial basis kernel
    • Modifying VoxelGridCovariance to allow for control over minimum number of points and eigen value inflation for singularity prevention.

    libpcl_visualization:

    • Overloaded "addRectangle" in "ImageViewer" with several useful methods that take as input 3D min-max points and organized datasets, as well as image masks to create 2D rectangles on screen
    • ๐Ÿ“‡ Renamed "addBox" to "addFilledRectangle" in "ImageViewer"
    • โž• Added "addPlanarPolygon" methods for "ImageViewer" to display planar polygonal contours in the image
    • โž• Added new "addMask" methods to "ImageViewer" for displaying 2D image masks from a given "PointCloud"
    • "PCLVisualizer" now has a new "addCube" method for passing {x, y, z}_{min, max} directly to the screen (thanks Jeremie!)
    • ๐Ÿ†“ Patch for two cases of mismatched new/free cases for PCL<->VTK data exchange (thanks Peter!)
    • ๐Ÿ›  Fixed a problem with "removeLayer" which was causing shapes to flicker on screen on sequences like: "removeLayer; addShape; spinOnce"
    • โž• Added "addLine" to "ImageViewer" for displaying 2D lines
    • โž• Added "PCLVisualizer::close" to close the interactor window and "PCLVisualizer::set{Size, Position}" to set the window size and position on screen added image viewer to the docs
    • โž• Added better support for 2D image visualization (via "pcl::visualization::ImageViewer"): add/remove layers with different transparency, add 2D shapes (rectangles, circles, points, etc)
    • โž• Added "wasStopped" to "ImageViewer" to check if the window has been closed
    • ๐Ÿ›  Fixed an issue in pcd_viewer where the PointPicking callback wasn't functioning properly
    • โž• Added "setPosition" to "pcl::visualization::ImageViewer" for allowing the image viewer to be moved somewhere else on screen
    • โž• Added two additional "addPointCloud" helpers for directly displaying "sensor_msgs::PointCloud2" data
    • Added "addPointCloud" method for "sensor_msgs::PointCloud2" data (useful to bypass the conversion to XYZ for "pcd_viewer")
    • โž• Added the capability to remove a cloud when "removeShape" is called, to preserve API backward compatibility (a "PolygonMesh" is not treated as a "CloudActor" inside "PCLVisualizer")
    • ๐Ÿ›  Fixed a bug where the scalars were not updated properly on "updatePointCloud" thus causing VTK warnings on the console
    • ๐Ÿ›  Fixing issue #105 (PCLVisualizer::spinOnce don't work on Win32 system). Thanks Thibault and Alessio.
    • โž• Added "PointXYZRGBA" callbacks for "OpenNIGrabber" and "PCLVisualizer".
    • ๐Ÿ›  Fixed two bugs where a segfault would occur in "addPolygonMesh" when the input cloud would be empty, as well as #563 : PCLVisualizer::addPolygonMesh crash (thanks Mourad!)
    • ๐Ÿ›  Fixed a bug where changing the point color using "setPointCloudRenderingProperties" would not update the actor's colors on screen
    • ๐Ÿ›  Fix for #532: "PCLVizualizer::addCoordinateSystem()" switch from "Eigen::Matrix4f" to "Eigen::Affine3f" (thanks Aurel!)
    • ๐Ÿ›  Fix for #524: ctrl problem with pcd_viewer (thanks Mourad!)
    • Adding opt in flag -use_vbos to pcl_visuzlier. It's still quite buggy, but shouldn't affect the visualizer unless this flag is passed.
    • Added vtkVertexBufferObject/Mapper and moved pcl_image_canvas_source2d
    • โž• Added case handling where an actor might not have a valid viewpoint_transformation matrix resulting in a seg fault if pressing ALT+R
    • ๐Ÿ›  Fixed bug in displaying addCoordinateSystem
    • โž• Added method to visualize intensity gradients
    • โž• Added zoom functionality for ALT + Scroll-Wheel
    • Merged openni_viewer_simple with openni_viewer with all the available options except XYZI

    libpcl_octree:

    • ๐Ÿ›  Fixed bug #693 - bounding box adaption affected change detection results
    • Applied patch by Robert Huitl, Issue #651, define maxVoxelCount in octree raycasting
    • ๐Ÿ›  Fixed OSX compiler warnings
    • ๐Ÿ›  Fixed bug #683 - octree depth changes during stream compression
    • โž• Added new octree key class
    • โž• Added bounding box checks in method isVoxelOccupiedAtPoint (octree pointcloud class)
    • โœ‚ Removed maxKeys limit in octree key generation method
    • โž• Added range checks for integer keys in octree classes, extended octree key class
    • ๐Ÿ›  Fixed bug #620 (octree search fails if point cloud with indices is given) in octree pointcloud class

    libpcl_io:

    • โž• Added "DepthImage" signals/callbacks for "PCDGrabber"
    • ๐Ÿ‘Œ Support for loading TAR-ed LMT files
    • โž• Added support for TAR-PCD files for "PCDGrabber". Simply use "tar cvf file.tar *.pcd" and use "PCDGrabber" on it afterwards
    • ๐Ÿ›  Fixed a bug in the "PointCloud" feature estimation and I/O regarding the fields "count" property
    • โž• Added a "saveVTKFile" method helper for saving "sensor_msgs::PointCloud2" data
    • โž• Added support for reading PCD ascii and binary files (binary_compressed not implemented yet!) for pcl::PointCloud<Eigen::MatrixXf> datatypes.
    • โœ… Implemented and tested a fix for feature request #558: Implement IO for PointCloud
    • โž• Adding missing openni_device files from install
    • ๐Ÿ›  Fixed a bug in ply reader
    • ๐Ÿ›  Fixed bug #683 - dropping empty point clouds during stream compression
    • โž• Add functions to convert between PCL and VTK data structures.
    • Handle red_diffuse, blue_diffuse and green_diffuse vertex properties
    • ๐Ÿ›  Fix bug where normals were written before RGB
    • ๐Ÿ›  Bugfix for #627 - Wrong include path for ply header

    libpcl_features:

    • ๐Ÿ›  Fixed bug #676 in PCL Feature Search (thanks Adam!)
    • ๐Ÿ›  Fixes compilation problem on Windows due to size_t variable in omp loop.
    • Implemented feature request #661: border management in integral image normal estimation
    • ๐Ÿ›  Fixed PFHRGBEstimation bug, thanks Luis
    • ๐Ÿ› Bug fix in SHOT feature, thanks wack
    • ๐Ÿ›  Fixed a bug which caused some normals to point in the wrong direction
    • โž• Added Camera Roll histogram
    • ๐Ÿ›  Fix bug in index used for normal selection
    • โž• Added esf feature
    • โž• Added setViewPoint functionality and useSensorOriginAsViewPoint method to reset the viewpoint
    • ๐Ÿ›  Fixed bug #576 - CVFH respect setIndices now
    • ๐Ÿ›  Fixed issue #550: Uninformative error in VFHEstimation (thanks David!)
    • ๐Ÿ›  Fix #527: Bug in IntegralImageNormalEstimation (thanks Christoph!)
    • ๐Ÿ›  Fixed #544: overflow in implicit constant conversion warnings (thanks David!)
    • 0๏ธโƒฃ Modified SHOT omp so that the default computation of the reference frames
    • ๐Ÿ›  SHOT: Fixed invalid access when keypoints have increased from the previous call.
    • Setting sensor origin and orientation correctly for normal point cloud
    • ๐Ÿ›  Fixed a bug in estimating the orientation of the normal (view point wasn't initialized in the constructor)
    • ๐Ÿ› Bug fix: if the cloud is not dense search for neighbours could raise an excpetion
    • ๐Ÿ› Bug fix: SHOT accepts only radius search

    libpcl_segmentation:

    • ๐Ÿ›  Fixed a few issues in the new segmentation classes where some comparators didn't have the appropriate "Ptr" and "ConstPtr" well defined
    • ๐Ÿ›  Fixed a bug where points passed onto the search method were not checked for NaN/Inf in "pcl::SegmentDifferences"
    • Added a missing "setDistanceFromOrigin" to "SACSegmentationFromNormals" for "SACMODEL_NORMAL_PARALLEL_PLANE" (thanks A. Barral)
    • ๐Ÿ›  Fix for #134 (Prism Extraction on Table top (flipping normal fails))
    • ๐Ÿ›  Fixed a segmentation fault in "SACSegmentationFromNormals" caused by calling "segment" without passing the input XYZ or normal data
    • ๐Ÿ›  Fixed a bug in organized connected component segmentation. Previously would crash if the first pixel had a valid depth (doesn't occur on kinect data).
    • ๐Ÿ›  Bugfix of issue # 675: Euclidean cluster extraction access violation. Thanks to Icy for helping find the solution
    • ๐Ÿ›  Fixed bug #673 in EuclideanClusterExtraction
    • โž• Added new code for min cut segmentation
    • ๐Ÿ›  Fixed bug #681: member variable was not set in constructor (thanks Bhaskara!)
    • โž• Added a threshold to MultiPlaneSegmentation for curvature, allowing us to discard smooth (but non-planar) regions.
    • Added optional projection for multi_plane_segmentation.
    • โž• Added some new comparators for use with OrganizedConnectedComponents including RGB and edge aware
    • โž• Added additional fucnction call for segmentAndRefine.
    • โž• Added a comparator for doing euclidean clustering on organized point clouds.
    • โž• Added fast SeededHueSegmentation implementations
    • ๐Ÿ›  Fixed segfault in multi plane refinement and functorized the comparison.
    • ๐Ÿ‘Œ Improved MultiPlaneSegmentation to allow refinement of regions, and support different comparators.
    • ๐Ÿ†• New classes AutomatedSegmentation, AutomatedTreeSegmentation
    • โž• Added OrganizedConnectedComponentSegmentation, which is a general class for use with organized point clouds and can take user specified comparators.
    • โž• Added OrganizedMultiPlaneSegmentation which returns all planes in an organized cloud, along with the PlaneCoefficientComparator needed to do this.

    libpcl_surface:

    • ๐Ÿ›  Fixed a grave bug where "setIndices" was not used in "ConvexHull"
    • โž• Added fix for #562: pcl::ConcaveHull crashes on an empty cloud (thanks Mourad!)
    • โž• Added "PCLSurfaceBase" base class for "MeshConstruction" and "SurfaceReconstruction", to unify the API around "setSearchMethod(&Search)" and "reconstruct(&PolygonMesh)"
    • โž• Added GPU accelerated convex hull. 7x for Ramesses dataset (700k points)
    • โž• Added a setDimension function to concave hull, so users can specify desired dimensionality of the resulting hull. If no dimension is specified, one will be automatically determined.
    • ๐Ÿ›  Fixed bug #692 - MovingLeastSquares indices issues
    • Added curve fitting and trimming of surfaces to examples/surface/example_nurbs_fitting_surface.cpp
    • โž• Added iterative fitting routines for curve fitting surface::on_nurbs::Triangulation - added conversion functions for nurbs curve to line-polygon - added conversion functions for nurbs surface and curve to PolyMesh
    • โž• Added flag to enable/disable usage of UmfPack for fast solving of sparse systems of equations - added triangulation functions to convert ON_NurbsSurface to pcl::PolygonMesh
    • โž• Added bug fix in ConcaveHull, thanks to summer.icecream
    • โž• Added marching cubes using RBF and Hoppe SDF
    • Pushed new functions that perform texture-mapping on meshes.
    • ๐Ÿ›  Fix: issue #646 (vtk_smoothing not copied)
    • โž• Added new functionalities to TextureMapping: Find occlusions based on raytracing in octrees, UV mapping based on Texture resolution and camera focal length.
    • ๐Ÿ˜Œ Relaxing dimensionality check threshold on concave_hull, so that 3D hulls should no longer be calculated on 2D input.
    • โž• Added poisson filter

    libpcl_keypoints:

    • โž• Added combined Harris keypoint detector to detect corners in image, in 3D and combined ones
    • ๐Ÿ›  Fix bug #691 (Compiler error: undefined reference for setMinimalDistance in pcl/keypoints/harris_keypoint2D)
    • ๐Ÿ›  Fixed the #637 pitfall in harris3D and harris6D
    • โž• Added implementation of 2D corner detectors

    libpcl_geometry:

    • โž• Added a new PCL library for computational geometry
    • โž• Added bugfix to remove self intersecting polygons
    • ๐Ÿ›  Fixed some refinement corner cases for polygon approximation
    • โž• Added line iterator class for iterating over e.g. an image/organized cloud in the pixel space.

    libpcl_search:

    • โž• Added NaN checks in "pcl::search::FlannSearch"
    • Skip infinite neighbor candidates in pcl::search::OrganizedNeighbor::radiusSearch
    • โž• Added point projection method for organized search

    libpcl_tracking:

    • ๐Ÿ›  Fixed issue #514: SpinImages segfault when using setKSearch (thanks David!)
    • ๐Ÿ›  gcc-4.7 compatibility issues in pcl::tracking fixed. Thanks to Rich Mattes

    libpcl_sample_consensus:

    • Implemented feature #589: Add sac_model_cone and sac_model_normal_sphere (contributed by Stefan Schrandt. Thanks!)
    • ๐Ÿ›  Fix for #616: pcl::ProgressiveSampleConsensus::getRandomSamples unimplemented (thanks Mourad!)
    • ๐Ÿ›  Fix for #498: Bug in setOptimizeCoefficients for pcl::SACMODEL_SPHERE.
    • ๐Ÿ›  Fixed bug #648: code was checking for plane perpendicular to given axis instead of parallel
    • Applied patch for feature request #649: Locally constrained model generation for Sample Consensus

    libpcl_registration:

    • ๐Ÿ›  Fixed issue #619: Cannot call pcl::registration::TransformationValidationEuclidean::validateTransformation (thanks Raphael!)
    • โž• Added code for #592: correspondence estimation based on normal shooting (coded by Aravindhan. Thanks!)
    • ๐Ÿ‘‰ Fixed #533: WarpPointRigid missing EIGEN_MAKE_ALIGNED_OPERATOR_NEW (thanks Radoslaw!)
    • Correct overlapping grid distribution in 2D NDT implementation