changelog.md

Notable changes

New features added to PCL

  • [filters] UniformSampling Filter | add a minimum number of points required for a voxel option [#5968]
  • [sample_consensus] Torus ransac model [#5816]
  • [common] Allow type conversion in fromPCLPointCloud2 [#6059]
  • [segmentation] ExtractPolygonalPrismData and ConcaveHull bugfix [#5168]
  • Allow hidden visibility default on gcc/clang [#5779]

Removal of the public APIs deprecated in previous releases

  • Remove Deprecated Code for 1.15.0 release [#6040]

ABI changes that are still API compatible

  • [recognition] C++17 filesystem for recognition module [#5935]
  • [registration] Add OMP based Multi-threading to IterativeClosestPoint [#4520]
  • [segmentation] ExtractPolygonalPrismData and ConcaveHull bugfix [#5168]

Changes grouped by module

CMake:

  • Give users more control regarding with which point types classes are … [#6062]
  • lib not found when install with relwithdebinfo [#6089]
  • Use system-installed cJSON, if available [#6084]
  • Require at least Boost 1.71, support Boost 1.86, switch to BoostConfig.cmake [#6105]
  • PCLConfig.cmake.in: Handle potentially empty ${LIB} variable [#6134]
  • make_directory is deprecated since version 3.0 [#6150]

libpcl_common:

  • [new feature] Allow type conversion in fromPCLPointCloud2 [#6059]
  • change sprintf to snprintf to suppress deprecated warning on macOS [#6102]
  • Remove warning in conversions.h [#6108]

libpcl_features:

  • Added parallel implementation of PrincipalCurvaturesEstimation [#6048]

libpcl_filters:

  • [new feature] UniformSampling Filter | add a minimum number of points required for a voxel option [#5968]
  • Fix issue 6024 [#6036]
  • Make UniformSampling inherit from FilterIndices instead of Filter [#6064]
  • Fixed an integer overflow issue in the PassThrough filter. [#6097]
  • Convolution3D: use dynamic schedule for OpenMP [#6155]

libpcl_gpu:

  • fix int type overflow by casting int to size_t [#6058]

libpcl_io:

  • Fix obj loader [#6047]
  • fix saveRangeImagePlanarFilePNG [#6095]
  • fix pcd io small probability bug [#6122]

libpcl_octree:

  • Faster octree nearestKSearch [#6037]
  • Faster octree radiusSearch [#6045]

libpcl_outofcore:

  • Use system-installed cJSON, if available [#6084]

libpcl_recognition:

  • [ABI break] C++17 filesystem for recognition module [#5935]
  • add border type setting in linemod guass step [#6103]

libpcl_registration:

  • [ABI break] Add OMP based Multi-threading to IterativeClosestPoint [#4520]
  • GICP: parallel covariance computation [#6046]
  • Fixes and improvements for FPCS and KFPCS [#6073]
  • Small fix in OpenMP for loop [#6107]

libpcl_sample_consensus:

  • [new feature] Torus ransac model [#5816]
  • fix optimizeModelCoefficients use a uninitialized var when do optimization [#6088]

libpcl_segmentation:

  • [new feature][ABI break] ExtractPolygonalPrismData and ConcaveHull bugfix [#5168]
  • fix: Initialization with correct signedness [#6111]

libpcl_surface:

  • Remove deprecated readdir_r [#6035]
  • Update opennurbs VS issue [#6143]

libpcl_visualization:

  • Fix issue 6024 [#6036]
  • Fix boost hash data type [#6053]

CI:

Miscellaneous PRs excluded from changelog

  • Bump version to 1.14.1 [#6029]
  • Bump version to 1.14.1.99 post release [#6030]
  • Revert "Fix ABI compatibility problems for 1.14.1 release" [#6031]
  • fix pcl::squaredEuclideanDistance already defined in grabcut_2d.cpp.obj [#5985]
  • Updated 23.04 to 24.04 for docker images. [#6028]
  • Update windows docker boost and cmake [#6033]
  • Remove global includes and use target include for Apps [#6009]
  • Fix get fitness score ignore invalid points [#6056]
  • CI: Install cjson [#6082]
  • minor doc typo [#6093]
  • Remove broken support for external metslib. [#5959]
  • Update Windows x86 docker, install boost-cmake [#6109]
  • compile missing tools/bilateral_upsampling [#6112]
  • Remove global includes and use target include for GPU/CUDA [#6010]
  • Install glew and glut. [#6117]
  • use 'empty' method to check for emptiness instead of 'length' [#6123]
  • use emplace instead of push [#6121]
  • pre-allocating the container capacity before the loop [#6125]
  • Use emplace_back instead of push_back [#6127]
  • Simplify boolean expression by DeMorgan's theorem [#6129]
  • Update clang-tidy github action [#6116]
  • Remove findGLEW and FindOpenMP as they are already present in CMake. Update minimum required cmake to 3.16.3 [#6100]
  • Fix some implicit-widening-of-multiplication-result warnings [#6138]
  • add PCL_HIGH convenience macro [#6136]
  • Fix spelling error in pcl::NormalDistributionsTransform [#6140]
  • Update macOS on CI (macOS 12 is now unmaintained) [#6147]
  • Updates to CXX flags and removal of cmake checks less than 3.16. [#6144]