Skip to content

Enough small talk

Compare
Choose a tag to compare
@jspricke jspricke released this 05 Sep 18:11
· 13808 commits to master since this release

Additions, improvements, and optimizations

  • Eliminated the transform.h header file < API breaking change > (r2517)
    • the following functions have moved to transforms.h:
      • transformXYZ (renamed to transformPoint)
      • getTransformedPointCloud (replaced with transformPointCloud)
    • the following methods have been replaced with built-in Eigen methods:
      • operator<< (use .matrix () )
      • getRotationOnly ( .rotation () )
      • getTranslation ( .translation () )
      • getInverse ( .inverse () )
    • the following functions have move to eigen.h:
      • getTransFromUnitVectorsZY
      • getTransFromUnitVectorsZY
      • getTransFromUnitVectorsXY
      • getTransFromUnitVectorsXY
      • getTransformationFromTwoUnitVectors
      • getTransformationFromTwoUnitVectors
      • getTransformationFromTwoUnitVectorsAndOrigin
      • getEulerAngles
      • getTranslationAndEulerAngles
      • getTransformation
      • getTransformation
      • saveBinary
      • loadBinary
  • Made major changes in pcl::registration (r2503)
    • all registration code now uses TransformEstimation objects (TransformEstimationSVD and TransformEstimationLM in particular) rather than the older estimateRigidTransformationSVD code. Each class inheriting from pcl::Registration can pass in a different estimator via setTransformationEstimation
    • simplified TransformEstimationSVD code
    • implemented TransformEstimationLM by moving away code from IterativeClosestPointNonLinear (which now uses the transformation object)
  • replaced the io/io.h header file with common/io.h (for backwards compatibility, io/io.h will remain, but its use is deprecated)
  • added unit test for lineWithLineIntersection (r2514)
  • improved the VTK installation from source documentation for MacOS (r2589)
  • updated the tutorials regarding usage of FindPCL.cmake vs. PCLConfig.cmake (r2567)
  • added a new PointCloud constructor for copying a subset of points (r2562)
  • made wxwidgets an optional dependency for visualization (r2559)
  • added feature #334 (Enabling a library should enable all its library dependencies in CMake) implementation, (r2551)
  • added an internal estimateRigidTransformationSVD method to SampleConsensusModelRegistration (r2502)
  • added a PCL_VISUALIZER_REPRESENTATION property for setShapeRenderingProperties with three possible values:
    • PCL_VISUALIZER_REPRESENTATION_POINTS for representing data as points on screen
    • PCL_VISUALIZER_REPRESENTATION_WIREFRAME for representing data as a surface wireframe on screen
    • PCL_VISUALIZER_REPRESENTATION_SURFACE for representing data as a filled surface on screen
      (r2500)
  • optimized performance of BoundaryEstimation (approximately 25% faster) (r2497)
  • added reference citation to estimateRigidTransformationSVD (r2492)
  • added a new keypoint for uniformly sampling data over a 3D grid called UniformSampling (r2413)
  • added a destructor to VoxelGrid<sensor_msgs::PointCloud2> (r2412)
  • optimized the performance of SampleConsensusModelLine (r2404)
  • changed the behavior of toc_print and toc from pcl::console:TicToc to return milliseconds (r2402)
  • added a new model, SAC_MODEL_STICK, for 3D segmentation (r2400)
  • added 2x point picking to PCLVisualizer; use Alt + Mouse Left click to select a pair of points and draw distances between them (r2388)
  • added two new functions (pcl::getMaxSegment) for determining a maximum segment in a given set of points (r2386)
  • moved filters/test/test_filters to test/test_filters (r2365)
  • renamed the binary executable in the compression.rst tutorial (r2345)
  • Updated library dependencies
    • removed the libfeatures dependency for `libpcl_surface (r2337)
    • removed the libpcl_io dependency from libpcl_surface (r2354)
    • removed libpcl_io dependency from libpcl_keypoints (r2364)
    • removed libpcl_io dependency for libpcl_filters (r2365)
    • removed libpcl_io dependency for libpcl_registration (r2372)
  • added a new function, pcl::concatenateFields for concatenating the fields of two sensor_msgs::PointCloud2 datasets (1933)
  • added a new countWithinDistance method to SampleConsensusModel (r2326), and optimized RANSAC and RRANSAC by replacing calls to selectWithinDistance with countWithinDistance (r2327)
  • added feature #330: new PCLVisualizer::addCube and pcl::visualization::createCube methods (r2322)
  • added correspondence.h to the includes in common/CMakeLists.txt (r2260)
  • implemented defaults for the search method, per http://www.pcl-developers.org/defaults-for-search-method-td4725514.html (r2219,r2220,r2222,r2225,r2226,r2228)
  • exposed pcl::PCLVisualizer::saveScreenshot (const std::string &filename) (r2095)
  • enabled pcd_io.hpp (r2085)
  • added a new faster binary writer + cloud/indices (r2080)
  • added pcl::RGB structure and switched bitshifting RGB code to use the pcl::RGB structure's members (r2077,r2078)
  • added a new IOException class for read/write exceptions (r2068)
  • added missing set/getAngleThreshold for BoundaryEstimation. Made class parameter protected. (r2067)
  • added functions in pcl::console for parsing CSV arguments of arbitrary length (r2052)
  • added new functionality to OrganizedFastMesh (r1996); Now support for modes:
    • fixed triangle meshing (left and right) that create quads and always cut them in a fixed direction,
    • adaptive meshing that cuts where possible and prefers larger differences in 'z' direction, as well as
    • quad meshing
  • improved OrganizedFastMesh's removal of unused points (r1996)
  • CMake changes (r2592)
    • changed the install dir of PCLConfig.cmake in Windows
    • renamed CMAKE_INSTALL_DIR into PCLCONFIG_INSTALL_DIR
    • NSIS installer will add a key in Windows Registry at HKEY_LOCAL_MACHINE\Software\Kitware\CMake\Packages\PCL to help CMake find PCL (CMake >= 2.8.5) (NSIS.template.in)
    • reordered CMAKE_MODULE_PATH entries, for CMake to pick up our NSIS.template.in
    • fixed CPACK_PACKAGE_INSTALL_REGISTRY_KEY value

Bug fixes

  • fixed bugs in PointCloud
    • in swap(), the point data was swapped, but the width and height fields were not (r2562)
    • in push_back(), adding points did not update the width/height of the point cloud (r2596)
    • in insert()/erase(), inserting or erasing points did not update the width/height of the point cloud (r2390)
  • fixed bugs in SampleConsensusModelRegistration
    • if target_ wasn't given, would crash with a boost shared uninitialized error (r2501)
    • homogeneous coordinates were wrong (r2502)
  • fixed a bug in BoundaryEstimation in case "angles" is empty (r2411)
  • fixed a bug in OrganizedFastMesh's adaptive cut triangulation; added a new unit test (r2138)
  • fixed a bug in the openni_image viewer tool (r2511)
  • fixed problems with Windows/MacOS ALT bindings in PCLVisualizer (r2558)
  • fixed issues
    • #139 (FPFHEstimation for non-trivial indices) (r2528)
    • #303 (make pcd_viewer reset the camera viewpoint when no camera given) (r1915)
    • #338 (cylinder segmentation tutorial was referring to a different file) (r2396)
    • #339 (the direction of the normal was wrongly estimated when setSearchSurface was given) (r2395)
    • #340 (keep_organized_ bug in ConditionalRemoval) (r2433)
    • #342 (Allow QT to be used with PCL Visualizer) (r2489)
    • #343 (empty() member function of a point cloud is not const) (r2440)
    • #350 (Misspelling in GreedyProjectionTriangulation::setMaximumSurfaceAgle()) (r2556)
  • added missing include in correspondence_rejection.h (r2393)
  • corrected the headers included by sample_consensus/sac_model.h (r2550)
  • removed duplicate content of NSIS.template.in (r2601)
  • fixed various casting related compiler warnings (r2532)
  • corrected typos in
    • Windows tutorial (CMAKE_INSTALL_DIR => CMAKE_INSTALL_PREFIX) (r2595)
    • registration/icp.h documentation (reg => icp) (r2515)
    • several apps/tools console messages (wotks => works) (r2491)
    • how_features_work.rst tutorial (Muechen => Muenchen) (r2484)