pcl-1.7.0
We are proud to announce the new PCL version 1.7.
After one year of development, there have been a lot of changes:
- We welcome three new modules: outofcore, people, recognition.
- PCL moved to git and onto Github.
- We separated the PCL and ROS data types. Please read https://github.com/PointCloudLibrary/pcl/wiki/Remove-ROS on how to convert your code.
- We had a flaw in the pcd viewpoint generation. If your point clouds seem to be flipped, please read https://github.com/PointCloudLibrary/pcl/wiki/pcd-viewpoint.
- the geometry lib has been converted into header only, resulting in a ABI change.
- If you are using your own point type, you need to define PCL_NO_PRECOMPILE before including any PCL headers.
The most notable overall changes are:
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 DefaultPointRepresentationpcl::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