Changelog History
Page 1
-
v1.12.0 Changes
PCL 1.12.0 enables custom index size and type, from
int16_t
touint64_t
, allowing ๐ users to have as small or large clouds as they wish. 1.12 also comes with improved ๐ support for VTK and CUDA, along with making existing functionality more user friendly.๐ This is all on top of the usual bug-fixes and performance improvements across the board
Notable changes
๐ New features added to PCL
- [sample_consensus] Add SIMD implementations to some countWithinDistance functions [#3519]
- [io] Enable Real Sense 2 grabber for all platforms [#4471]
- [visualization] add ellipsoid shape to pcl_visualizer [#4531]
- [common] Add
constexpr
to static member functions for point types, add macro forif constexpr
[#4735] - [ci] Use windows docker image in CI. [#4426]
- [common] Add pcl log stream macros [#4595]
๐ Deprecation of public APIs, scheduled to be removed after two minor releases
- [common] Modify index type for vertices [#4256]
- [gpu] Add square distances to GPU knnSearch API [#4322]
- [gpu] Add square distances to ApproxNearestSearch [#4340]
- ๐ Deprecate unused ease-of-internal-use headers [#4367]
- [registration] Deprecate
TransformationEstimationDQ
in favor ofTransformationEstimationDualQuaternion
[#4425] - [segmentation] Deprecate unused
max_label
inextractLabeledEuclideanClusters
[#4105] - [surface] MLS: correct typo in
principle
by usingprincipal
instead [#4505] - ๐ Deprecate unneeded meta-headers [#4628]
- [apps][tracking] pyramidal klt: switch keypoints_status_ to int vector [#4681]
- ๐ Properly remove remaining items deprecated for version 1.12, deprecate
uniform_sampling.h
[#4688] - [recognition] Add deprecation for incorrectly installed headers [#4650]
Removal of the public APIs deprecated in previous releases
- โ Remove deprecated items as scheduled in preparation of v1.12 (except
concatenatePointCloud
) [#4341] - [apps] Remove unused code in persistence_utils.h [#4500]
- ๐ Properly remove remaining items deprecated for version 1.12, deprecate
uniform_sampling.h
[#4688]
Behavior changes in classes, apps, or tools
- [registration] Don't move, or copy ICP [#4167]
- [common] Fix PointXYZRGBA ctor, set A as 255 by default [#4799]
API changes that did not go through the proper deprecation and removal cycle
- [common] modify index type for PCLImage [#4257]
- [registration] Don't move, or copy ICP [#4167]
- [kdtree] KdTree: handle 0 or negative k for nearestKSearch [#4430]
- [common] Use
std::array
instead of C-array for ColorLUT [#4489] - [tracking] Use SFINAE instead of relying on macro
PCL_TRACKING_NORMAL_SUPPORTED
[#4643] - [gpu] Export and template extract clusters [#4196]
- [common] Added
namespace pcl
to free functions:aligned_{malloc/free}
[#4742]
ABI changes that are still API compatible
- [registration] Refactoring and Bugfix of NDT [#4180]
- [common] modify index types for PCLPointCloud2 [#4199]
- [common] Modify index type for vertices [#4256]
- [common] Modify index type for PCLPointField [#4228]
- [surface] Enabled multithreading in Poisson surface reconstruction [#4332]
- [io] Allow file_io to read large point clouds depending on PCL config [#4331]
- [sample_consensus] Allow user to apply arbitrary constraint on models in sample consensus [#4260]
- [tracking] Use SFINAE instead of relying on macro
PCL_TRACKING_NORMAL_SUPPORTED
[#4643] - [features] Move the init of static variables to library load time [#4640]
- [octree] Octree2BufBase: Fix bug that contents from previous buffer appear in current buffer [#4642]
๐ Changes grouped by module
CMake:
- Update
pcl_find_boost
to allow compilation with Boost 1.74 [#4330] - Variable needs to be expanded when checking for
EXT_DEPS
[#4353] - Update pcl_find_cuda.cmake to contain all supported architectures [#4400]
- โ Add support for VTK 9 [#4262]
- ๐จ Refactor cmake find script of libusb [#4483]
- โ Add AVX for windows [#4598]
- โ Add SSE definitions for SSE 4.1 and 4.2 [#4596]
libpcl_common:
- [ABI break] modify index types for PCLPointCloud2 [#4199]
- [API break] modify index type for PCLImage [#4257]
- ๐ [ABI break][deprecation] Modify index type for vertices [#4256]
- [ABI break] Modify index type for PCLPointField [#4228]
- ๐ Allow PCL_DEPRECATED to detect and help remove deprecations before release [#4336]
- ๐ Allow conversion of PointCloud with more than 32-bit size rows/columns [#4343]
- ๐ Improve routing for
transformPointCloud
[#4398] - Correct typo in
transformPlane
[#4396] - [API break] Use
std::array
instead of C-array for ColorLUT [#4489] - Set header in two toPCLPointCloud2 functions [#4538]
- โ Add more operators to
PointCloud
to prevent perf regression in refactoring [#4397] - ๐ Make sure that organized point clouds are still organized after transformPointCloud [#4488]
- [API break] Added
namespace pcl
to free functions:aligned_{malloc/free}
[#4742] - [new feature] Add
constexpr
to static member functions for point types, add macro forif constexpr
[#4735] - ๐ Fix
PolygonMesh::concatenate
and its unit test [#4745] - [behavior change] Fix PointXYZRGBA ctor, set A as 255 by default [#4799]
- โ Remove pseudo-template-instantiations in eigen.h to reduce compilation time [#4788]
- [new feature] Add pcl log stream macros [#4595]
libpcl_features:
- [ABI break] Move the init of static variables to library load time [#4640]
- ๐ Use correct cloud for checking finite-ness in fpfh [#4720]
libpcl_filters:
- ๐ Improve performance of median filter by using
nth_element
[#4360] - ๐ Fix the covariance calculation as suggested by @zxd123 [#4466]
- Filters: fix wrong initialization of covariance in VoxelGridCovariance [#4556]
- ๐ Fix application of setMinimumPointsNumberPerVoxel for PCLPointCloud2 implementation of VoxelGrid [#4389]
- โ Adding tests for CropHull and using hull_cloud instead of input in getHullCloudRange [#3976]
libpcl_gpu:
- ๐ [deprecation] Add square distances to GPU knnSearch API [#4322]
- ๐ [deprecation] Add square distances to ApproxNearestSearch [#4340]
- [API break] Export and template extract clusters [#4196]
- โก๏ธ Update support for CUDA arch in CMake and
convertSMVer2Cores
[#4748] - โ Add ability to download contiguous chunk of memory to host using
Device{Array,Memory}
[#4741] - Speeding up GPU clustering using smarter download strategy and memory allocations [#4677]
libpcl_io:
- [ABI break] Allow file_io to read large point clouds depending on PCL config [#4331]
- ๐ Improve PCD read performance (more than 50%) by reusing
istringstream
[#4339] - [new feature] Enable Real Sense 2 grabber for all platforms [#4471]
- Throw error if the device bluffs about its capability [#4141]
- ๐ Fix crash in Dinast Grabber due to bad initialization of device handle [#4484]
- PLY face definition accepts uint fields as well [#4492]
- Prevent segfault in vtk2mesh [#4581]
- ๐ป Prevent exception in PCDReader for misformed PCD files [#4566]
- Enable arbitary size Indices for Octree module [#4350]
- ๐ Fix addition of Carriage Return to PCD files. [#4727]
- ๐ Support Ensenso SDK 3.0 for ensenso_grabber [#4751]
- Specify no face elements in PLY files (from point cloud) to make them interoperable with VTK [#4774]
libpcl_kdtree:
- [API break] KdTree: handle 0 or negative k for nearestKSearch [#4430]
libpcl_ml:
- ๐ Fix un-initialized centroids bug (k-means) [#4570]
libpcl_octree:
- Enable arbitary size Indices for Octree module [#4350]
- ๐ Fix problems in octree search functions when using dynamic depth [#4657]
- [ABI break] Octree2BufBase: Fix bug that contents from previous buffer appear in current buffer [#4642]
libpcl_outofcore:
- ๐ Fix compile issue due to missing include under MSVC 2019 [#4755]
libpcl_recognition:
- ๐ [deprecation] Add deprecation for incorrectly installed headers [#4650]
libpcl_registration:
- [ABI break] Refactoring and Bugfix of NDT [#4180]
- [API break][behavior change] Don't move, or copy ICP [#4167]
- ๐ [deprecation] Deprecate
TransformationEstimationDQ
in favor ofTransformationEstimationDualQuaternion
[#4425] - ๐ Fix force no recompute [#4535]
- Skip non-finite points for Pyramid Feature Matching [#4711]
libpcl_sample_consensus:
- [ABI break] Allow user to apply arbitrary constraint on models in sample consensus [#4260]
- ๐ Improve logging errors during sample consensus model registration [#4381]
- [new feature] Add SIMD implementations to some countWithinDistance functions [#3519]
- Faster sample consensus functions [#4424]
- ๐ Fix and improve MLESAC [#4575]
- ๐ Improve logging in module
sample_consensus
[#4261]
libpcl_search:
libpcl_segmentation:
- ๐ [deprecation] Deprecate unused
max_label
inextractLabeledEuclideanClusters
[#4105] - ๐ Fix the dotproduct calculation in
extractEuclideanClusters
for smooth surfaces [#4162] - ๐ Make euclidean clustering with normals faster [#4551]
libpcl_surface:
- [ABI break] Enabled multithreading in Poisson surface reconstruction [#4332]
- โ Add stdlib header for malloc in poisson (bugfix for gcc-5) [#4376]
- โก๏ธ Always update counter and prevent overflow access in poisson4 octree [#4316]
- Add missing include to nurbs_solve_umfpack.cpp [#4571]
- ๐ [deprecation] MLS: correct typo in
principle
by usingprincipal
instead [#4505]
libpcl_visualization:
PCL Apps:
- [removal] Remove unused code in persistence_utils.h [#4500]
- ๐ [deprecation] pyramidal klt: switch keypoints_status_ to int vector [#4681]
๐ PCL Docs:
- ๐ Update documentation to be coherent with the style guide [#4771]
PCL Tutorials:
- ๐ Replace PassThrough with removeNaNFromPointCloud in 3 tutorials [#4760]
PCL Tools:
- ๐ Fix virtual scanner [#4730]
CI:
-
v1.11.1 Changes
August 14, 2020๐ Apart from the usual serving of bug-fixes and speed improvements, PCL 1.11.1 brings in ๐ better support for CUDA, more uniform behavior in code as well as cmake, and an experimental feature:
functor_filter
.Notable changes
๐ New features added to PCL
- [ci] Add support for CUDA in CI [#4101]
- [common] Add always-unsigned index type
uindex_t
dependent onindex_t
[#4205] - [filters] Add a filter accepting a functor to reduce boiler plate code for simple filters [#3890]
๐ Changes grouped by module
CMake:
- Update
pcl_find_boost
to allow compilation with Boost 1.73 and 1.72 [#4080] - ๐ Fix NSIS Template for NSIS3 [#4093]
- โ Add option to choose
pcl::index_t
while compiling [#4166] - ๐ Fix name warnings for PCAP, libusb and Ensenso. [#4182]
- ๐ Fixes compile error on MSVC by disabling Whole Program Optimization [#4197]
libpcl_common:
- โ Remove use of dynamic allocation in
GaussianKernel::convolve{Rows,Cols}
[#4092] - Replace usage of
std::vector<int>
withIndices
[#3989] - โก๏ธ Update
PointCloud
to conform to requirements ofReversibleContainer
[#3980] - [new feature] Add always-unsigned index type
uindex_t
dependent onindex_t
[#4205] - โ Adding
data
member function toPointCloud
[#4216] - Switch
int
toindex_t
for field index variables inpclBase
, addpcl::UNAVAILABLE
for same [#4211] - โ Added
resize
with 2 arguments toPointCloud
[#4225] - โ Adding
max_size
to PointCloud [#4254] - ๐ Support multiple arguments in
pcl::utils::ignore()
[#4269]
libpcl_features:
- ๐ Fix feature histogram constructor bug [#4234]
- ๐ Fix regression in Organized Edge Detection (introduced in PCL 1.10.1) [#4311]
libpcl_filters:
- โฌ๏ธ reduce computations involved in iterating over the pointcloud for
FastBilateral{OMP}
[#4134] - [new feature] Add a filter accepting a functor to reduce boiler plate code for simple filters [#3890]
- Refatoring VoxelGridCovariance to make it multi-thread safe (and more) [#4251]
libpcl_gpu:
- Replace volatile shared memory with shfl_sync in KNNSearch [#4306]
- ๐ Fix octree radiusSearch [#4146]
libpcl_io:
- ๐ Better conversion of depth data + focal length into X,Y,Z point data [#4128]
- โ Add iterator include for back_iterator to support VS2019 [#4319]
libpcl_outofcore:
- Fix compile issue in OutofcoreOctreeBase::setLODFilter after switching from boost::shared_ptr to std::shared_ptr [#4081]
libpcl_registration:
- ๐ Fix bug in NDT step interval convergence criteria [#4181]
libpcl_segmentation:
- Clean FLANN includes [#4025]
- โก๏ธ Update angle between 2 planes to be the smallest angle between them [#4161]
libpcl_simulation:
- Don't prefix in shaders. [#4209]
libpcl_visualization:
- ๐ Fix error: misplaced deprecation attributes in
vtkVertexBufferObject{,Mapper}
[#4079]
๐ PCL Docs:
- Fix typo in FPFH documentation, $$p_k$$ was used instead of $$p_i$$ [#4112]
- ๐ Fix typos in PFH estimation tutorial [#4111]
CI:
- [new feature] Add support for CUDA in CI [#4101]
-
v1.11.1-rc2 Changes
August 13, 2020๐ PCL 1.11.1 brings in new bug fixes and improvements such as
- Increasing coverage of
index_t
for allowingstd::int64_t
as indices - Increased conformance to
std::vector
API forPointCloud
- Speed improvements, thread safety and a new flexible experimental filter
๐ For an exhaustive list of newly added features, deprecations and other changes
๐ in PCL 1.11.1, please see CHANGES.md.โก๏ธ PS: Link wouldn't work since CHANGES.md isn't updated
- Increasing coverage of
-
v1.11.1-rc1 Changes
August 06, 2020๐ PCL 1.11.1 brings in new bug fixes and improvements such as
- Increasing coverage of
index_t
for allowingstd::int64_t
as indices - Increased conformance to
std::vector
API forPointCloud
- Speed improvements, thread safety and a new flexible experimental filter
๐ For an exhaustive list of newly added features, deprecations and other changes
๐ in PCL 1.11.1, please see CHANGES.md.โก๏ธ PS: Link wouldn't work since CHANGES.md isn't updated
- Increasing coverage of
-
v1.11.0 Changes
May 11, 2020Starting with PCL 1.11, PCL uses
std::shared_ptr
andstd::weak_ptr
instead of the boost smart pointers. The change leverages type aliases included with the 1.10.0 ๐ release. PCL 1.11 also introducespcl::index_t
which should be used for the size ๐ of point types instead ofint
,std::size_t
, etc. EOL for deprecated features ๐ is also explicitly mentioned in the deprecation compile time warningsNotable changes
๐ New features added to PCL
- [common] Provide dynamic and static pointer casts in namespace pcl to allow easy migration in future [#3770]
- [common] Add
ignore
function to remove Doxygen warnings for unused arguments [#3942] - ๐ [docs] Generate TODO list [#3937]
- ๐ฎ Force include order via clang-format [#3909]
- ๐ Change PCL smart pointers from
boost
tostd
[#3750] - [ci] Add pipeline for building PCL's environment docker image [#3843]
๐ Deprecation of public APIs, scheduled to be removed after two minor releases
- [common] Remove
#undef Success
in pcl_macros.h by extractingPCL_MAKE_ALIGNED_OPERATOR_NEW
into memory.h [#3654] - [common] Rename
point_traits.h
intotype_traits.h
[#3698] - [filters] Deprecating functions in non-speclialized Passthrough filter [#3888]
- [outofcore][registration] Homogenize deprecation with PCL_DEPRECATED [#3925]
- [cmake][visualization] Deprecate legacy OpenGL backend of VTK [#4065]
Removal of the public APIs deprecated in previous releases
- [io][recognition][tools] Remove very old deprecated headers [#3906]
- ๐ [docs] Remove backup (and defunct)
CMakeLists.txt
[#3915] - Remove use of VTK_EXCLUDE_STRSTREAM_HEADERS (unavailable since VTK 6.0.0) [#3939]
Behavior changes in classes, apps, or tools
- [io] Make grabbers move-only using
unique_ptr
[#3626]
API changes that did not go through the proper deprecation and removal cycle
- [io] Make grabbers move-only using
unique_ptr
[#3626] - [common] Add
pcl::index_t
; move some type declarations frompcl/pcl_macros.h
topcl/types.h
[#3651] - [filters] Clean up
Filter
andFilterIndices
, moveindices_
/input_
from public to protected section [#3726] - [registration] Better Generalized ICP optimizer gradient check management [#3854]
- ๐ Change PCL smart pointers from
boost
tostd
[#3750] - [registration] Removing deprecated method
setInputCloud
from public API [#4026]
ABI changes that are still API compatible
- [filters] NormalSpaceSampling - fix bucket assignment, remove use of raw distribution pointer, unit-test rewriting [#3862]
- [io] Add pcl::weak_ptr to have a single-switch move from boost:: to std:: weak pointers [#3753]
๐ Changes grouped by module
CMake:
- โ Add a stamp file to build documentation once [#3819]
- ๐ Fix compilation in OSX Catalina with OMP enabled [#3721]
- 0๏ธโฃ Show proper message in CMake config for default-off modules [#3927]
- ๐ [deprecation] Deprecate legacy OpenGL backend of VTK [#4065]
libpcl_2d:
- variable assigned a value which is never used [#3857]
- ๐ Fix issue with missing templating of
Keypoint
. Fixes coming from clang-doxy [#3898]
libpcl_common:
- ๐ [deprecation] Remove
#undef Success
in pcl_macros.h by extractingPCL_MAKE_ALIGNED_OPERATOR_NEW
into memory.h [#3654] - ๐ Fix issues with math defines on mingw-w64. [#3756]
- [API break] Add
pcl::index_t
; move some type declarations frompcl/pcl_macros.h
topcl/types.h
[#3651] - ๐ [deprecation] Rename
point_traits.h
intotype_traits.h
[#3698] - ๐ Improve
PCL_DEPRECATED
macro to include scheduled removal version [#3808] - ๐ Fix erroneous PCL version in deprecated message [#3824]
- Select OpenMP data sharing mode based on specific GCC versions [#3823]
- Define
PointIndices
based on the globalIndices
type alias [#3822] - ๐ Fix warning C4067: unexpected tokens following preprocessor directive- expected a newline [#3871]
- [new feature] Provide dynamic and static pointer casts in namespace pcl to allow easy migration in future [#3770]
- [new feature] Add
ignore
function to remove Doxygen warnings for unused arguments [#3942] - ๐ Fix excessive warnings on MSVC [#3964]
- ๐จ Refactoring
PCL_DEPRECATED
macro [#3945] - Correcting type mismatch [#3967]
- โ Removed empty file [#4019]
libpcl_filters:
- Clean up code duplication in
FilterIndices
derived classes [#3807] - [API break] Clean up
Filter
andFilterIndices
, moveindices_
/input_
from public to protected section [#3726] - ๐ [deprecation] Deprecating functions in non-speclialized Passthrough filter [#3888]
- [ABI break] NormalSpaceSampling - fix bucket assignment, remove use of raw distribution pointer, unit-test rewriting [#3862]
- โก๏ธ Optimize VoxelGrid Filter [#3853]
- ๐ Fix error due to multiple declarations of template member function specializations in convolution [#3971]
libpcl_io:
- [ABI break][API break][behavior change] Make grabbers move-only using
unique_ptr
[#3626] - [removal] Remove very old deprecated headers [#3906]
- [ABI break] Add pcl::weak_ptr to have a single-switch move from boost:: to std:: weak pointers [#3753]
- ๐ Use pcl::io::raw_read instead of direct call to POSIX function read [#4062]
libpcl_octree:
- ๐ Fix a memory leak in
OctreeBase::operator=
[#3787]
libpcl_outofcore:
- ๐ [deprecation] Homogenize deprecation with PCL_DEPRECATED [#3925]
libpcl_people:
- ๐ Missing include on windows [#3791]
libpcl_recognition:
- [removal] Remove very old deprecated headers [#3906]
libpcl_registration:
- [API break] Better Generalized ICP optimizer gradient check management [#3854]
- ๐ [deprecation] Homogenize deprecation with PCL_DEPRECATED [#3925]
- [API break] Removing deprecated method
setInputCloud
from public API [#4026]
libpcl_sample_consensus:
- ๐ Better performance, error handling and other improvements in SAC classes [#3642]
- ๐ Use better types for indices:
int
->index_t
,std::vector<int>
->Indices
[#3835]
libpcl_search:
- ๐ Use better types for indices:
int
->index_t
,std::vector<int>
->Indices
[#3840] - โ Add include for
pcl::isFinite
for compilation on VS2019 [#4056]
libpcl_segmentation:
- Check and warn user about missing normals in
OrganizedMultiPlaneSegmentation
[#3861]
libpcl_surface:
- ๐ Fix error due to multiple declarations of template member function specializations in Poisson4 [#3972]
- โฌ๏ธ Reduce time taken in
TextureMapping::sortFacesByCamera
fromO(faces*points)
toO(faces)
[#3981]
libpcl_visualization:
- Minor fix for converting unorganized PointClouds to VTK data [#3988]
- ๐ Fixes #4001 and #3452. [#4017]
- ๐ [deprecation] Deprecate legacy OpenGL backend of VTK [#4065]
- ๐ Fix rendering of points. [#4067]
๐ PCL Docs:
- ๐ Fix Doxygen warnings unrelated to documentation -- Part 1 [#3701]
- โก๏ธ update automatic code formatting info to clang-format [#3845]
- replace formula with math [#3846]
- ๐ Fix PCL_DEPRECATED usage in doxygen for a proper Deprecation List in documentation [#3905]
- [removal] Remove backup (and defunct)
CMakeLists.txt
[#3915] - [new feature] Generate TODO list [#3937]
- ๐ Improve output to match the text in tutorial by adding a newline [#4029]
- ๐ Fix typo in region growing tutorial [#4052]
- โ Add information regarding header include order [#4020]
PCL Tutorials:
- โ Add a unit test for ICP and modernize tutorial code [#3628]
PCL Examples:
- โ Remove unnecessary includes in examples [#4071]
PCL Tools:
- [removal] Remove very old deprecated headers [#3906]
CI:
- โ Temporary fix for skipping of certain tests [#3789]
- ๐ท Simplify Ubuntu CI using matrix strategy [#3783]
- Strip leading tag in commit message from changelog [#3847]
- Shift to clang-format-10 to resolve bug in clang-format-{7-9} [#3895]
- [new feature] Add pipeline for building PCL's environment docker image [#3843]
- ๐ Improve docker ci for other PRs [#4051]
- โ Remove unused variables from exceptions [#4064]
- ๐ท Removing hardcoded version number from tutorial CI [#4058]
-
v1.10.1 Changes
March 19, 2020Notable changes
๐ Deprecation of public APIs, scheduled to be removed after two minor releases
- [common] Deprecate several
PointWithViewpoint
ctors; make ctors more uniform in PCL point types [#3597]
Removal of the public APIs deprecated in previous releases
- [common] Remove deprecated checks for
USE_ROS
macro [#3690]
Behavior changes in classes, apps, or tools
- [tools] Continue on PCD load failure in
pcl_train_linemod_template
[#3652]
๐ Changes grouped by module
CMake:
- ๐ Fix CMake grouping of tools targets [#3709]
- Enable
PCL_ONLY_CORE_POINT_TYPES
in mingw builds [#3694] - โฌ๏ธ Downgrade RSSDK2 warning message to status [#3683]
- ๐ Fix test targets arguments for MSVC [#3636]
- โ Remove duplicate
/bigobj
for MSVC [#3604]
libpcl_common:
- Better PointType ctor and reduced warnings in
register_point_struct.h
[#3732] - [removal] Remove deprecated checks for
USE_ROS
macro [#3690] - Replace
dirent
withboost::filesystem
[#3676] - ๐ Fix code accidentally casting away const-ness [#3648]
- ๐ Fix compilation of CUDA code on Windows [#3634]
- โ Remove undefined behavior and add stricter checks in console arg parsing [#3613]
- ๐ [deprecation] Deprecate several
PointWithViewpoint
ctors; make ctors more uniform in PCL point types [#3597]
libpcl_cuda:
libpcl_features:
- โ Add precompiled
computeApproximateCovariances
; fix compilation error for the same [#3711] - ๐ Fix vector initialization in
NormalEstimationOMP
[#3614] - ๐ Fix indexing bug in
IntegralImageNormalEstimation
[#3574]
libpcl_filters:
- ๐ Set
is_dense
based on actual cloud contents inremoveNaNNormalsFromPointCloud()
[#3685]
libpcl_gpu:
- ๐ Fix compile error in KinFuLS
initRegistration
[#3737] - ๐ Fix illegal memory acces in CUDA Octree builder [#3627]
- ๐ Fix compile issue in
people_app
[#3618] - ๐ Fix compilation of CUDA/GPU modules [#3576]
libpcl_io:
- ๐ Fix
if/ifdef
WIN32 issues [#3668] - โ Add
Grabber::toggle()
method [#3615] - Close the correct file in
pcl::io::savePLYFileBinary
[#3601] - ๐ Fix entropy range encoding in octree-based pointcloud compression [#3579]
libpcl_surface:
- โ Add default initialization of grid resolution in
MarchingCubes
[#3718]
PCL Apps:
- ๐ Fix
if/ifdef
WIN32 issues [#3668]
๐ PCL Docs:
- ๐ Fix missing standard includes, reduce warnings in doxygen-enabled builds [#3755]
PCL Tutorials:
- ๐ Fix documentation for point cloud stream compression executable name [#3693]
- ๐ Fix segfault in NARF keypoint extraction tutorial [#3623]
PCL Tools:
- [common] Deprecate several
-
v1.10.0 Changes
January 19, 2020๐ Starting with PCL 1.10, to ensure compatibility with future PCL releases, please ๐ use
pcl::make_shared
and theClass::Ptr
+Class::ConstPtr
type-alias instead of using direct names like{boost, std}::shared_ptr
or{boost, std}::make_shared
. There is alsopcl::shared_ptr
which offers the same abstraction for non-PCL types.New Features:
๐ Newly added functionalities.
- [sample_consensus] Add parallel RANSAC implementation with OpenMP [#3514]
- [registration] Add linear least squares version of symmetric objective function for ICP [#3390]
- [common] Add concatenate operation for
PolygonMesh
[#3316] - [common] Add
emplace[_back]
topcl::PointCloud
[#3207] - [cmake] Add
format
compilation target that appliesclang-format
to whitelisted modules [#3188] - [common] Add
pcl::make_shared
that automatically handles aligned allocations [#3163] - [modernization][cmake] Enable C++ 14 flags [#2690]
- [io] Add RSSDK 2.0 (librealsense2) grabber [#2214]
๐
Deprecated:
๐ Deprecated code scheduled to be removed after two minor releases.
- [common] Revert smart pointer type change in
PointCloud
and deprecategetMapping()
[#3563] - [common] Deprecate
getFields()
with output parameter in favor of overload with return value [#3401] - [recognition] Refactor
MaskMap
and deprecate several of its methods [#3399] - [common] Deprecate
getFieldIndex()
/getFields()
with first argument as cloud [#3365] - [common] Add
PCLPointCloud2::operator+=()
and update concatenation operation [#3320] - [segmentation] Delete unused params in
OrganizedMultiPlaneSegmentation::refine()
[#3302] - [visualization] Add new overload of
PointCloudColorHandler::getColor()
[#3187] - [modernization][io] Add
registerCallback()
overload to grabbers to support assignment ofboost::function
s with templated signatures [#3128] - [surface] Convert
MovingLeastSquaresOMP
into an alias template and deprecate [#3119] - [kdtree] Remove unnecessary FLANN includes, deprecate "kdtree/flann.h" header [#2993]
- [features] Deprecate
computeRSD()
functions that take pointclouds by pointer [#2827] - [modernization] Deprecate
pcl_isnan
,pcl_isfinite
, andpcl_isinf
in favor ofstd
methods [#2798, #3457] - [filters] Restructure and add functionality to filters templated on
PCLPointCloud2
[#3483, #3500]
๐
Removed:
๐ Removal of deprecated code.
- [segmentation] Remove
SupervoxelClustering::getColoredVoxelCloud()
[#3469] - [io] Remove FZ-API [#2747]
Behavioral changes:
๐ Changes in the expected default behavior.
- [sample_consensus] Set default min and max angle for SAC cone models [#3466]
- [tools] Do not discard data fields in
pcl_uniform_sampling
tool [#3461] - [common] Disable colored output for non-interactive terminals [#3310]
- [io] Add support for device URI in
OpenNI2Grabber
constructor [#3238] - [common] Enforce right-hand-rule on PCA eigenvectors [#2946]
- [visualization] Improve c/C command in
PCLVisualizer
[#2926] - [registration] Fix ICP misbehavior in the "failure after maximum iterations" mode [#2892]
- [common] Initialize curvature in
PointNormal
default constructor [#2674]
API changes:
๐ Changes to the API which didn't go through the proper deprecation and removal cycle.
- [gpu] Replace
uint64_type
bystd::uint64_t
[#3435] - [modernization] Migrate from
boost::tuple
tostd::tuple
[#3250] - [modernization] Migrate
boost::function
tostd::function
[#3079]
ABI changes:
๐ Changes that cause ABI incompatibility but are still API compatible.
- [modernization] Migrate from
boost::unordered_map
tostd::unordered_map
[#3107] - [modernization] Migrate to standard library type traits [#3105]
- [visualization] Minor refactoring of
pcl::visualization::Camera
and related functions [#2901] - [modernization] Migrate from
boost::thread
tostd::thread
[#3060, #3094] - [modernization] Prefer using
Ptr
typedefs and migrate tostd
smart pointers in non-API code [#2804, #2821, #2823, #2929, #3061, #3141, #3142, #3217, #3474, #3482, #3486, #3489, #3497] - [modernization] Migrate to
std
random number generators [#2956, #2962, #3069] - [filters] Restructure and add functionality to filters templated on
PCLPointCloud2
[#3483, #3500]
Migration to C++14 and code modernization:
- Convert
boost::shared_ptr
topcl::shared_ptr
[#3546] - ๐ Better indices in loops [#3543]
- Replace raw arrays with
std::vector
s inRangeImageBorderExtractor
[#3533] - โ Remove redundant calls to
std::string::c_str()
[#3517] - Convert
pcl::int_t
tostd::int_t
[#3422] - โ Remove deprecated
throw
specifier [#3384] - Prefer
numeric_limits
from standard library [#3360] - โ Add missing
std::move
orconst
reference for parameters [#3253] - [api] Migrate from
boost::tuple
tostd::tuple
[#3250] - Migrate from
boost::bind
tostd::bind
[#3249] - ๐ Use transparent functors [#3224]
- โ Add
cloexec
option tofopen
[#3223] - ๐ [deprecation] Add
registerCallback()
overload to grabbers to support assignment ofboost::function
s with templated signatures [#3128] - [abi] Migrate from
boost::unordered_map
tostd::unordered_map
[#3107] - [abi] Migrate to standard library type traits [#3105]
- โ Remove dead stores [#3095]
- [api] Migrate
boost::function
tostd::function
[#3079] - โ Remove redundant member field initialization [#3070]
- Prefer returning braced init list [#3039]
- Prefer
empty()
oversize()
when checking container state [#3033] - Prefer combined assignment operators [#3030]
- โ Remove unnecessary
nullptr
checks beforedelete
[#2990] - ๐ Improve readability of string comparisons [#2986]
- Prefer
std::isnan
over!=
comparison trick [#2977] - โ Remove deprecated Boost Filesystem code [#2966]
- Migrate from
BOOST_STATIC_ASSERT
andEIGEN_ASSERT
tostatic_assert
[#2951] - Prefer
std::log2
over custom implementation [#2950] - Migrate from
boost::this_thread::sleep
tostd::this_thread::sleep_for
[#2921] - ๐ Fix bug prone loop variables that are too small [#2829]
- Migrate from
boost::math::isnan
tostd::isnan
[#2819] - ๐ Fix "variableScope" hints from CppCheck [#2807]
- ๐ Improve performance of finding single character in strings [#2794]
- Prefer using
bool
literals [#2793] - Simplify boolean expressions [#2790]
- Prefer raw strings over escaped strings [#2789]
- Prefer
std::to_string
overboost::lexical_cast
for integer conversions [#2785] - Prefer
emplace_back
overpush_back
[#2784] - โ Remove unnecessary void parameter [#2780]
- ๐ Use
=delete
to disable special members [#2779] - ๐ Fix access to static members through instances [#2776]
- โ Remove usage of deprecated
register
storage class specifier [#2761] - โ Remove redundant string initialization with
""
[#2758] - โ Add
cloexec
option tofopen
[#2755] - ๐ Replace deprecated C library headers [#2737]
- Modernize code to use
override
[#2728] - ๐ Prefer standard
[[deprecated]]
attribute [#2699] - [new-feature] Enable C++ 14 flags [#2690]
- Revise arguments which were being passed by value instead of as a reference [#2668]
- ๐ Fix "knownConditionTrueFalse" hints from CppCheck [#2648]
- ๐ Fix "unreadVariable" hints from CppCheck [#2645]
- Replace
hash_map
withunordered_map
in 3rdparty/poisson4 [#2640] - Prefer lambdas over binds [#3136, #3171, #3173, #3178, #3189, #3192, #3199, #3209, #3231, #3243, #3254]
- Prefer range-based for loops [#2812, #2834, #2835, #2836, #2837, #2838, #2839, #2840, #2841, #2842, #2843, #2844, #2845, #2846, #2847, #2848, #2849, #2850, #2851, #2853, #2854, #2855, #2856, #2857, #2858, #2859, #2860, #2887, #3396, #3557]
- Prefer
nullptr
over 0 andNULL
[#3004, #3005, #3006, #3007, #3008, #3009, #3010, #3011, #3012, #3013, #3014, #3015, #3016, #3017, #3018, #3019, #3020, #3021, #3022, #3023, #3024, #3025, #3026, #3027, #3028, #3029] - Migrate to
std::chrono
[#2913, #2919, #3318] - [abi] Migrate from
boost::thread
tostd::thread
[#3060, #3094] - ๐ Migrate
mutex
,lock
andcsv
to modernization [#3063, #3068, #3074, #3078, #3084, #3086, #3088, #3091, #3093, #3100] - Prefer
using
overtypedef
[#3112, #3113, #3115, #3117, #3118, #3121, #3122, #3123, #3124, #3125, #3129, #3130, #3132, #3134, #3137, #3138, #3139, #3144] - Prefer
std
math functions over C functions [#3087, #3236, #3255, #3256, #3257, #3258, #3270, #3271, #3272, #3280, #3282, #3287] - [abi] Prefer using
Ptr
typedefs and migrate tostd
smart pointers in non-API code [#2804, #2821, #2823, #2929, #3061, #3141, #3142, #3217, #3474, #3482, #3486, #3489, #3497] - [abi] Migrate to
std
random number generators [#2956, #2962, #3069] - ๐ [deprecation] Deprecate
pcl_isnan
,pcl_isfinite
, andpcl_isinf
in favor ofstd
methods [#2798, #3457] - โ Add explicit
std::
prefix to standard types/functions [#3265, #3326, #3327, #3328, #3354, #3426, #3434] - โ Remove
else
afterreturn
statement [#3180, #3181, #3182, #3183, #3184, #3185, #3186] - โ Remove redundant
typename
keyword [#2896, #2897, #2927] - Prefer
#pragma once
over#ifndef
include guards [#2617, #2707] - Apply clang-format to white-listed modules [#3343, #3344, #3356, #3363, #3393, #3416]
- โ Remove default constructors/destructors [#3440, #3454]
- ๐ Fix various compiler warnings [#2665, #2775, #2778, #2781, #2782, #2822, #2898, #2907, #3001, #3075, #3076, #3153, #3155, #3208, #3212, #3214, #3342, #3345, #3348, #3366, #3372, #3375, #3377, #3385, #3388, #3409, #3425, #3427, #3507, #3509, #3554, #3555]
- Prefer
std::size_t
in loops [#3550, #3556]
Modules:
CMake:
- Set compile features on imported PCL targets [#3567]
- Create CMake imported targets for header-only modules [#3495]
- โ Add
PCL_WARNINGS_ARE_ERRORS
CMake option and enable it in Ubuntu 16.04 CI job [#3478] - Avoid using
VERSION_GREATER_EQUAL
to preserve compatibility with CMake 3.5 [#3460] - โ Remove policy push/pop from "PCLConfig.cmake" file [#3431]
- ๐ Fix link-type keywords in linked libraries in "PCLConfig.cmake" with CMake >= 3.11 [#3341]
- โก๏ธ Update prefix hints in GTest finder script [#3331]
- ๐ PCL All-in-one Installer: add process to add/remove VTK path [#3322]
- โ Add
surface
module to the list of dependencies ofexamples
[#3295] - โ Add missing install rule for "2d/kernel.hpp" header [#3278]
- [new-feature] Add
format
compilation target that appliesclang-format
to whitelisted modules [#3188] - ๐ Use
COMPONENTS
when finding VTK to avoid linking agains unnecessary modules [#3140] - โ Add thread library of the system by
Threads::Threads
instead of via-pthread
flag [#3102] - ๐ฆ Fix
find_package_handle_standard_args
incorrect argument in GTest finder script [#3098] - ๐ Fix compound target's target registration [#3090]
- Set
CMP0072
toNEW
to preferGLVND
over legacy OpenGL modules [#3066] - โ Improve parsing of
BUNDLE
option inPCL_ADD_EXECUTABLE
[#3064] - ๐ Change debug/release targets postfix on Windows [#3055]
- โ Add version info on Windows for DLLs/Exe [#3054]
- Modernize some CMake macros (Increases minimum required CMake version to 3.5) [#3044]
- โ Add newer Boost versions to
Boost_ADDITIONAL_VERSIONS
[#3003] - ๐ Refactor
PCL_MAKE_PKGCONFIG
[#2894] - โฌ๏ธ Bump Eigen minimum version to 3.1 [#2893]
- ๐ Improve compatibility with latest VTK [#2885]
- PCL All-in-one Installer: add quiet flag to msiexec installs [#2873]
- ๐ Use
-mtune
instead of-march
on non-x86 CPUs [#2868] - Prevent adding
/MP
flag for MSVC in case any other language than C/CXX will be used (e.g. CUDA) [#2862] - โ Add support for Visual Studio 2019 [#2826]
- โฌ๏ธ Drop MSVC 2013 (and below) support [#2817]
- โฌ๏ธ Drop GCC 4 support [#2760]
- Mark include directories of 3rd-party libraries as system includes [#2733]
- ๐ Fix Qt5 CMake issue [#2719]
- โฌ๏ธ Reduce unnecessary nesting in "CMakeLists.txt" [#2718]
- โฌ๏ธ Drop Qt4 support [#2716]
- Remove unnecessary
VTK_INCLUDE_DIRECTORIES
[#2713] - โ Add
MSVC_MP
CMake option to adjust number of parallel build jobs [#2705] - Set interface compile features to
cxx_std_14
on PCL targets [#2697] - Reorganize and beautify project generation for IDEs [#2691]
- [new-feature] Enable C++ 14 flags [#2690]
- โ Remove vendored "FindGLEW.cmake" and adopt imported targets; rename "FindGTest.cmake" to prevent name clash [#2679]
- โ Add compound CMake targets for examples, tools, and apps [#2673]
- Set CMake policy
CMP0074
toNEW
[#2671] - โ Remove conditional code for no longer supported versions of CMake [#2667]
- ๐ Raise minimum required Boost version to 1.55; fix deprecated Boost endians [#2801]
- Modernize FLANN finder script [#2740, #2861, #2905, #2910, #3157, #3202, #3220, #3317]
libpcl_2d:
- ๐ Fix
EIGEN_ALIGN16
positionining for point typeXYZHSV
[#3237]
libpcl_common:
- ๐ [deprecation] Revert smart pointer type change in
PointCloud
and deprecategetMapping()
[#3563] - Define
RangeImage
destructor as virtual [#3477] - ๐จ Refactor
pcl::eigen33()
to reduce potential errors (and remove bug) [#3441] - ๐ Use generic detection idiom in
isFinite()
[#3402] - ๐ [deprecation] Deprecate
getFields()
with output parameter in favor of overload with return value [#3401] - ๐จ Refactor polynomial calculations and remove memory leak [#3392]
- โ Removes deprecated usage of
getFields(cloud, fields)
[#3374] - ๐ [deprecation] Deprecate
getFieldIndex()
/getFields()
with first argument as cloud [#3365] - โ Remove
vector.reserve()
from hot path in cloud concatenation [#3361] - ๐ [deprecation] Add
PCLPointCloud2::operator+=()
and update concatenation operation [#3320] - [new-feature] Add concatenate operation for
PolygonMesh
[#3316] - Simplify the resize logic in
PCLBase
[#3315] - [behavior] Disable colored output for non-interactive terminals [#3310]
- [new-feature] Add
emplace[_back]
topcl::PointCloud
[#3207] - [new-feature] Add
pcl::make_shared
that automatically handles aligned allocations [#3163] - [behavior] Enforce right-hand-rule on PCA eigenvectors [#2946]
- ๐ Fix a bug in
CentroidPoint
[#2875] - [behavior] Initialize curvature in
PointNormal
default constructor [#2674]
libpcl_cuda:
- โ Remove code for CUDA below 7.5, update version checks [#3152]
- โ Add missing include to support CUDA 10.1 [#2883]
- โฌ๏ธ Drop CUDA 7.0 (and below) support [#2736]
libpcl_features:
- ๐ Fix numerical issue in GASD estimation [#3498]
- ๐ [deprecation] Deprecate
computeRSD()
functions that take pointclouds by pointer [#2827] - ๐ Fix data race in
NormalEstimationOMP
on Windows [#2770]
libpcl_filters:
- ๐ Merge pull request #3540 from facontidavide/fix_filter [#3540]
- ๐ Fix incorrect switch fallthrough in convolution operator [#3429]
- ๐ Use
size_t
for address computation inCropBox
filter [#3418] - ๐ Fix a bug in removed index extraction in
UniformSampling
[#3323] - ๐ Fix
CropBox
with indices; add new assertions for unit tests [#3306] - ๐ Use fixed-size Eigen block expressions in
FrustumCulling
[#2786] - ๐ [abi][deprecation] Restructure and add functionality to filters templated on
PCLPointCloud2
[#3483, #3500]
libpcl_gpu:
- ๐ Fix building of KinFu Large Scale app with Visual Studio [#3504]
- [api] Replace
uint64_type
bystd::uint64_t
[#3435] - โ Add OpenNI2 support to
kinfu_largescale
tool [#3391] - ๐ Use
constexpr
in KinFu and KinFu large scale apps [#3386] - โ Remove duplicated and unused "cutil_math.h" [#3264]
- Drop unnecessary CUDA_ARCH checks [#3154]
- โ Remove code for CUDA below 7.5, update version checks [#3152]
- โ Remove unused timer routines in "NCV.cu" [#3135]
- โ Add sync variants to CUDA vote functions to support PTX/ARCH >= 7.0 [#2981]
- Fix
-debug
option parsing inpeople_pcd_prob
tool [#2656]
libpcl_io:
- ๐ Make PLY parser more tolerant towards files not adhering to standard [#3542]
- ๐ Fix a bug in binary header generation for PCD files [#3522]
- [behavior] Add support for device URI in
OpenNI2Grabber
constructor [#3238] - Include "pcl_config.h" before checking
HAVE_OPENNI2
[#3191] - ๐จ Print descriptive error if PLY file not found [#3143]
- ๐ [deprecation] Add
registerCallback()
overload to grabbers to support assignment ofboost::function
s with templated signatures [#3128] - ๐ Fix preallocation of memory in PLY reader [#2800]
- ๐ Fix possible integer overflow while iterating
PointCloud
fields [#2754] - [removal] Remove FZ-API [#2747]
- ๐ Improve loading of massive PLY files [#2715]
- [new-feature] Add RSSDK 2.0 (librealsense2) grabber [#2214]
- ๐ Fix callback signatures in some grabbers [#3216, #3225]
libpcl_kdtree:
- ๐ [deprecation] Remove unnecessary FLANN includes, deprecate "kdtree/flann.h" header [#2993]
libpcl_keypoints:
- โ Removed all duplicated branches in
AgastKeypoint2D
[#2657]
libpcl_recognition:
- ๐ Use range-based for loops with
boost::filesystem::directory_iterator
[#3432] - ๐ [deprecation] Refactor
MaskMap
and deprecate several of its methods [#3399] - โ Add missing include in "trimmed_icp.h" [#3286]
- ๐ Use I/O helper method in
pcl::LineRGBD
[#2796]
libpcl_registration:
- ๐ Make
Registration::hasConverged()
const-qualified [#3456] - ๐ Fix debug message by reordering statements in GICP [#3398]
- [new-feature] Add linear least squares version of symmetric objective function for ICP [#3390]
- ๐ Fix the OpenMP errors/warnings in "ia_fpcs.hpp" [#3389]
- ๐ Fix
pcl::Registration::getFitnessScore()
documentation [#3082] - [behavior] Fix ICP misbehavior in the "failure after maximum iterations" mode [#2892]
libpcl_sample_consensus:
- [new-feature] Add parallel RANSAC implementation with OpenMP [#3514]
- [behavior] Set default min and max angle for SAC cone models [#3466]
- โ Add
const
qualifier to multiple methods in SAC module [#2970] - ๐ Fix regression in
pcl::SACSegmentation
line fitting [#2767]
libpcl_segmentation:
- [removal] Remove
SupervoxelClustering::getColoredVoxelCloud()
[#3469] - ๐ [deprecation] Delete unused params in
OrganizedMultiPlaneSegmentation::refine()
[#3302] - โ Add
noexcept
forboost::checked_delete<>
friend [#2942] - ๐ Fix
SupervoxelClustering
compilation problem in MSVC 2015.3 [#2867]
libpcl_simulation:
- Fix bug in
SimExample::write_depth_image_uint
trigerring-Wtype-limits
warning [#3430]
libpcl_stereo:
- ๐ Merge pull request #3566 from kunaltyagi/stereo [#3566]
libpcl_surface:
- ๐ Fix undefined behaviour in
OctNode
[#3561] - ๐ Fix memory leak in
TextureMapping
[#3549] - Prevent
memset
for empty vector in 3rdparty/poisson4 [#3537] - โ Remove incorrect tree update in
MarchingCubes
[#3240] - ๐ [deprecation] Convert
MovingLeastSquaresOMP
into an alias template and deprecate [#3119] - ๐ Fix a bug in
ConvexHull
when indices are used [#2999] - โ
Include "pcl_config.h" before testing
HAVE_QHULL
[#2979] - Throw exceptions instead of
exit(0)
in Poisson surface reconstruction [#2891] - Add check for invalid plane coefficients in
MovingLeastSquares
[#2805] - ๐ Fix the size of the lookup table in
BilateralUpsampling
[#2749] - Replace
hash_map
withunordered_map
in 3rdparty/poisson4 [#2640]
libpcl_visualization:
- โ Add a flag to disable window autoresizing in
ImageViewer
[#3394] - ๐ [deprecation] Add new overload of
PointCloudColorHandler::getColor()
[#3187] - [behavior] Improve c/C command in
PCLVisualizer
[#2926] - โ Disable VTK warning display with OpenGL rendering backend [#2912]
- [abi] Minor refactoring of
pcl::visualization::Camera
and related functions [#2901] - ๐ Fix a bug in
PCLVisualizer::setShapeRenderingProperties()
[#2900] - ๐ Fix possible integer overflow while iterating
PointCloud
fields [#2754] - Raise minimum VTK version to 6.2 [#2685]
PCL Apps:
- ๐ Fix memory leaks in OpenNI apps [#3553]
- ๐ Use range-based for loops with
boost::filesystem::directory_iterator
[#3432] - Do not use deprecated function in
stereo_ground_segmentation
[#3406] - โ Add missing
std::move
orconst
reference for parameters [#3232] - Remove magic numbers from
organized_segmentation_demo
app [#3108] - Add missing include
render_views_tesselated_sphere
app [#2909] - โ Remove Qt version checks [#2762]
- Cleanup Qt includes in Modeler app [#2756]
- Cleanup Qt includes in CloudComposer app [#2744]
- ๐ Fix MSVC compile issues in CloudComposer app [#2712]
- ๐ Fix Modeler app with OpenGL2 rendering backend [#2653]
๐
PCL Docs:
- ๐ Fix and improve documentation in
sample_consensus
module [#3301] - ๐ Fix
pcl::Registration::getFitnessScore()
documentation [#3082] - ๐ Fix source file name path stripping in Doxygen [#2714]
PCL Tutorials:
- ๐ Fix "CMakeLists.txt" in VFH tutorial [#3449]
- โก๏ธ Update information about types with RGBA data in tutorial [#3294]
- โ Add a note about adjusting passthrough limits in template alignment tutorial [#3193]
- โ Add missing shell command in "Building PCL" tutorial [#2996]
- ๐ Fix cube rendering properties in "Moment of Inertia" tutorial [#2880]
- Migrate from
boost::math::iround
tostd::lround
[#2818] - Link with
PCL_LIBRARIES
, notPCL_***_LIBRARIES
[#2799]
โ
PCL Tests:
- ๐ Move OMP version of
MovingLeastSquares
into a separate test case [#3382] - ๐ Fix
CropBox
with indices; add new assertions for unit tests [#3306] - ๐ฆ Fix
find_package_handle_standard_args
incorrect argument in GTest finder script [#3098] - โ
Do not test buffers instantiated with
char
template argument [#2980] - ๐ Remove
GTEST_USE_OWN_TR1_TUPLE
defines [#2828] - โ Add a new test for
SampleConsensusModelLine
[#2768] - โ
Split
test_registration
into three binaries [#2727]
PCL Tools:
- [behavior] Do not discard data fields in
pcl_uniform_sampling
tool [#3461] - โ Add missing includes in
ensenso_viewer.cpp
[#3035] - Do not terminate
openni_viewer
/openni2_viewer
if image viewer was not instantiated [#2698]
CI:
- โ Add
PCL_WARNINGS_ARE_ERRORS
CMake option and enable it in Ubuntu 16.04 CI job [#3478] - โ Add a new Azure pipeline for Ubuntu 19.10 [#3446]
- โ Add formatting job on CI [#3420]
- โ Add Dockerfiles for images used on CI [#3350]
- โ Publish test results on Azure pipelines [#2948]
- ๐ Build tutorials on Azure Pipelines [#2696]
-
v1.9.1 Changes
November 26, 2018= 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
andSHOTColorEstimation
tests [#2636]
CI:
-
v1.9.0 Changes
November 06, 2018New 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 tosize_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 branch of Visual C++ 2017 [#2121]
- ๐ Add *_USE_STATIC options to PCLConfig [#2086]
- โ Add search path suffixes for Vcpkg [#2085]
- โก๏ธ Update finder scripts for Ensenso, OpenNI, and OpenNI2 [#2061]
- ๐ Fix PACKAGE to include cmake/Modules directory [#2053]
- Unifies Find scripts in PCLConfig [#1421]
- CUDA 9 Arch Flags [#2047]
- Suppress log when PCL_FIND_QUIETLY is turned on. [#2032]
- ๐ fix /MP option not generated for Visual Studio. [#2031]
- Generate pkgconfig for 2d module [#1979]
- โก๏ธ Update Find Boost [#1972]
- โ Added CUDA compute capability 5.3 [#1929]
- ๐ Fix issue with finding pcl deployed out of path [#1923]
- โ Add new gtest path [#1920]
libpcl_2d:
- ๐ Avoid huge index jumps in
RandomSample
. Removeio
dependency from2d
. [#2141] - ๐ Fix header names [#2079]
- Generate pkgconfig for 2d module [#1979]
libpcl_common:
- ๐ Fix docstrings [#2591]
- ๐ป Throw an early exception to prevent divide by zero error (#2481) [#2530]
- โ
Relax requirements in eigen22d test. Always provide a normalized result in
pcl::transformPlane
. [#2503] - [behavior] PointCloudDepthAndRGBtoXYZRGBA: initialize with the default alpha value (fix #2476) [#2533]
- Throw
UnorganizedPointCloudException
inPointCloud::at
[#2521] - โ Add missing const specifier for getters in
PCLBase
. [#2502] - swap the header in pcl::PointCloud::swap [#2499]
- โ Add header guard and copyright info to polynomial_calculations.hpp [#2500]
- โ Add
header
to the print output ofPointCloud
[#2498] - ๐ Fix force recalculation option in
BivariatePolynomialT::calculateGradient
[#2479] - ๐ Fix various errors and typos in the docstrings and tutorials [#2486]
- ๐ Fix a bug in
PointRGBtoI
color conversion [#2475] - Provide
operator<<
forIntensity32u
point type [#2467] - [behavior]
PointXYZRGBL
label
field is now default constructed to 0 [#2462] - โ Add some missing eigen alignment operators [#2433]
- ๐ Intel fixes [#2432]
- [new-feature] Add Viridis color LUT [#2420]
- โ Remove malloc header to restore builds on BSDs [#2374]
- Add support for multiple extensions in
parse_file_extension_argument ()
. [#2347] - ๐ Improve speed of
transformPointCloud/WithNormals()
functions [#2247] - โ Add RGB constructor that takes R, G, and B components [#2329]
- [abi] Improved docstrings and error messages [#2300]
- [abi] Modified
GlasbeyLUT
indexing type tosize_t
[#2297] - Add GASDSignatures to
PCL_POINT_TYPES
andPCL_FEATURE_POINTTYPES
macros. [#2295] - ๐ [PARSE] Constness of the API [#2224]
- ๐ Fix two "unreachable code" warnings in
pca.hpp
[#2219] - ๐ Fix covariance calculation in PCA [#2130]
- ๐ [abi][deprecation] Provide proper EuclideanClusterComparator method depreciation. New Pragma macro. New Deprecated type. [#2096]
- [removal] Remove deprecated ros headers [#2075]
- โ Suppress (maybe) uninitialized warning [#2073]
- [removal] Removal of PCA deprecated constructor [#2070]
- ๐ [gcc] fixes -Wimplicit-fallthrough: common/io.h [#2041]
- Include pcl/point_cloud.h and pcl/point_types.h headers. [#1962]
- ๐ Add test for macro _USE_MATH_DEFINES. [#1956]
- ๐ instantiate: remove duplicate macro definition. Fixes #1924. [#1925]
libpcl_cuda:
- โ add support for latest Turing gpu and cuda 10 [#2560]
- ๐ Fix compilation issues with CUDA 9.1 [#2212]
- ๐ Fix some CUDA 9 related errors [#2181]
- โ Added CUDA compute capability 5.3 [#1929]
libpcl_features:
- โ Solve issues with failing features tests [#2544]
- โก๏ธ Update the OpenMP implementations of normal and FPFH estimation [#2278]
- ๐ Make
MomentOfInertia
instantiations consistent with the rest of the library [#2266] - ๐ Docstring corrections [#2143]
- ๐ Improve Doxygen comments for HistogramInterpolationMethod [#2111]
- [new-feature] Add GASD global point cloud descriptor [#1652]
- โ Suppress (maybe) uninitialized warning [#2073]
- [new-feature] FLARELocalReferenceFrameEstimation class added [#1571]
- ๐ fix missing include file: from_meshes.h is using pcl::Vertices in it [#2009]
- Typo [#1968]
libpcl_filters:
- โ Corrections to CovarianceSampling class and corresponding test [#2512]
- โ Add the missing const modifier in
Filter::getRemovedIndices
. [#2523] - โ Add const modifiers to getters of pcl::PassThrough [#2524]
- โ Add const specifiers for getters in VoxelGrid. [#2526]
- Copy the pose info from the input cloud to the output cloud in NaN removal functions [#2522]
- ๐ Fix misc. typos in tutorials and docstrings [#2529]
- ๐ Fix various errors and typos in the docstrings and tutorials [#2486]
- โ Add some missing eigen alignment operators [#2433]
- โ Add PointNormal to ExtractIndices Instantiate Types [#2389]
- [abi] Improved docstrings and error messages [#2300]
- Public access to
VoxelGrid
boost pointer. [#2205] - โ Add const qualifiers to getters in
filter_indices.h
[#2193] - ๐ Avoid huge index jumps in
RandomSample
. Removeio
dependency from2d
. [#2141] - [removal] Removal of deprecated code in filters, io, surface and visualization modules [#2077]
- โ Suppress unused parameter warning [#2074]
- โ Suppress sign compare warnings [#2068]
- Transformation Fix for BoxClipper3D [#1961]
- [abi] Fixes remove_indices in UniformSampling [#1902]
- Inherit StatisticalOutlierRemoval from FilterIndices [#1663]
libpcl_gpu:
- โ Remove sm_72 from CUDA 9.0 [#2567]
- ๐ Fix compilation issues with CUDA 9.1 [#2212]
- ๐ Fix compilation error in
gpu_people
code [#2199] - ๐ Fix some CUDA 9 related errors [#2181]
- [abi] Allow specifying decimation step in convertToTsdfCloud [#2099]
- ๐ Fix the incorrect include directory. [#2024]
- need to include instantiate.hpp to use PCL_INSTANTIATE [#1943]
- โ Added CUDA compute capability 5.3 [#1929]
- ๐ Fix issue #1674 [#1926]
libpcl_io:
- โ Suppress miscelanious warnings [#2556]
- ๐ vtk2mesh: Add parsing support to the new RGBA scalar field added in vtk8 [#2492]
- ๐ Fix various errors and typos in the docstrings and tutorials [#2486]
- ๐ Improved obj file parsing efficiency. Make parsing robust against situations where there are more normals than points. Added unit tests. [#2450]
pcl::PCDReader::readHeader()
changenr_points
type tosize_t
to avoid possibleint32
overflow [#2408]- ๐ Fix raw_fallocate for Android and deal with unsupported filesystems. [#2363]
- Add low_level_io.h to the header list of the io module [#2356]
- Created header for low level I/O helpers. Fix for
::posix_fallocate
on Mac OSX [#2354] - โ Added warnings when the input data is too large for compressed pcds [#2323]
- Allocate disk space with posix_fallocate before mmapping. [#2325]
- ๐ Fix cmake warning: Logical block closes with mis-matching arguments [#2320]
- Added PCL_IO_ENABLE_MAND_LOCKING cmake flag. [#2315]
- โ Added missing 8 bytes to compressed binary pcd length. [#2281]
- โ Remove useless size check in PLYReader::endHeaderCallback() [#2246]
- [behavior] Fix PLYReader is_dense behavior [#2133]
EnsensoGrabber
uint
is undefined in Visual studio. [#2223]- โ Add protection from invalid WIDTH values in PCD reader [#2195]
PLYReader
Cast cloud point step as 64-bit integer [#2161]OpenNI2Device
Add device sensor check for IR and depth modesetting [#2150]- โ Adds a check for when CreateFileMappingA fails [#2146]
PCDWriter
changedtoff
tosize_t
inwriteBinaryCompressed
[#2144]- ๐ Prevent POINTS field parsing before point_step is specified [#2131]
- Check COUNT value specified in PCD files [#2126]
- Prevent mmapping more than the original PCD file size [#2125]
- ๐ [api][deprecation] Add support pcl::PointXYZRGBA to pcl::VLPGrabber. Deprecate rgb signatures. [#2102]
- [removal] Removal of deprecated code in filters, io, surface and visualization modules [#2077]
- โ Suppress strict alias warning [#2072]
- โ Suppress unused parameter warnings [#2067]
- [abi] Removed unused member from ply_parser [#2066]
- Suppress control reaches end of non-void function in io.h [#2057]
- Modify STRICT_ALIGN because macro expansion w/defined is undefined [#2043]
- โ Add necessary boost headers to pcl/io to build in CUDA mode [#2025]
- ๐ Fix MSVC compile issue related with ssize_t [#2027]
- โ Adds in-memory PCD serialization/deserialization; de-duplicates PCDReader::readHeader(). (take #2) [#1986]
libpcl_kdtree:
- Consistent ptr typedefs for kd tree flann [#1607]
libpcl_keypoints:
- โ Add
TrajkovicKeypoint2D/3D
to CMake build [#2179]
libpcl_ml:
- ๐ Fix installation rules for ml module [#2192]
libpcl_octree:
- [behavior] Reverse octree's depth first iterator order [#2332]
- ๐ Fix various errors and typos in the docstrings and tutorials [#2486]
- โ
Make test conditions consistent with
OctreePointCloudSearch::boxSearch()
implementation. [#2457] - โ
octree_key.h
suppress GCC 8 ignored-qualifier warning [#2405] - ๐ [api][deprecation][new-feature] Implementation of the iterator 'OctreeLeafNodeBreadthIterator'. [#2204]
- [abi][new-feature] Implementation of the iterator 'OctreeFixedDepthIterator'. [#1983]
- โ Octree Iterator begin/end method and added tests [#2174]
- โ Remove parametrization of end iterators [#2168]
- ๐ Fix docstrings in octree test [#2173]
- [api] OctreeIterators special member revision [#2108]
- โ Remove unused variable from octree_viewer [#2069]
- โ Silence compile warning by removing superfluous call to std::max() [#2014]
- [OCTREE] Add bounding box checks in isVoxelOccupiedAtPoint() and deleteVoxelAtPoint() [#1976]
libpcl_outofcore:
- Explictly use mt19937 random generator for boost 1.67. [#2338]
- ๐ Fixed queryBBIncludes_subsample [#1988]
libpcl_people:
- Misleading indentation [#2034]
libpcl_recognition:
- โ Relax threshold in Hough3DGrouping test [#2507]
- โ Add some missing eigen alignment operators [#2433]
- Setting the resolution of the occupancy grid [#2273]
- Inline helper function gcCorrespSorter() [#2248]
- Misleading indentation [#2034]
libpcl_registration:
- โ Remove std::binary_function from Registration [#2599]
- โ Suppress miscelanious warnings [#2556]
- โ Relax precision requirements on TransformationEstimationLM test. [#2497]
- โ Relax rejector threshold in JointIterativeClosestPoint test. [#2496]
- โ Add some missing eigen alignment operators [#2433]
- Remove explicit initialization of
update_visualizer_
inRegistration
[#2423] - [removal] Remove registration module deprecated methods [#2076]
- โ Suppress (maybe) uninitialized warning [#2073]
- โ Remove unreachable code in DefaultConvergenceCriteria [#1967]
- [abi] Added option to specify translation and rotation convergence deltas in ICP and NDT algorithms. [#1724]
libpcl_sample_consensus:
- โ Revise direction test in SampleConsensusModelParallelLine/RANSAC to be consistent with set tolerance. [#2491]
- ๐ Fix error in SampleConsensusModelLine::isSampleGood [#2488]
- [api] Const-qualify most of the methods in SAC model classes [#2270]
- [removal] Remove deprecated functions and variables from SAC module [#2071]
libpcl_search:
- โ Correct testPoint for organized nearest neighbor search [#2198]
libpcl_segmentation:
- โ Add some missing eigen alignment operators [#2433]
- โ Add setter/getter for search method in ConditionalEuclideanClustering [#2437]
- Increase threshold for expected value in test_non_linear [#2424]
- Avoid infinite recursion in getPointCloudDifference [#2402]
- ๐ Correct setting of is_dense flag in SegmentDifferences. Deprecate unused parameter in method. [#2380]
- Dereference shared_ptr, fix for GCC8 [#2299]
- ๐ [abi][deprecation] Provide proper EuclideanClusterComparator method depreciation. New Pragma macro. New Deprecated type. [#2096]
- โ Removed normal related accessors and types from EuclideanClusterComparator [#1542]
libpcl_simulation:
- โ Add
const
qualifiers toRangeLikelihood
getters. [#2411] - [api] Use GLuint rather than size_t to represent OpenGL indices. [#2238]
- ๐ Support both RGB and RGBA colors in mesh loading [#2036]
- [abi] Redo: Simulation: enable returning of organized point clouds [#1687]
- Simulation: more access to camera parameters [#1650]
libpcl_surface:
- ๐ Fixed memory leak in Poisson's BSplineData [#2572]
- โ Suppress miscelanious warnings [#2556]
- โ Add some missing eigen alignment operators [#2433]
- ๐ Make pcl::MovingLeastSquares thread-safe [#2418]
- [abi] Missing pcl::MovingLeastSquaresOMP declaration without /openmp [#2324]
- [abi] Improved docstrings and error messages [#2300]
- opennurbs: fix
ON_Curve::EvaluatePoint
calculation [#2185] - [removal] Removal of deprecated code in filters, io, surface and visualization modules [#2077]
- โ Suppress (maybe) uninitialized warning [#2073]
- โ Suppress sign compare warnings [#2068]
- ๐ Fix incorrect Ptr/ConstPtr typedefs in MovingLeastSquaresOMP [#2055]
- Replace float indices with Eigen Index [#2017]
- ๐ [api][deprecation][new-feature] Add new mls projection method. Deprecated
MovingLeastSquares::setPolynomialFit()
. [#1960] - Avoid phantom surfces in marching cubes hoppe [#1874]
- [api] Add ability to cache mls results [#1952]
libpcl_visualization:
- ๐ Made PCLVisualizerInteractorStyle::CloudActorMapPtr public. [#2542]
- [new-feature] Add Viridis color LUT [#2420]
- โก๏ธ Update sha1 header inclusion for Boost 1.68+ [#2373]
- Second change VTK version check in addTextureMesh [#2322]
- Include missing
vtkTexture.h
. Follow up on #2291 [#2316] - ๐ Change VTK version check in
addTextureMesh
[#2311] - โ Remove depreciated VTK function MapDataArrayToMultiTextureAttribute [#2291]
- Warn and skip adding normal cloud if it is empty [#2265]
- [api] Fix access specifier in
PointCloudColorHandlerRGBAField
[#2226] - Check if color handler returns false [#2209]
- ๐ Handle VTK legacy function (follow up to #2112) [#2165]
- ๐ Travis merge test jobs. Expose VTK include directory for the visualization module. [#2163]
- ๐ Small optimizations and fixes in PCLVisualizer [#2112]
- โ Add another variant to
getPointCloudRenderingProperties()
[#2142] - Restrict accepted types in
PCLVisualizer::addLine
signature [#2134] - Typo fix in error message. [#2132]
- ๐ Fix add/remove of 3D text without custom viewport [#2110]
- โ Add
octree
dependency tovisualization
[#2115] - ๐ Fix pcd_viewer color handling when invalid fields are present in pcd [#2105]
- โ Add pcl visualizer interactor null guards [#2104]
- โ Add remove text3d [#2088]
- Replace auto_ptr with scoped_ptr [#2037]
- [removal] Removal of deprecated code in filters, io, surface and visualization modules [#2077]
- โ Suppress sign compare warnings [#2068]
- [new-feature] Add overload to
PCLVisualizer::addText3D()
that allows specifying text orientation [#2038] - โ Add new constructors to PCLVisualizer [#2004]
- ๐ Fix bug in PointCloudGeometryHandlerCustom [#2001]
- Add missing PCL_EXPORTS in pcl_visualizer.h [#1995]
- [abi] Add accessor for current rendering framerate in PCLVisualizer [#1974]
- ๐ Allow changing LUT properties of a shape actor [#1668]
- ๐ Fixed spelling and grammar errors [#1959]
- ๐ Fixed error in documentation. [#1957]
PCL Apps:
- โ Suppress miscelanious warnings [#2556]
- Fix 3d_rec_framework compilation error [#2495]
- ๐ Fix compilation issue in point cloud editor. [#2490]
demean_cloud
correct usage message. [#2443]- Do not use deprecated method in openni_mls_smoothing app [#2421]
- โ add windows.h for includes GL/gl.h; handle cancel for denoiseWidget. [#2267]
- โ Add missing dependecy to apps [#2251]
- โ Suppress the final set of warnings in pcl apps [#2082]
- [abi] More warning suppression in pcl apps [#2080]
๐
PCL Docs:
- ๐ Fix misc. typos in tutorials and docstrings [#2529]
- ๐ Fix various errors and typos in the docstrings and tutorials [#2486]
- ๐ Docstring typos' corrections. [#2449]
demean_cloud
correct usage message. [#2443]- Set IMAGE_PATH explicitly in Doxygen config [#2442]
- Switch to using client-based search in Doxygen [#2391]
- [api] Misc. typos (cont.) [#2215]
- โ๏ธ doc: misc. typos [#2213]
- โ Add url to API/ABI compatibity report [#2116]
- ๐ Improve Doxygen comments for HistogramInterpolationMethod [#2111]
- โก๏ธ Update organized.h [#1965]
- Typo [#1968]
- ๐ Fixed spelling and grammar errors [#1959]
- ๐ Fixed error in documentation. [#1957]
PCL Tutorials:
- ๐ Fix dataset link in conditional euclidean clustering tutorial [#2546]
- ๐ Fix dead links in Walkthrough tutorial [#2532]
- Simplify explanation of PointXYZ structure in "Writing PCD" tutorial [#2534]
- ๐ Fix misc. typos in tutorials and docstrings [#2529]
- ๐ Fix a dead link to Radu Rusu's dissertation in the tutorial. [#2508]
- ๐ Fix various errors and typos in the docstrings and tutorials [#2486]
- Fix link to Institut Maupertuis's ensenso_extrinsic_calibration repo [#2447]
- โ Add settings for hypothesis verification [#2274]
- ๐ Fix ICP tutorial [#2244]
- ๐ Fix error in example code for estimate set of surface for a subset of points in the input dataset [#2203]
- โก๏ธ Update message about legacy point cloud types in tutorial [#2175]
- โ Add descriptor unpacking to GASD tutorial [#2167]
- ๐ Fix convert to
Eigen::Map<const Eigen::Vector3f>
from Normal ofpcl::PointXYZINormal
[#2128] - ๐ Fix the tutorial qt_visualizer compilation issue: qt4 -> qt5. [#2051]
- ๐ Fix several documentation typos [#2020]
- Replace literal include of wrong CMakeLists file with correct script [#1971]
- โก๏ธ Update Ensenso tutorial for Ensenso X devices [#1933]
PCL Examples:
- โ Suppress strict alias warning [#2072]
- โ Suppress (maybe) uninitialized warning [#2073]
- ๐ Fix CPC/LCCP segmentation examples for VTK 7.1 [#2063]
โ
PCL Tests:
- ๐ Corrections to Windows unit tests. [#2596]
- โ Relax eigen22f test criteria [#2553]
- โ Solve issues with failing features tests [#2544]
- โ
Relax requirements in eigen22d test. Always provide a normalized result in
pcl::transformPlane
. [#2503] - โ Enable tests_2d and tests_io in AppVeyor. [#2505]
- โ Relax threshold in Hough3DGrouping test [#2507]
- โ Relax precision requirements on TransformationEstimationLM test. [#2497]
- โ Relax rejector threshold in JointIterativeClosestPoint test. [#2496]
- ๐ vtk2mesh: Add parsing support to the new RGBA scalar field added in vtk8 [#2492]
- โ Revise direction test in SampleConsensusModelParallelLine/RANSAC to be consistent with set tolerance. [#2491]
- โ
Make test conditions consistent with
OctreePointCloudSearch::boxSearch()
implementation. [#2457] - Increase threshold for expected value in test_non_linear [#2424]
- Replace floating point numerals when using
boost::posix_time
. Fix compatibility with Boost 1.67. [#2422] - โ Cleanup and improve unit test coverage for transformPointCloud functions [#2245]
- ๐ Fixes and new assertion macro in "pcl_tests.h" [#2237]
- โ Add new gtest path [#1920]
PCL Tools:
- Allow the
pcl_uniform_sampling
tool to deal with several formats (PCD, PLY and VTK) as input or output point cloud [#2348] - ๐ mesh_sampling tool: Add support for colors [#2257]
- Error message on non-recognized feature names [#2178]
- โ Suppress sign compare warnings [#2068]
- [OCTREE] Compute accurately the centroids of octree in 'pcl_octree_viewer' [#1981]
- ๐ [api][deprecation][new-feature] Add new mls projection method. Deprecated
MovingLeastSquares::setPolynomialFit()
. [#1960] - [OCTREE] Fix pcl_octree_viewer [#1973]
- ๐ [OCTREE] Remove a useless field in octree_viewer. [#1980]
CI:
- โก๏ธ Disable Travis email notifications. Update PCL logo endpoint. [#2535]
- Migrate Travis to the new travis-ci.com platform [#2538]
- โ Enable tests_2d and tests_io in AppVeyor. [#2505]
- ๐ Fix docs on Travis CI. [#2441]
- Disable SSE flags in AppVeyor. [#2438]
- ๐ Split (yet again) Travis test job into two and tweak timings in building apps [#2182]
- [new-feature] Enable Global Tests on Windows CI [#2137]
- ๐ Travis merge test jobs. Expose VTK include directory for the visualization module. [#2163]
- โ Remove unnecessary PPAs and packages from Travis [#2153]
- ๐ AppVeyor - Change to simple style of specify triplet [#2135]
- ๐ Initial Appveyor CI integration [#2083]
- ๐ Change Travis to use pip3 for installing sphinx [#2124]
- ๐ [TRAVIS] Enable the build of apps. [#2012]
- ๐ [TRAVIS] Enable the build of tools. [#2007]
- ๐ Disable tools build in CI. [#2003]
-
v1.8.1 Changes
August 08, 2017๐ 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
withstd::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
bypcl_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_recognition:
libpcl_registration:
- ๐ Fixed GICP behavior when a guess is provided
[#989] - ๐ Fixed compilation issues in NDT 2D with Eigen 3.3
[#1821] - NDT 2D state is now properly initialized
[#1731]
libpcl_sample_consensus:
- ๐ Improved error verbose in
โก๏ธSampleConsensusModelPlane::optimizeModelCoefficient
[#1811]
libpcl_segmentation:
- ๐ Fixed bug in organized multiplane segmentation refine function where label
โก๏ธ indices were not being updated correctly
[#1502] - Corrected function signature in lccp segmentation
[#1761] - ๐ Fixed bug in boundary checking in Organized Connected Component
Segmentation
[#1800] - ๐ Clarified documentation in Super Voxel Clustering
[#1804] - ๐ Fixed bug causing unnecessary computation in Region Growing
[#1882]
libpcl_surface:
- Double pass mean and covariance estimation are now employed in
ConcaveHull::reconstruct
[#1567] - ๐ GP3 bug fixes
[#1850]
[#1879] - ๐ Fixed buggy index cast in bilateral upsampling
[#1914]
libpcl_visualization:
- ๐ Fixed bug in addPointCloudNormals which was ignoring view point information
[#1504] - ๐ Fixed bug camera FOV computation in PCLVisualizerInteractorStyle
[#1611] - ๐ Fixed a MSVC compilation error with the colormap LUT
[#1635] - Abort prematurely when the camera file cannot be opened on
๐PCLVisualizerInteractorStyle
[#1776] - ๐ Fix to
addText3D
[#1805] - โ Added some exception guards in OpenNI and OpenNI2 Viewer tools
[#1862]
PCL Apps:
- ๐ Fixed bug in point cloud editor app which allowed to select points behind
the camera
[#1539] - ๐ Explicitly define OpenGL headers to fix build on Ubuntu arm64
[#1715] - ๐ฆ Replaced the use of
slot
andsignals
keywords in QT apps for
๐ฆ theirQ_*
counterparts to present name clashes with Boost Signals
[#1898]
๐
PCL Docs:
- ๐ Fix docs generation on Windows
[#1717]
โ
PCL Tests:
- ๐ Modularized the build of unit tests.
[#1768] - Removed invalid test condition on test_common_io
[#1884]
PCL Tools:
mesh2pcd
has now an option to explicitly disable visualization
[#1768]mesh_sampling
has now an option to explicitly disable visualization
[#1769]- Mesh sampling now has an option to include normal information
[#1795] - ๐ Fixed incorrect return value in pcl_converter
[#1903]
PCL Tutorials:
- ๐ Fixed a crash in the pcl_visualizer tutorial triggered in interactive
mode
[#1631] - ๐ Fixed hyperlink in narf keypoint extraction
[#1777] - Typo corrections in random sample consensus
[#1865] - โก๏ธ Updated matrix transform tutorial and added cube.ply mesh
[#1894]
[#1897] - โก๏ธ Updated Ensenso tutorial for Ensenso X devices
[#1933]
CI:
- Replaced