Skip to content

Releases: PointCloudLibrary/pcl

pcl-1.9.1

26 Nov 11:56
pcl-1.9.1
72f41b6
Compare
Choose a tag to compare

= 1.9.1 (26.11.2018) =

Modules:

Uncategorized:

  • Add missing visualization section from the changelog generation. [#2634]

CMake:

  • Fix development version check on DISSECT_VERSION. [#2633]
  • Remove CMake policy CMP0054 setting. [#2627]
  • PCLConfig.cmake - POP policy-stack before return() [#2626]
  • Remove CMake config installation folder only when empty [#2622]
  • Downgrade grabber dependency message level to STATUS. [#2620]
  • Migrate CMake policy 0048 [#2608]
  • Bump CMake minimum version to 3.1. [#2605]
  • Bump version to 1.9.0-dev [#2602]
  • Search in $EIGEN_ROOT first while looking for Eigen [#2592]

libpcl_visualization:

  • address conflict between visualization and VTK head [#2612]

PCL Tutorials:

  • Bump CMake minimum version to 3.1. [#2605]

PCL Tests:

  • Refactor SHOTEstimation and SHOTColorEstimation tests [#2636]

CI:

  • Set up azure pipelines for macOS High Sierra [#2635]
  • Enable Windows builds on Azure Pipelines [#2632]
  • Add Ubuntu16.04 based build on Azure Pipelines [#2611]
  • Remove documentation job from Travis [#2604]

pcl-1.9.0

06 Nov 19:22
f38c3cf
Compare
Choose a tag to compare

= 1.9.0 (06.11.2018) =

New Features:

Newly added functionalities.

  • [common][visualization] Add Viridis color LUT [#2420]
  • [octree] Implementation of the iterator 'OctreeLeafNodeBreadthIterator'. [#2204]
  • [octree] Implementation of the iterator 'OctreeFixedDepthIterator'. [#1983]
  • [ci] Enable Global Tests on Windows CI [#2137]
  • [features] Add GASD global point cloud descriptor [#1652]
  • [visualization] Add overload to PCLVisualizer::addText3D() that allows specifying text orientation [#2038]
  • [features] FLARELocalReferenceFrameEstimation class added [#1571]
  • [surface][tools] Add new mls projection method. Deprecated MovingLeastSquares::setPolynomialFit(). [#1960]

Deprecated:

Deprecated code scheduled to be removed after two minor releases.

  • [octree] Implementation of the iterator 'OctreeLeafNodeBreadthIterator'. [#2204]
  • [common][segmentation] Provide proper EuclideanClusterComparator method depreciation. New Pragma macro. New Deprecated type. [#2096]
  • [io] Add support pcl::PointXYZRGBA to pcl::VLPGrabber. Deprecate rgb signatures. [#2102]
  • [surface][tools] Add new mls projection method. Deprecated MovingLeastSquares::setPolynomialFit(). [#1960]

Removed:

Removal of deprecated code.

  • [filters][io][surface][visualization] Removal of deprecated code in filters, io, surface and visualization modules [#2077]
  • [common] Remove deprecated ros headers [#2075]
  • [registration] Remove registration module deprecated methods [#2076]
  • [sample_consensus] Remove deprecated functions and variables from SAC module [#2071]
  • [common] Removal of PCA deprecated constructor [#2070]

Behavioral changes:

Changes in the expected default behavior.

  • [common] PointCloudDepthAndRGBtoXYZRGBA: initialize with the default alpha value (fix #2476) [#2533]
  • [octree] Reverse octree's depth first iterator order [#2332]
  • [common] PointXYZRGBL label field is now default constructed to 0 [#2462]
  • [io] Fix PLYReader is_dense behavior [#2133]

API changes:

Changes to the API which didn't went through the proper deprecation and removal cycle.

  • [octree] Implementation of the iterator 'OctreeLeafNodeBreadthIterator'. [#2204]
  • [sample_consensus] Const-qualify most of the methods in SAC model classes [#2270]
  • [simulation] Use GLuint rather than size_t to represent OpenGL indices. [#2238]
  • [visualization] Fix access specifier in PointCloudColorHandlerRGBAField [#2226]
  • [docs] Misc. typos (cont.) [#2215]
  • [octree] OctreeIterators special member revision [#2108]
  • [io] Add support pcl::PointXYZRGBA to pcl::VLPGrabber. Deprecate rgb signatures. [#2102]
  • [surface][tools] Add new mls projection method. Deprecated MovingLeastSquares::setPolynomialFit(). [#1960]
  • [surface] Add ability to cache mls results [#1952]

ABI changes:

Changes that cause ABI incompatibility but are still API compatible.

  • [surface] Missing pcl::MovingLeastSquaresOMP declaration without /openmp [#2324]
  • [common][filters][surface] Improved docstrings and error messages [#2300]
  • [common] Modified GlasbeyLUT indexing type to size_t [#2297]
  • [octree] Implementation of the iterator 'OctreeFixedDepthIterator'. [#1983]
  • [common][segmentation] Provide proper EuclideanClusterComparator method depreciation. New Pragma macro. New Deprecated type. [#2096]
  • [gpu] Allow specifying decimation step in convertToTsdfCloud [#2099]
  • [apps] More warning suppression in pcl apps [#2080]
  • [io] Removed unused member from ply_parser [#2066]
  • [filters] Fixes remove_indices in UniformSampling [#1902]
  • [visualization] Add accessor for current rendering framerate in PCLVisualizer [#1974]
  • [simulation] Redo: Simulation: enable returning of organized point clouds [#1687]
  • [registration] Added option to specify translation and rotation convergence deltas in ICP and NDT algorithms. [#1724]

Modules:

Uncategorized:

  • Change Log generation tool. Automates change log generation. [#2396]
  • Compatibility reports generation script [#2410]
  • Update logo [#2547]
  • Never close stale issues/prs [#2400]
  • Fix typos in the whole codebase [#2217]
  • Fixed typo and rearragend items in the issue template [#2197]
  • Change Stale daysTillClose to 100 years [#2166]
  • set stale daysUntilClose to a really big number [#2162]
  • Stale set up [#2101]

CMake:

  • Fix checks for user-provided CXX flags [#2579]
  • Fix FLANN path to lower case [#2576]
  • Use pkg-config to find Flann [#2563]
  • Update FindBoost versions [#2558]
  • Add PCL_BUILD_WITH_QHULL_DYNAMIC_LINKING_WIN32 option [#2552]
  • Fix app/CMakeLists to enable Apps under Windows [#2550]
  • When configuring with WITH_DOCS, but Doxygen is not available, prevent generation. [#2516]
  • CMake: Do not include test targets in PCLConfig.cmake [#2458]
  • CMake Set temporarily the policy CMP0074 to OLD [#2454]
  • prevent GCC flags propagating to NVCC [#2430]
  • Mark visualization as an optional dependency of tools [#2439]
  • Do not mark imported libraries as GLOBAL in PCLConfig [#2435]
  • Intel fixes [#2432]
  • Export -march=native for Clang and prevent it from being included during cross compilation. [#2416]
  • Do not search for PCL components that have been found already [#2428]
  • Move SSE compiler options to PCL_COMPILE_OPTIONS. Expose PCL as a CMake imported target. [#2100]
  • Add Visual Studio compiler option /FS for Ninja build [#2414]
  • Use rpath in the target's install name [#2241]
  • Improve QHull finder script [#2344]
  • Fix link order issue with boost [#2236]
  • Mark found PCL component libraries and include dirs as advanced [#2235]
  • Prevent search for disabled optional dependencies in targets. [#2229]
  • Fix installation rules for ml module [#2192]
  • Fix conditional...
Read more

pcl-1.8.1

08 Aug 06:11
39732f5
Compare
Choose a tag to compare

ChangeList

  • Replaced make_shared invocations on aligned allocated vars
    [#1405]
  • Created an issue template for bug reporting
    [#1637]
  • PCL logo image is now locally available
    [#1677]
  • Updated the Windows all in one installer for MSVC15
    [#1762]
  • Added compile support to VTK 7.1
    [#1770]
  • Fixed badges markup in README.md
    [#1873]
  • Replaced C-style sqrtf with std::sqrt
    [#1901]

CMake:

  • Tweaks to PCL_DEFINITIONS behavior (to be deprecated in future
    versions)
    [#1478]
  • VTK directory can now be manually specified during configuration
    [#1605]
  • Updated the find Boost cmake macro to support the latest versions plus
    exported definitions now give priority to finding the same Boost version
    PCL was compiled with.
    [#1630]
  • Corrected PCL_ROOT in PCLConfig.cmake
    [#1678]
  • Removed automatic override of VTK_LIBRARIES
    [#1760]
  • Updated find boost versions
    [#1788]
    [#1855]
    [#1856]
  • Updated CUDA compute capabilities
    [#1789]
  • Extend linking of delayimp.lib to all MSVC version
    [#1823]
  • Removal of MSVCxx variables
    [#1830]
  • Fixed path link to Documents of Windows Start-Menu
    [#1857]
  • Fixed CPack for Documents
    [#1858]
  • Fixed bug present when Ensenso SDK path included spaces
    [#1875]
  • -D_FORCE_INLINES definition added for CUDA targets to prevent
    issues between old versions of the CUDA Toolkit and new versions
    of gcc
    [#1900]
  • Implemented new versioning scheme for PCL, employing the suffix
    -dev in between releases.
    [#1905]
  • Corrected search paths for Eigen on Windows
    [#1912]
  • SSE definitions are now exported and cleanup of Eigen's
    definitions
    [#1917]
  • Added support to dynamic linking against FLANN on Windows
    [#1919]
  • Add new search path for GTest to the finder script
    [#1920]
  • Fix discovery of PCL deployed out of install path
    [#1923]

libpcl_2d:

  • Removed the non-free lena-grayscale-png image :(
    [#1676]
  • 2d library is no longer generated since it contained no symbols
    [#1679]

libpcl_common:

  • Changed default alpha value to 255 on all RGB(A) point types
    [#1385]
  • Fixed an issue preventing aligned memory allocation on 32-bit Windows
    systems
    [#1665]
  • Fixed compile error on test_common on MSVC
    [#1689]
  • Fixed parallel plane test condition on pcl::planeWithPlaneIntersection
    [#1698]
  • Fixed endless loop condition in compute3DCentroid
    [#1704]
  • toPCLPointCloud2 is not resilient to an empty pointcloud input
    [#1723]
  • Normal accumulator normalized() is now resilient to a 0 filled vector
    [#1728]
  • Defined additional types in PointCloud to ensure STL container
    compatibility
    [#1741]
  • Aligned malloc now works on Android as well
    [#1774]
  • Added missing include to boost shared_ptr in vertices
    [#1790]
  • Prevent incorrect copy of adjacent point in fromPCLPointCloud2()
    [#1813]
  • Restored Eigen::umeyama for Eigen 3.3+
    [#1820]
    [#1887]
  • Fixed type in deprecation messages
    [#1878]
  • Improved support for mingw aligned allocation
    [#1904]
  • Added test for macro _USE_MATH_DEFINES to avoid warnings
    [#1956]

libpcl_cuda:

  • Fixed macro definitions for the Windows platform
    [#1568]

libpcl_features:

  • NormalEstimation[OMP] and FPFHEstimation[OMP] are now instantiated for
    the same types as the non OMP variants.
    [#1642]
  • Prevention of the addition of duplicate keys in PFHEstimation
    [#1701]
  • Bug fixes in OUR-CVFH
    [#1827]
  • Fixed incorrect initialization of SHOT
    [#1859]
    [#1876]

libpcl_filters:

  • ExtractIndices filter now aborts prematurely and prints error verbose
    in case it detects an index which exceeds the size on the input data
    [#1670]
  • Potential reduction of computational time of ModelOutlierRemoval
    [#1735]
  • Improved code readability in CropBox
    [#1817]

libpcl_gpu:

  • Added support to NVidia Pascal GPUs
    [#1824]
  • Fixed compilation error in KinfuLS
    [#1872]
  • Fixed CUDA architecture check
    [#1872]

libpcl_io:

  • RGB values are now always saved as uint32 on PCD files
    [#1385]
  • Fixed find RealSense macro and compilation error with RealSenseGrabber
    on Windows
    [#1560]
  • Unified verbose on OctreePointCloudCompression
    [#1569]
  • Improved performance on saving PLY, OBJ and VTK files
    [#1580]
  • Added support to the transparency property Tr on pcl::MTLReader
    and fixed issue with parsing of the material's properties.
    [#1599]
  • Fixed function signature mismatch in auto_io
    [#1625]
  • Fix ASCIIReader::setInputFields interface
    [#1690]
  • Adopted pcl_isnan in test_buffers to prevent compilation problems on
    MSVC12
    [#1694]
  • Fixed incorrect laser number test condition in VLP Grabber
    [#1697]
  • Fixed bug verbose output of compression statistics
    [#1749]
  • Fixed a bug in the parsing of PLY headers
    [#1750]
  • Replacement of boost::math::isnan by pcl_isnan
    [#1766]
  • Binary files written by PCDWriter now have the same permissions
    as the ASCII ones
    [#1779]
  • Fixed ODR violation when compiling with both OpenNI and OpenNI2
    [#1818]
  • PLYReader now also accepts the property vertex_index
    [#1847]
  • Fixed bug in return value of pcl_converter
    [#1903]

libpcl_keypoints:

  • Fixed memory leak in ISSKeypoint3D
    [#1815]

libpcl_octree:

  • Fixed unexpected octree boundaries' reduction
    [#1532]
    [#1906]
  • Fixed octree precompilation mechanism
    [#1639]
    [#1916]
  • Fixed invalid cast in OctreePointCloudVoxelCentroid
    [#1700]

`libpcl_recognit...

Read more

pcl-1.8.1rc2

18 Jul 11:22
d080f67
Compare
Choose a tag to compare
pcl-1.8.1rc2 Pre-release
Pre-release
Update Ensenso tutorial for Ensenso X devices

pcl-1.8.1rc1

02 Jul 10:52
14c7280
Compare
Choose a tag to compare
pcl-1.8.1rc1 Pre-release
Pre-release
Bump version to 1.8.1

pcl-1.8.0

15 Jun 19:47
Compare
Choose a tag to compare
Update changes for 1.8.0

pcl-1.7.2

10 Sep 21:43
Compare
Choose a tag to compare

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...
Read more

pcl-1.7.1

07 Oct 13:12
Compare
Choose a tag to compare
  • 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.

pcl-1.7.0

23 Jul 18:34
Compare
Choose a tag to compare

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

About time

05 Sep 18:31
Compare
Choose a tag to compare

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::PointCloudEigen::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!)
  • 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 poin...
Read more