Commit Graph

  • c9a17509ba Make FarthestPointFilter respect user supplied indices (#6286) Alex Navarro 2025-06-02 06:07:36 -06:00
  • 88d832b569 Merge pull request #6282 from mvieth/cmake_tutorials_update Lars Glud 2025-06-02 11:22:25 +02:00
  • 1505c960ef Fix uninitialized build warnings (#6283) jmackay2 2025-05-31 10:04:04 -04:00
  • bb05e83956 Update CMake commands in tutorials PCL_INCLUDE_DIRS, PCL_LIBRARY_DIRS, and PCL_DEFINITIONS do not have to be used explicitly any more, using target_link_libraries is sufficient. Markus Vieth 2025-05-29 20:26:48 +02:00
  • 46f15a61db Make GICP use CorrespondenceEstimation The main benefit is that CorrespondenceEstimation is parallelized, so GICP can benefit from that. But even with 1 thread, the new code is slightly faster due to the improved way of computing the mahalanobis matrix (invert3x3SymMatrix uses the fact that the matrix is symmetric and is thus faster than the general-case .inverse()). Markus Vieth 2025-05-10 17:15:30 +02:00
  • d3769b1617 Merge pull request #6277 from mvieth/noalias Lars Glud 2025-05-06 07:37:30 +02:00
  • 0dec791a67 Fix potential vulnerable cloned functions (#6274) Phuc-Thanh Nguyen 2025-05-03 20:26:05 +08:00
  • eee78052bf Use noalias() where possible Markus Vieth 2025-05-02 16:26:59 +02:00
  • e5fb0ea173 Add option to manually set projection matrix in OrganizedNeighbor Markus Vieth 2025-04-16 13:57:50 +02:00
  • 2f9dc390c6 Fix potential vulnerable cloned functions: Avoid pre-decrement of pointer in big-endian CRC calculation npt-1707 2025-04-27 23:31:03 +08:00
  • ac9efccd15 Increase accuracy of OctreePointCloudCompression Change decoding so that the xyz coordinates are closer to the original values. The reasoning is that, if a value is known to be between 0 and 1, using 0.5 is a better approximation than using 0 (like before). In experiments, I measure a decrease in the point-to-point error of 7-20 percent for profiles MED_RES_ONLINE_COMPRESSION_WITHOUT_COLOR, MED_RES_ONLINE_COMPRESSION_WITH_COLOR, and MED_RES_OFFLINE_COMPRESSION_WITH_COLOR, and a decrease of up to 50 percent for profiles HIGH_RES_ONLINE_COMPRESSION_WITHOUT_COLOR, HIGH_RES_ONLINE_COMPRESSION_WITH_COLOR, and HIGH_RES_OFFLINE_COMPRESSION_WITH_COLOR. For the other profiles, this change has no effect, because they enable voxel grid downsampling. Markus Vieth 2025-04-23 16:39:24 +02:00
  • 579dad7068 Remove redundant code in radius search benchmarks jmackay2 2025-04-19 22:49:39 -04:00
  • c0d8f8695a Add benchmarking for knn and knn nanoflann (#6267) jmackay2 2025-04-18 08:48:25 -04:00
  • da64bf9abb add explicit instantiations to transformation estimation LM and one to ICP (#6258) Rasmus 2025-04-15 09:12:09 +02:00
  • 64e5fb806f Merge pull request #6266 from mvieth/cmake_policy_0144 Lars Glud 2025-04-11 23:37:21 +02:00
  • da76ad9c82 Fix CMake warning related to FLANN_ROOT Fix https://github.com/PointCloudLibrary/pcl/issues/6094 I also tested with the Windows all-in-one installer, where everything seems to work fine as well. Markus Vieth 2025-04-11 19:49:08 +02:00
  • f19e4afe3c [search] Add support for nanoflann (faster alternative to pcl::search::KdTree) (#6250) Markus Vieth 2025-04-08 20:55:09 +02:00
  • 39669c02e9 Improve SSE/AVX detection on arm and when cross-compiling Change check_cxx_source_runs to check_cxx_source_compiles because running the code does not provide any additional information, and is a problem when cross-compiling. When we know that we compile for arm, we set PCL_ENABLE_SSE and PCL_ENABLE_AVX to OFF to skip the checks completely. Markus Vieth 2025-04-07 21:39:08 +02:00
  • bc88ade30f Make the dependency of "outofcore" on "visualization" optional. Without "visualization", one of the overloads of queryFrustum is unavailable. Robert Huitl 2025-03-18 20:44:16 +01:00
  • 575168bb72 Detect alignment when pcl_find_sse is not called & fix detection of Eigen (#6261) Robert Huitl 2025-04-06 14:47:16 +02:00
  • 27fb1f52bb Fix writing pcl::PointCloud to IFS file Markus Vieth 2025-04-04 10:31:51 +02:00
  • b08f9132ee Fix get the root directory path of Boost Tsukasa Sugiura 2025-03-31 10:19:14 +09:00
  • ba3ea48aca Misc small fixes and improvements (#6256) Markus Vieth 2025-03-24 13:05:10 +01:00
  • 9815825a66 Merge pull request #6253 from mvieth/gluErrorString Lars Glud 2025-03-18 10:22:15 +01:00
  • 011905f338 Simulation: replace gluErrorString with switch-case Due to problems on vcpkg, see https://github.com/microsoft/vcpkg/issues/44058 macOS also considers this function deprecated, see https://stackoverflow.com/questions/29583953 Markus Vieth 2025-03-17 10:40:01 +01:00
  • 9ce6060cfe [CI] switch to VS 2022 on x64 Windows (#6247) Markus Vieth 2025-03-05 09:15:11 +01:00
  • f10dfe9035 Fix a bug when getting a gzip header extra field with inflate(). tabudz 2025-03-03 22:43:10 +08:00
  • 130508fd88 Modernize cmake config template (#6235) lesc-hexagon 2025-03-04 09:18:08 +01:00
  • 9079226b1d Update/improve CI (#6242) Markus Vieth 2025-03-04 09:14:54 +01:00
  • 491a17c06a Remove offset pointer optimization in inftrees.c. tabudz 2025-03-02 21:05:23 +08:00
  • 9b0a9ead3d Add missing chrono includes Fixes build failure when using MSVC STL 17.13 and newer (see https://github.com/microsoft/STL/releases/tag/vs-2022-17.13 ) See also https://github.com/microsoft/vcpkg/issues/44047 Markus Vieth 2025-02-28 12:24:01 +01:00
  • 20464ce026 Bump version to 1.15.0.99 post release Markus Vieth 2025-02-22 17:28:12 +01:00
  • 605cdd5b1b Bump version to 1.15.0 pcl-1.15.0 Markus Vieth 2025-02-22 15:19:35 +01:00
  • c8c75468e8 Update 1.15.0 release date Markus Vieth 2025-02-22 15:13:48 +01:00
  • c1757b554d Update release.yaml: melodic to noetic pcl-1.15.0-rc1 Markus Vieth 2025-02-07 20:48:20 +01:00
  • 34d096ce8c Fix perception_pcl_ros dockerfile for release pipeline (#6233) Markus Vieth 2025-02-07 09:19:30 +01:00
  • 71f233a925 Add changelog for PCL 1.15.0 Markus Vieth 2025-02-06 16:54:26 +01:00
  • 3b7549384e Merge pull request #6231 from mvieth/misc16 Lars Glud 2025-02-06 11:13:31 +01:00
  • f67880d0f9 Small fixes - C++20 and later provides std::lerp, in that case our definition may collide - the SSE and AVX flags are not passed to the CUDA compiler (NVCC), so it often displays the new alignment warning -> silenced on NVCC - thrust::unary_function is deprecated in the newest thrust/cuda release. Luckily, it is easily replaced with two typedefs Markus Vieth 2025-02-04 20:15:07 +01:00
  • 460d9fcc54 Fix regression in OBJ loader Regression happened in https://github.com/PointCloudLibrary/pcl/pull/6047 If a OBJ file only defines vertices and vertex normals (same number), but no faces, then vertices and vertex normals should be associated one-to-one in the order they appear. This worked before, but since the mentioned pull request, normals would be zero in this case. Markus Vieth 2025-02-01 17:12:46 +01:00
  • 6e4eb4e0c1 Remove global includes from PCL_SUBSYS_DEPEND in PCL_TARGETS and adjust accordingly (#6013) Lars Glud 2025-01-27 13:12:31 +01:00
  • 6b93e78749 Update __func__ and __PRETTY_FUNCTION__ defines for MSVC (#6222) Chris Watkins 2025-01-22 20:06:34 +11:00
  • e787624d21 Speed up PPFRegistration by using a hash function with fewer collisions (#6223) YeHuanjie 2025-01-21 19:58:53 +08:00
  • 1590ba5f6b Merge pull request #6205 from mvieth/fix_io_ply Lars Glud 2025-01-07 13:41:10 +01:00
  • cc08f815a9 [openNURBS] Update optimizer workaround condition from upstream (#6154) WangWeiLin-MV 2024-12-25 13:26:15 +00:00
  • ec7fdca167 Fix linking with pcl_io_ply In case of static libraries. Fixes https://github.com/PointCloudLibrary/pcl/issues/4422 Mostly just of copy of the vcpkg patch (https://github.com/microsoft/vcpkg/blob/master/ports/pcl/io_ply.patch) Markus Vieth 2024-12-22 19:30:17 +01:00
  • 9f0919998f Add missing include for implementation header in bilateral_upsampling.h Otherwise, this leads to problems while building the tools, if PCL_NO_PRECOMPILE is enabled Markus Vieth 2024-12-21 17:33:52 +01:00
  • 42f3eda76d Satisfy clang-tidy's modernize-use-auto Markus Vieth 2024-12-15 17:15:23 +01:00
  • 06bc2232ba Compile as C++17 by default Markus Vieth 2024-12-15 15:01:44 +01:00
  • 6c1a9dbfec fix registration iteration 1 mse print Ye Huanjie 2024-12-10 23:09:59 +08:00
  • eec497f4bb simplified cmake logic about openmp (#6195) Kino 2024-12-11 20:45:16 +08:00
  • 3fcf65e217 Merge pull request #6197 from larshg/FixROROpenMP Lars Glud 2024-12-10 20:42:58 +01:00
  • 020b7fc808 Const values are predetermined shared, gives compiler error on some GCC versions. Lars Glud 2024-12-10 08:39:31 +01:00
  • 7a0c740015 Temporary workaround for high memory consumption The ellipse and torus models both need a lot of memory during compilation. On the Windows CI, there have been warnings that the free memory is almost used up while building the sample consensus library. The workaround is to not compile these two models at the same time, so that the peak memory consumption is lower. In the long term, we should find out why these two models need so much memory, and improve that. Markus Vieth 2024-12-08 11:16:49 +01:00
  • 48c49ce1e8 Improve ICP_translated test It only worked so far because it was never tested with different random seeds. On OpenBSD, where rand() gives truly random numbers (instead of repeatable, pseudo-random numbers), this test fails occasionally. The test now uses a real-world point cloud instead of a few random points, which is arguably more realistic. See https://github.com/PointCloudLibrary/pcl/issues/6178 Markus Vieth 2024-12-07 19:33:07 +01:00
  • d6aa8ac70b estimateProjectionMatrix: consistently use double This leads to a more precise projection matrix, and, in some cases, avoids high residuals although the point cloud is projectable. Fixes https://github.com/PointCloudLibrary/pcl/issues/6181 Markus Vieth 2024-12-07 18:04:42 +01:00
  • 4ed9fbce5a Fix for clang-cl (clang used within Visual Studio) Markus Vieth 2024-12-07 16:58:11 +01:00
  • 77a03dc327 Add checks in point cloud handler for correct types See https://github.com/PointCloudLibrary/pcl/issues/6186 Markus Vieth 2024-12-07 14:11:43 +01:00
  • 59fda2db70 Merge pull request #6184 from mvieth/aligned_malloc_warning Lars Glud 2024-12-07 22:37:10 +01:00
  • 930ca7e13a Add OpenMP to radius outlier removal (#6182) Lars Glud 2024-12-06 12:27:50 +01:00
  • ed435bde4e 🐛 Fix RoPS total area Luca Grementieri 2024-12-02 14:15:28 +01:00
  • 0edfc3b5b0 Print warning if incompatible alignment option chosen Users repeatedly report segmentation faults coming from Memory.h in the Eigen code (aligned_free/handmade_aligned_free). This is because PCL uses Eigen's handmade_aligned_malloc but user code does not use the corresponding handmade_aligned_free (or the other way around), due to chosen SSE/AVX flags and the resulting alignment requirements. PCL's CMake config handles this by automatically setting SSE/AVX options in the user project as they are used in PCL, but not everyone uses CMake. This commit adds a check within PCL's header files for this kind of incompatibility. Markus Vieth 2024-11-26 20:11:59 +01:00
  • a4ad614a15 Improve documentation Markus Vieth 2024-11-21 20:42:20 +01:00
  • 3a0916de4d Remove transformation_estimation_dq files (deprecated for PCL 1.15) Markus Vieth 2024-11-20 21:05:45 +01:00
  • 9185bc8c90 Misc small fixes and improvements - remove unused variables in dominant_plane_segmentation.hpp, integral_image_normal.hpp, our_cvfh.hpp - remove unnecessary parenthesis in pcl_macros.h (otherwise the deprecation messages are "It will be removed in PCL (1).15") - ply_io.cpp: catch exception when parsing bad ply files - add includes for KdTree, OrganizedNeighbor, eigen33 (the files use these classes/functions, so the headers should be included; currently they rely on transitive includes) - in random_sample.h: use srand_deterministic on OpenBSD to properly use seed and fix failing test on OpenBSD - in pcl_visualizer.cpp: replace 5 with better value. The Boost doc only says that digest_type is at least 16 bytes large (in the current code it is 20 bytes large). Additionally, there is no guarantee that unsigned int is 4 bytes large (even if that is the most common situation) Markus Vieth 2024-11-20 21:01:54 +01:00
  • 75ef8c57fb [sample_consensus] Changed segmentation collinear check precision from float to double. (#6175) ralphieraccoon 2024-11-22 09:16:06 +00:00
  • 0932486c52 Merge pull request #6166 from mvieth/boost_1_87 Lars Glud 2024-11-15 10:47:49 +01:00
  • f282546456 Enable USE_UMFPACK in surface module on macOS CI (#6078) Kino 2024-11-09 18:47:48 +08:00
  • 25be27e20a Silence ABI warnings with GCC 14 With the previous flag, GCC 14 displays many warnings like "warning: the mangled name of ... changed between ‘-fabi-version=17’ and ‘-fabi-version=19’ [-Wabi]" I think these warnings are not useful for us. Since PCL 1.15.0 will not be ABI-compatible to PCL 1.14.1 anyway, these name changes do not matter AFAIK. Markus Vieth 2024-11-07 20:43:15 +01:00
  • 6f64495840 Prepare for Boost 1.87 Some stuff from Boost's asio library has been removed after Boost 1.86. The documentation says that it has been deprecated, but no compiler warnings are shown. This page explains what is considered "old" and what should be used instead: https://www.boost.org/doc/libs/1_86_0/doc/html/boost_asio/net_ts.html - io_service was simply an alias (typedef) for io_context - make_address replaces from_string - resolver.resolve and connect work a bit different now, see also https://www.boost.org/doc/libs/1_86_0/doc/html/boost_asio/tutorial/tutdaytime1/src.html Markus Vieth 2024-11-05 20:07:13 +01:00
  • da7f34ab91 Set better default for RRANSAC and RMSAC RRANSAC is a faster variant of RANSAC. It performs a pretest before counting all inliers of a candidate model (this is the costly part of RANSAC). The pretest consists of choosing a number of random sample points and then testing if _all_ these points are inliers. If just one is an outlier, the candidate model is discarded. The previous default was to choose 10 percent of all points for this pretest, which is far too much, and the probability of a candidate model (even a good one!) not being discarded is near zero. Therefore RRANSAC fails to find a model in many cases. The new default is to use one point for the pretest. This has a good chance of rejecting very bad models, but not reject any good models. This is a good default for many different datasets. Markus Vieth 2024-10-27 10:27:10 +01:00
  • df3af0aec2 Faster organized radius search By checking the finite-ness of all points once, before doing any searches. This avoids calling isFinite repeatedly on the same points in radiusSearch. Benchmark: NormalEstimation with OrganizedNeighbor and radius search now takes 89 percent of the time it took before (so 11 percent faster). Markus Vieth 2024-10-30 09:45:32 +01:00
  • 56a317286e Fix OpenMP on macOS (#6114) Kino 2024-10-23 16:14:18 +08:00
  • a631b729ed Merge pull request #6141 from larshg/RemoveWrongPCLEXPORTSCommon Lars Glud 2024-10-23 06:41:36 +02:00
  • 4dbc07e4e8 Convolution3D: use dynamic schedule for OpenMP Each iteration does a radius search, which does not take the same amount of time for each point. Specifying no schedule usually results in a static schedule. Related to https://github.com/PointCloudLibrary/pcl/pull/5775 Markus Vieth 2024-10-19 19:52:22 +02:00
  • 06a38f01dc Merge pull request #6153 from mvieth/update_ci Lars Glud 2024-10-19 20:58:59 +02:00
  • f8bb3ef780 Updates to CXX flags and removal of cmake checks less than 3.16. (#6144) Lars Glud 2024-10-19 20:43:50 +02:00
  • 60ca38198a Build docker image for Ubuntu 24.10 Markus Vieth 2024-10-16 21:38:52 +02:00
  • f8b8ce99e7 Update options for Ubuntu variety CI Markus Vieth 2024-10-16 21:32:44 +02:00
  • 9e48412c3e make_directory is deprecated since version 3.0, use the file(MAKE_DIRECTORY) command instead Yancey 2024-10-12 23:44:19 +08:00
  • de4c0e93fd Remove unnecessary PCL_EXPORTS when: Lars Glud 2024-09-26 21:29:23 +02:00
  • 4e06bd679d Update macOS on CI (macOS 12 is now unmaintained) Markus Vieth 2024-10-02 20:29:32 +02:00
  • dcf9e3b654 Merge pull request #6143 from larshg/UpdateOpennurbsVSIssue Lars Glud 2024-10-02 05:59:36 +02:00
  • f30f3d4e2c Increment upper version. Lars Glud 2024-10-01 13:49:17 +02:00
  • 1092d70e5b Allow hidden visibility default on gcc/clang (#5779) Markus Vieth 2024-09-30 11:58:18 +02:00
  • a8d68b1043 Fix spelling error in pcl::NormalDistributionsTransform Tomas Halleröd 2024-09-24 13:52:54 +02:00
  • d1c34a873b add PCL_HIGH convenience macro Reini Urban 2024-09-17 14:29:35 +02:00
  • 3b441451b3 Fix some implicit-widening-of-multiplication-result warnings (#6138) Markus Vieth 2024-09-20 10:07:06 +02:00
  • 9f6b2dc247 Merge pull request #6134 from joebonrichie/cmake-boog-empty-var Lars Glud 2024-09-19 19:24:38 +02:00
  • d231dde873 Merge pull request #6100 from larshg/RemoveFindScripts Lars Glud 2024-09-19 18:46:28 +02:00
  • f13d576fb6 PCLConfig.cmake.in: Handle potentially empty ${LIB} variable Joey Riches 2024-09-16 20:46:46 +01:00
  • 5ae66ee679 Move find GLEW before VTK. Lars Glud 2024-08-26 08:08:45 +02:00
  • 3a5148021d Updated minimum required cmake to 3.16.3. Removed *_ROOT variables from any find_X calls as hints as they should be used automatically now. Lars Glud 2024-08-21 17:19:23 +02:00
  • e594557857 Remove findGLEW and FindOpenMP as they are already present in CMake. Lars Glud 2024-08-09 10:20:53 +02:00
  • aabe846c9d Update clang-tidy github action (#6116) Dilkhush 2024-09-15 15:00:46 +05:30
  • 641b06e5c7 Simplify boolean expression by DeMorgan's theorem (#6129) Dilkhush 2024-09-13 21:42:10 +05:30
  • c02905a60b Merge pull request #6122 from GCaptainNemo/feature/fix_pcl_io_bug Lars Glud 2024-09-10 18:37:16 +02:00
  • e81b3a7127 Use emplace_back instead of push_back (#6127) Dilkhush 2024-09-10 00:20:38 +05:30
  • 231bf391c4 [Debug] fix pcd io small probability bug GCaptainNemo 2024-09-02 21:00:54 +08:00
  • af7b2d5f72 pre-allocating the container capacity before the loop Dilkhush 2024-09-05 16:23:21 +05:30