1.0.2 (2011-11-21) ::

  • pcl

    • updated to the 1.0.2 bug-fix release.

1.0.1 (2011-09-08) ::

  • pcl

    • updated to the 1.1.1 bug-fix release.
      • fixed issues #224, #277, #288, #290, #291, #292, #293, #294, #295, #296, #297, #299, #302, #318, #319, #324, #325, #329

      • fixed a segfault in PCLVisualizer::addPointCloudNormals
      • fixed PCLVisualizer hanging on 'q' press
      • fixed a bug in MLS
      • fixed a bug in test_io
      • fixed a bug in PointCloudColorHandlerGenericField

      • fixed a bug when writing chars to ASCII .PCD files
      • fixed several errors "writing new classes" tutorial
      • added missing parameter setter in the "concave hull" tutorial

1.0.0 (2011-08-29) ::

0.12.0 (2011-06-16) ::

  • pcl

    • updated revision number to latest stable bug fixes

0.11.0 () ::

  • flann

    • Updated to version 1.6.8
  • pcl

    • bug fix in pcl::PassThrough filter, where the output data size was not set correctly when keep_organized was set to false

    • bug fix in pcl::GreedyProjectionTriangulation, where point distances were incorrect, thus poroducing too many holes points during reconstruction ()

    • added more elaborate unit tests for surface reconstruction
    • Added possibility to restrict no of returned interest points to pcl::NarfKeypoint

    • Added parameter to control no of openmp threads to pcl::NarfKeypoint

  • pcl_ros

    • added the keep_organized option to pcl_ros::Passthrough (#4627)

  • pcl_android

    • TBMoved

0.10.0 (2010-02-25)

  • Re-versioned 0.9.9 to follow patch-versioning semantics.

0.9.9 (2010-02-22) :: "Almost there" edition

  • pcl

    • removed ConvexHull2D (API breaking change!)

      • You need to change your code. From:
            pcl::ConvexHull2D<...> ...;
        to
            pcl::ConvexHull<...> ...;
    • added a new general purpose 2D/3D ConvexHull class based on QHull

    • added a new general purpose 2D/3D ConcaveHull class based on QHull

    • added helper transformPointCloud method for cloud+indices as input

    • fixed: segfaults when ICP finds no correspondences (#4618)
    • improved the PCD I/O capabilities (for binary PCD) to deal with SSE padding
    • Added possibility to create a RangeImagePlanar from a point cloud

    • Corrected is_dense to false in all range images.
    • Reimplemented big parts of the NARF keypoint extraction - should be more reliable now (and unfortunately slower) - uses polynomials to search maxima now.
    • Added helper classes for polynomial approximations to common
    • Added a new RANSAC-like algorithm: PROSAC (much faster when there is a confidence for the matches)
    • Fixed normalization factor in the VFH's scale component.
    • Made MLS more flexible: output has all fields the input has, only with XYZ smoothed, and normals are provided separately (and optionally)
    • Added multi-scale calculation to NARF keypoint to make it faster again, fixed a bug in BorderExtractor and fixed some issues in RangeImagePlanar.

    • Added functions in common to compute max distance from a point to a pointcloud. Fixed distance component of VFH, normalization is now also invariant to rotation about the roll axis.
    • Added pcl::PointSurfel to known point types.

    • eigen-decomposition for symmetric positive-semi-definite 3x3 matrices: 1) bug fix so eigenvects are orthogonal, 2) is more robust for degenerated cases
  • pcl_ros

    • MovingLeastSquares nodelet improvements

    • Changed serialization of point clouds to ship the data as-is over the wire, padding included (#4754). Implemented subscriber-side optimizations to minimize memcpys. Will do one memcpy for the whole point cloud if the data layout is an exact match.

0.9.0 (2011-02-08) :: "Darn the torpedoes" Edition

  • pcl

    • optimizations for dense dataset (no checking for isfinite inside the loop unless is_dense is false)

    • improved eigen decomposition pcl::eigen33 by better handling degenerate cases. Normal estimation should work better now.

    • more 32bit alignment fixes
    • improved Doyxgen documentation
    • added POINT_CLOUD_REGISTER_POINT_STRUCT for Narf36

    • fixed a minor bug in poses_from_matches where a distance was not computed correctly
    • disabled TBB classes until 1.0 comes out
    • fixed a few bugs in ICP_NL registration (thanks Mike!)

    • enforced const-ness for pcl::ArrayXfMap and pcl::VectorXfMap, by creating pcl::ArrayXfMapConst and pcl::VectorXfMapConst for maps over const types

    • improved Windows support
    • fixed a bug in StatisticalOutlierRemoval where the output data array was set incorrectly.

    • fixed a boost::split bug in pcd_io, for cases when point data starts with spaces or tabs

    • finalized the surface reconstruction (pcl::SurfaceReconstruction) API

    • added a new method for surface reconstruction using grid projections (pcl::GridProjection)

    • added a new generalized field value filter (pcl::ConditionalRemoval)

    • cleaned up normal estimation through integral images
    • PCL rift.hpp and point_types.hpp fixed for Windows/VS2010
    • fixed all is_dense occurances

    • unmanged all Eigen3:: calls to Eigen::

    • changed all !isnan checks to isfinite in order to catch INF/-INF values

    • added vtk_io tools for saving VTK data from PolygonMesh structures

    • fixed SACSegmentation::SACMODEL_CIRCLE2D: to accept setRadius limits

    • use SACSegmentation when the model doesn't fit SACSegmentationFromNormals (assert fix)

  • pcl_ros

    • added a mutex for configuration parameters and filter computation, to prevent changing parameters while the algorithm is running. Alternative: copy parameters before the compute loop.
    • pcd_to_pointcloud has been updated to take a private parameter "frame_id" which is used in publishing the cloud
    • unmangled all Eigen3:: calls to Eigen::

    • Document cloud to image conversion.

0.8.0 (2011-01-27) :: Operation CloudMan

  • flann

    • Updated to version 1.6.7
  • pcl

    • improved doxygen documentation overall
    • added support for indices for SampleConsensus models (previously broken)

    • fixed a grave bug in ProjectInliers, where row_step was not correctly set thus leading to (de)serialization issues in the new ros::Subscriber<PointCloud<T> > scheme

    • RangeImagePlanar can now also be created from a depth image.

    • Fixed a bug in RangeImagePlanar.

    • Fixed possible segmentation fault in RangeImageBorderExtractor.

    • RangeImage now has is_dense=false, since there typically are NANs in there.

    • Added Correspondence as a structure representing correspondences/matches (similar to OpenCV's DMatch) containing query and match indices as well as the distance between them respective points.
    • Added CorrespondenceEstimation for determining closest point correspondence, feature correspondences and reciprocal point correspondences.

    • Added CorrespondenceRejection and derivations for rejecting correspondences, e.g., based on distance, removing 1-to-n correspondences, RANSAC-based outlier removal (+transformation estimation).

    • Further splitted up registration.h and added transformation estimation classes, e.g., for estimating rigid transformation using SVD.
    • Added  sensor_msgs::Image image;  pcl::toROSMsg (cloud, image);, see tools/convert_pcd_image.cpp for a sample.

    • Added a new point type, PointWithScale, to store the output of SIFTKeypoint detection.

    • Fixed a minor bug in the error-checking in SIFTKeypoint::setScales(...)

    • Fixed small bug in MovingLeastSquares

    • Fixed small bug in GreedyProjectionTriangulation

    • Added unit tests for RSDEstimation, MovingLeastSquares and GreedyProjectionTriangulation

    • Fixed and improved multiple point to line distance calculations, and added it to distance.h and unit testing
  • pcl_ros

    • Fixed a grave bug introduced in 0.7 where the NullFilter approach doesn't work

    • Implemented the exact time synchronizer path for PointCloudConcatenateDataSynchronizer

    • replaced subscribers/publishers in surface, segmentation, and feature nodelets from sensor_msgs::PointCloud2 to pcl::PointCloud<T>, thus reducing complexity and getting rid of all the intermediate from/toROSMsg (de)serializations

    • moved away from storing state in the nodelets. The right way to do it is: callback -> PointCloud -> process -> publish, without storing the PointCloud as a member into the base class

    • introduced a mandatory emptyPublish which nodelets should use to send an empty result with the header frame_id and stamp equal with the input's.

0.7.1 (2011-01-09)

  • flann

    • Makefile patch for LateX PDF build
  • pcl

    • fixed roslib/Header warnings by enabling std_msgs/Header if ROS_VERSION > 1.3.0

    • working on PCL port to Android - mainly CMake scripts, and a few #if ANDROID statements.

    • pcl::VoxelGrid now saves and gives access to the created voxel grid, with lots of helper functions

  • pcl_ros

    • dropped pcl_ros::Subscriber due to the changes introduced in 0.7

0.7 (2010-12-20) :: Special "FLANN is awesome" Edition

  • [pcl_ros] pcl::PointCloud<T> works natively with ros::Publisher and ros::Subscriber. Separate pcl_ros::Publisher and pcl_ros::Subscriber are no longer necessary.

  • [flann] Updated to FLANN 1.6.6
  • [pcl] added general purpose getMinMax() method for n-dimensional histograms (r34915).

  • [pcl_ros] greatly simplified the PointCloudConcatenateDataSynchronizer nodelet (r34900).

  • [pcl] more 32bit architecture alignment fixes
  • [pcl] fixing \r string splitting issues on Windows systems for PCDReader (r34830).

  • [pcl] Added new range image class RangeImagePlanar. E.g., for direct usage with kinect disparity images.

  • [pcl] added the option to keep the data organized after filtering with pcl::PassThrough and replace values in place rather than removing them (r34776)

  • [pcl] removed boost::fusion macros
  • removing eigen3 as it's already present in geometry (unstable) and geometry_experimental (cturtle)
  • [flann] Updated to FLANN 1.6.5.
  • [pcl] moving the Feature estimation architecture to the new PCL structure
  • [pcl] moved sorted_ as a parameter in the KdTree base class

  • [pcl] added PCL_INSTANTIATE macros that easily instantiate a specific method/class given a set of point types

  • [pcl_tf] Moved functionality to pcl_ros. RIP.

  • [pcl] Better checks for is_dense plus bugfixes.

  • [pcl] Added RSD (Radius Signature Descriptor) feature.
  • [pcl] Updated the entire PCL tree to use FLANN as a default KdTree

  • [ann] Removed ANN as a dependency. RIP.
  • [flann] Updated to FLANN 1.6.4
  • [pcl] Optimized the KdTreeFLANN::radiusSearch so it doesn't do any memory allocation if the indices and distances vectors passed in are pre-allocated to the point cloud size.

  • [pcl] Changed KdTree::radiusSearch method signature to return int (number of neighbors found) intead of bool

  • [flann] Updated to FLANN 1.6.3
  • [pcl] added new pcl::View<T> class that holds a PointCloud, an Image, and a CameraInfo message (r34575)

  • [pcl] Moving the Surface reconstruction framework to the new structure (r34547)

  • [pcl] Moving the Segmentation framework to the new structure (r34546)

  • [pcl] Creating a libpcl_sample_consensus and moving the SAC methods and estimators to the new structure (r34545)
  • [pcl] moving Filter to the new structure (r34544)

  • [pcl] Creating a libpcl_kdtree and moving the KdTree to the new structure (r34543)

  • [pcl] added support for PCD v0.7 files (+VIEWPOINT), minor API changes and consolidations
  • [cminpack] updated cminpack to 1.1.1
  • fedora rosdep fixes
  • [pcl] adding a sensor origin + orientation for pcl::PointCloud<T> (r34519)

  • [pcl] Improved Boost CMake macros

  • [cminpack] Patch for building and installing cminpack correctly (thanks to Nicholas)

0.6 (2010-12-01) :: Special "Happy Birthday Bastian!" Edition

  • [pcl_tutorials] Added new tutorial to visualize the NARF descriptor and look at descriptor distances.
  • [flann] Updated to latest version of FLANN (1.6.2)
  • [pcl] sort clusters in ExtractEuclideanCluster in descending order before returning (r34402)

  • [cminpack] Updated cminpack to version 1.1.0

  • [pcl] VoxelGrid patch for handling RGB colors (thanks to Yohei)

  • [flann] Updated to latest version of FLANN (1.6.1)
  • moved PCL to the new stack: perception_pcl
  • [pcl] lots of work to make PCL compile in Windows (thanks to Stefan)
  • [pcl_ros] Patch for ConvexHull2D to publish PolygonStamped (thanks to Ryohei)

  • [pcl] bumping up the ASCII precision from 5 to 7 on PCD I/O operations
  • [cminpack] Updated cminpack to version 1.0.90 (r34303)

  • [pcl] header include cleanup for faster compiles
  • [pcl] switched StatisticalOutlierRemoval to FLANN

  • [pcl] Updated kdtree_flann to use the C++ bindings from FLANN
  • [flann] Updated to latest version of FLANN (1.6)
  • [pcl_tutorials] fixed a problem that was preventing tutorials to be built on MacOS (r34287)
  • [cminpack] Fixed a portability issue where the library was copied as .so, while MacOS systems need .dylib, thanks to Cyril per #4596 (r34286)
  • [pcl_ros] Fixed a portability issue where uint was used without being defined on MacOS systems, thanks to Cyril per #4596 (r34285)

0.5 (2010-11-25) :: Special Thanksgiving Edition

  • [pcl] got rid of ROS_ASSERTS in favor of ROS_ERROR + return (true/false)
  • [pcl] improvements on CMake build scripts and custom-made ROS header includes to make PCL work outside of ROS
  • [pcl] pow() fixes for macos (#4568)
  • [pcl] fixing a bug where if inliers are always 0, we get stuck in an (almost) infinite loop in Sample Consensus methods (r34191)
  • [pcl_ros] added min_inliers as the minimum number of inliers a model must have in order to be considered valid for SACSegmentation

  • [pcl] SegmentDifferences is now optimized for null targets (simply copy the input)

  • [pcl_ros] added a SegmentDifferences nodelet

  • [pcl] Changed operator(x,y) in PointCloud to return references, both const and non-const.

  • [pcl] set the default behavior of ExtractIndices to return the complete point cloud if the input indices are empty and negative is set to true

  • [pcl_ros] fixed a grave bug in Filter where the output TF frame was not always set correctly (r34159)

  • [pcl_ros] added eps_angle as a dynamic reconfigure parameter to SACSegmentation

  • [pcl_tf] got rid of unneeded transforms (if target_frame = input.header.frame_id, simply return the input)

  • [pcl_ros] added error output on invalid input for all nodelets
  • [pcl] resize the clusters to 0 on failed initCompute for EuclideanClusterExtraction

  • [pcl] fixed all filtering methods to return empty datasets (points/data.size () = 0, width = height = 0) on failures and make sure that header (+fields for PointCloud2) are always copied correctly in all cases (r34099).

  • [pcl_ros] Allow pcl_ros publishers to take shared pointers - fix #4574 (r34025)
  • [pcl_visualization] removed -DNDEBUG which was causing some weird random bugs (-cam "..." was one of them) (r33984)
  • [pcl_visualization] fixing an issue with VTK exports which lead to 3rd party user packages needing to know and explicitly import VTK (r33980)
  • [pcl_ros] change the default behavior of isValid from data.empty || width * height = 0, to width * height * step = data.size for PCLNodelet

  • [pcl] make sure header and fields are copied even if the indices are invalid for ProjectInliers

  • [pcl_ros] make sure data is published even if empty
  • [pcl_ros] making sure publishing with a rate of 0 works for pcd_to_pointcloud

  • [pcl_ros] added TF transform capabilities to bag_to_pcd

  • [pcl_ros] Enforce that the TF frame and the timestamp are copied before publish
  • [pcl] fixed error message typo in conversions.h
  • [pcl] fixing the meaning of is_dense per #4446

0.4.2 (2010-11-01)

  • [pcl_ros] removed the vtk metapackage (replaced with findVTK macros)

0.4.1 (2010-11-01)

  • [pcl_ros] adding EIGEN_MAKE_ALIGNED_OPERATOR_NEW to all nodelets to make sure that we are aligned on 32bit architectures

0.4.0 (2010-10-30)

  • [pcl_ros] switching rosrecord API to rosbag (r33602)
  • [pcl] changes needed for the eigen3 upgrade (Eigen3::Transform3f -> Eigen3::Affine3f)

  • [eigen3] upgraded to eigen3-beta2
  • [pcl] Added SIFTKeypoint keypoint detection algorithm for use on xyz+intensity point clouds.

  • [pcl] Fixed a bug in Registration::FeatureContainer::isValid () where the source and target feature clouds were required (incorrectly) to be the same size

  • [cminpack] Updated cminpack to 1.0.4 (r33419)
  • [pcl_ros] Complete refactorization of PCL_ROS nodelets. Got rid of multiple inheritance in favor of delegation. Using template specializations now the code compiles faster and GCC processes occupy less RAM during compilation.
  • [pcl] added NARF features (descriptor) to features, updated NARF keypoints, made RangeImageBorderExtractor derived from Feature.

  • [pcl_tutorials] added/updated tutorials for range image creation, range image visualization, range image border extraction, NARF keypoint extraction and NARF descriptor calculation.
  • [pcl] added set/get AllFields/AllData helper methods to ProjectInliers (r33284)

  • [pcl] added helper bool getFilterLimitsNegative () to Filter (r33283)

  • [pcl] added helper set/get LocatorType methods to EuclideanClusterExtraction (r33282)

  • [pcl_ros] new PointCloudConcatenateDataSynchronizer nodelet: concatenates PointCloud2 messages from different topics (r33241)

  • [pcl_ros] added a max_clusters int_t nodelet option to EuclideanClusterExtraction: The maximum number of clusters to extract (r33258)

  • [pcl] added missing dependency on roscpp
  • [pcl_ros] added a filter_limit_negative bool_t nodelet option to Filter. Set to true if we want to return the data outside [filter_limit_min; filter_limit_max] (r33257).

  • [pcl] added a check for insufficient number of points when fitting SAC models to avoid infinite loops (r33195)
  • [pcl] added makeShared () to pcl::PointCloud<T>, and fixed the Ptr/ConstPtr typedefs (r33147)

  • [pcl] fixed a bug in SamplesConsensusModelRegistration where the sample selection could get stuck in an infinite loop

  • [pcl] added line to line intersection routines (r33052)
  • [point_cloud_converter] added missing dependency on roscpp (r33045)
  • [pcl] corrected transformPointCloudWithNormals in transforms.hpp to properly handle normals

  • [pcl_ros] fixed bug in PassThrough nodelet that prevented dynamic reconfigure from setting the FilterFieldName properly.

  • [pcl_ros] added implementation of MovingLeastSquares nodelet

0.3.3 (2010-10-04)

  • [pcl] fixed a bug in ProjectInliers for 32bit architectures (r33035)

  • [point_cloud_converter] Changed INFO to DEBUG on print statements
  • [pcl] Added unit tests for computeCovarianceMatrixNormalized (r32985)

  • [pcl_tf] added code to check for TF exceptions
  • [pcl_ros] changes to consistently output/publish empty datasets + made sure all inputs are checked for validity in each nodelet before processing (r32993)
  • [pcl_ros] added dynamic_reconfigure TF input_frame/output_frame parameters to pcl_ros::Filter (r32990)

  • [pcl] making PointCloud2/PointCloud typedefs consistent (r32989)

  • [pcl] field W is no longer needed in pcl::PointNormal, as it was only used for SSE optimization. Same for pcl::PointXYZW, which means we can remove them (r32960)

0.3.2 (2010-09-28)

  • [pcl_ros] changing the order of the members to allow nodelet unloading (r32941)
  • [pcl] fixed a bug in ExtractPolygonalPrismData that got introduces in r31172

  • [pcl] added new 3D Keypoint extraction base class and the NARF interest points.
  • [pcl_ros] enabling SSE optimizations for all libraries (r32909)
  • [pcl] added iterator, const_iterator, begin, end for pcl::PointCloud

  • [pcl] fixed bug in radius search of kdtree, that occurred when indices_ is used
  • [flann] upgraded to FLANN 1.5
  • [pcl] renamed sac_model_oriented_[line|plane] to *parallel_line and *perpendicular_plane to be more clear
  • [pcl_ros] enabling parameter setting via dynamic_reconfigure for StatisticalOutlierRemoval filter (r32876)

  • [pcl] added a new SAC model for finding planes that are parallel to a given axis. Useful for e.g. finding vertical planes (parallel to "up" axis)
  • [pcl_ros] set the default number of gcc build processes to 2, to avoid large memory allocation thus rendering the machine unusable during compilation

  • [pcl] added a smarter sample selection to SampleConsensusModelRegistration that uses a minimum distance between samples based on the principal directions/magnitudes of the dataset (r32873)

  • [pcl] enabling SSE optimizations by default for all libraries
  • [pcl] normalized covariance matrix estimation pcl::computeCovarianceMatrixNormalized (r32872)

  • [pcl] Added methods to pcl::Registration for finding point correspondences between pairs of feature clouds

  • [pcl] fixed a bug in pcl::SampleConsensusModelLine where the number of iterations was not correctly checked/set in getSamples

  • [pcl] Added missing includes in icp_nl.h

0.3.1 (2010-09-20)

  • [pcl] fixed a grave bug that caused 32bit architectures to exhibit errors regarding eigen alignment issues (32769)
  • [laser_scan_geometry] fixed #4437 where PointCloud2 projectLaser fails when laser intensity is off (32765)

  • [pcl_tf] fixed #4414 where lookupTransform was being called without tf_listener object (32764)

  • [pcl] fixed a bug with isBoundaryPoint() and pcl::BoundaryEstimation::computeFeature() relating to the use of different surface_ and input_clouds and/or non-default indices_, and added a new way of calling isBoundaryPoint()

  • [pcl] fixed the problem of mls.hpp depending on eigen 2
  • Renamed namespace of eigen3 to Eigen3 to prevent conflicts with eigen2
  • [pcl] added computeCovarianceMatrixNormalized methods <<Ticket(ros-pkg 4171)>>

0.3.0 (2010-09-05)

  • [pcl_tf] Added function to just transform a point cloud using an Eigen matrix.
  • [pcl] VectorAverage uses fast spezialized PCA method now for dimension=3

  • [pcl] new version of VoxelGrid filter that downsamples data faster and doesn't use as much memory (the previous version could easily cause std::bad_alloc exceptions)

  • [pcl] fixed a major bug where: 1) PointCloud2 structures were being sent with extra unusued (padding) data (i.e., directly copied from pcl::PointCloud<T>); 2) writing PCD files in binary mode resulted in corrupted files (r32303)

  • [pcl] fixed a bug where the fields were not cleared on pcl::getFields (pcl::PointCloud<T>) (r32293)

  • [pcl] fixed a bug where PCDWriter was writing to the same file instead of creating new ones

  • [pcl] improvements in non linear registration (reduced the number of estimates from 7 to 6, SSE optimizations, etc)
  • [pcl] reduced the number of operations for covariance matrix estimation from 18*N to 10*N+3 => big speedup increase together with pcl::eigen33 !

  • [pcl_visualization] fixed a bug where NaN values invalidated certain color handlers
  • [pcl] Big patch for PCL to work with Eigen3. Fixed alignment issues for Sample Consensus models. Added a faster (experimental) eigen decomposition method from Eigen3 trunk.
  • [eigen3] added Eigen3 library
  • [pcl] fixed a bug where the axis_ was not properly aligned on 32bit architectures thus causing an assert
  • [pcl] Added ICP functionalities to range image, add new helper functions header file_io, minor fixes.
  • [pcl_visualization] Range image example uses viewpoint information from file now

0.2.9 (2010-08-27)

  • [pcl] added copyPointCloud (sensor_msgs::PointCloud2 &in, indices, sensor_msgs::PointCloud2 &out)

  • [pcl_visualization] fixed a bug in PCLVisualizer where NULL scalars were causing a segfault
  • [pcl_ros] changed the default max queue size to 3
  • [pcl_ros] added implementations for approximate time synchronizers
  • [pcl_ros] ExtractPolygonalPrismData can now rotate the hull in the point cloud frame using TF

  • [pcl_tf] transforms.cpp add missing out.header.frame_id = target_frame;
  • [laser_scan_geometry] Max range handling from Hokuyo should work properly now.

0.2.8 (2010-08-24)

  • [pcl] added a Huber kernel to LM optimization
  • [pcl_visualization] scale the colors lookup table to the color handler limits (31942)
  • [pcl] fixed a bug where the order of setInputCloud and setPointRepresentation triggered an assert condition (31938)

  • [pcl] added a Sample Consensus model for outlier rejection during ICP-like registration
  • [pcl] added implementations of the intensity-domain spin image and Rotation Invariant Feature Transform, as described in "A sparse texture representation using local affine regions," by Lazebnik et al. (PAMI 2005).
  • [pcl] added a templated N-dimensional histogram point type
  • [pcl_visualization] fixed a bug where the screenshot function was not using the last updated screen
  • [pcl_visualization] addPointCloudPrincipalCurvatures renders the principal curvatures of a point cloud on screen + set color properties

  • [pcl] Updated code to work with point wrapper registration.

0.2.7 (2010-08-19)

  • [pcl_visualization] fixed a silly X11 include bug, where Bool was defined globally therefore breaking BOOST_FOREACH
  • [pcl_tutorials] added a tutorial for online PointCloud2 message viewing

  • [pcl_visualization] added font size property setter for text actors
  • [pcl_visualization] new PCLVisualizer::addText method for adding texts to screen (r31822)

  • [pcl] work on improving the VFH signatures (changed the signature from 263 to 308, added distances)
  • [pcl_visualization] implemented window position ordering and range min/max for PCLHistogramVisualizer (r31805)

  • [pcl_visualization] implemented a basic histogram visualizer for multi-dimensional count=1 features (e.g., VFH)
  • [pcl] SSE improvements in *PFHEstimation

  • [pcl] more SSE improvements in computeCentroid, computeCovarianceMatrix, etc

  • [pcl] several improvements regarding SSE optimizations in SACModelPlane

  • [pcl] make all data points that deal with XYZ SSE aligned (31780)

0.2.6 (2010-08-17)

  • [pcl] fixed another bug where internal matrices were not always cleared in FPFH/VFH estimation
  • [pcl_ros] fixed a bug where SACSegmentation was accepting two parameters with the same name (distance_threshold vs model_threshold)

  • [pcl_visualization] added lookup table to the renderer
  • [cminpack] enabled shared library by default
  • [pcl] fixed a few bugs regarding sizeof(PointT)=16 for demeanPointCloud (r31762)

  • [pcl] fixed a grave bun in FPFHOMP/VFH estimation where the matrices were not correctly initialized on consequent runs (r31757)
  • [pcl_ros] disable empty data publishing in PCDReader

  • [pcl] introduced PCL exceptions, and added checks for conversion and cloud.at (u, v) operations

0.2.5 (2010-08-14)

  • [pcl] added a convenience method in pcl::io::loadPCDFileHeader for loading up files fast and checking their fields, data types and sizes, etc (r31740)

  • [pcl] added implementation of the Sample Consensus Initial Alignment (SAC-IA) algorithm described in "Fast Point Feature Histograms (FPFH) for 3D Registration," Rusu et al., (ICRA 2009)
  • [pcl] moved the estimateRigidTransformationSVD methods out of IterativeClosestPoint and made them static functions defined in registration.h.

  • [pcl_visualization] fixed the minmax color handler visualization (r31710)
  • [pcl_visualization] new addPointCloud convenience method for geometry handlers + bugfix in pcd_viewer (the last field was added twice as a color handler when more than one geometry handler was available)

  • [pcl_ros] grave bug fixed in PointCloudConcatenateFieldsSynchronizer where data was not correctly copied (r31708)

  • [pcl_ros] PCDReader nodelet uses a latched topic to publish data

  • [pcl_visualization] addPointCloudNormals displays surface normals on screen (PCLVisualizer)

  • [pcl_visualization] added -normals and -normals_scale options to pcd_viewer

0.2.4 (2010-08-10)

  • pairwise registration tutorial now has on-screen visualization (r31698)
  • new laser scan geometry for LaserScan->PointCloud2 conversion

  • added general purpose transformation routines for sensor_msgs::PointCloud2 using TF (r31678)

  • added basic shapes (line, sphere, cylinder, polygon, etc), split rendering properties for shapes and point clouds (r31665)
  • fixed a few bugs regarding fields.count
  • small bug fix where triples on the parameter server didn't match with the value in dynamic reconfigure (VoxelGrid)

  • added a convenience method for conversion from PointCloud2 (xyz) to Eigen format

  • added a method to get the radius of a circumscribed circle
  • added methods for saving/loading camera parameters in PCL Visualizer (c, j, -cam)
  • added -multiview to pcd_viewer; PCLVisualizer can now create and use different viewports (r31600)

0.2.3 (2010-08-02)

  • tiny bug fixes for cturtle

0.2.2 (2010-08-02)

  • work to improve the PCL Visualization package, standalone pcd_visualizer completed
  • added cloud(u,v) accessors for organized datasets.
  • added constrained implementations (maximum distance between correspondences) for registration methods
  • added PCD file format v.6 which includes field count (r31367)
  • added a PointRepresentation class for spatial search methods that allows the user to specify what dimensions are important

  • added a maximum distance threshold for point correspondences in registration
  • fixed IterativeClosestPoint registration, added a L1 kernel to icp_nl, and unit tests (31283)

  • added a new segmentation method for obtaining the differences between two point clouds (r31281)

0.2.1 (2010-07-25)

  • test build fixes
  • made BAGReader inherit directly from nodelet::Nodelet

0.2.0 (2010-07-24)

  • added PCL_ROS package for all PCL_ROS interactions. Moved all nodelets and all ROS specific interfaces from PCL to PCL_ROS.
  • moved vectorAverage to common
  • added class to calculate transformation from corresponding points to common
  • added index remapping for the kdtrees so that NAN points are automatically ignored.
  • Split kdtrees in h and hpps
  • Added some new functionality to range images and fixed bugs in creation process.
  • separated the PCL tutorials from the library into a separate package (pcl_tutorials)
  • added a PCD Visualizer and implemented several point cloud visualization techniques (handlers) for geometry and color
  • added getFieldsList (PCL/io) for a pcl::PointCloud

  • added VTK as a dependency for visualization in an attempt to be compatible with older Linux distributions

0.1.9 (2010-06-28)

  • added radius search for organized_data
  • fixed some bugs in the range image class
  • structural changes in range images related classes
  • split point_types.h in point_types.h and point_types.hpp and added output operators for all points
  • Added angles.h, norms.h, time.h, transform.h and common_headers.h (which includes all the others) to provide some basic functions for convenience.
  • Added border_extraction for range images
  • Added vectorAverage to features, which calculates mean and covariance matrix incrementally without storing added points.
  • Added macros.h, which provides some basic macros for convenience.
  • added an initial PCL Visualizer implementation
  • replaced rosrecord with rosbag for all PCL tools
  • added cluster_max size to Euclidean Clustering (r30210)
  • adding cylinder direction axis constraints + sphere min/max radius constraints for model segmentation (r30195)
  • fixed a grave bug which was preventing objects containing ANN trees to be used in multiple threads (r30194)
  • fixed a bug where patches for ANN 1.1.2 were not applied correctly (r30193)
  • all nodelets now have use_indices and max_queue_size checked at startup via PCLNodelet base class
  • switched from rosrecord to the rosbag API for BAGReader
  • enable max_queue_size parameter (default to 1) for all nodelets
  • set the indices/distances to 0 if the search failed for ANN trees (r30130)
  • PCD reader fix when an invalid file name is given (r30004)
  • added range image class (r29971)
  • added axis and eps_angle as ROS parameters for segmentation (r29938)
  • setting the maximum number of clusters that are to be published via max_clusters (r29935)
  • fixed a grave bug where SACModelOrientedPlane was performing an infinite loop inside selectWithinDistance (r29934)

0.1.8 (2010-05-24)

  • simplified API in point_cloud_converter
  • new general purpose 3D point in 2D polygon check method (r29645)
  • added a getPointsInBox() method
  • fixed a bug where some points were not considered as being part of the polygonal prism due to polygonal bound checking errors (r29597)
  • added a PointXYZI type to represent intensity data.
  • updating flann to 1.5_pre2 (r29549)
  • added MovingLeastSquares tutorial (r29539)

0.1.7 (2010-05-13)

  • getMinMax3D<T> methods now reside in common

  • fixed a major bug in VoxelGrid where centroids were not initialized correctly

  • fixed a bug where NdCopyEigenPointFunctor and NdCopyPointEigenFunctor were given incorrect values

  • reorganizing the library for faster compilation
  • fix for linker errors when linking together multiple translation units that include the same point type registration. Static tag name strings would be defined more than once. #4071 (r29435)

0.1.6 (2010-05-01)

  • added parameter sets for Filter, VoxelGrid, ExtractIndices (r29229)

  • refactorized the dynamic reconfigure parametrization for nodelets
  • added tutorial/sample for cylinder segmentation via SAC (r29224)
  • introduced bad model handling in the sample consensus loop (r29218)
  • added the field name to the dynamic reconfigure parameter list for Filters (r29211)
  • improved NaN handling in kdtrees (r29204)
  • fixed a bug where PassThrough was incorrectly declared as a nodelet (r29202)

  • added tutorial/sample for the ConvexHull2D algorithm (r29198)
  • added set/get radius limits (to be extended), implemented radius limits for cylinder models, and better RANSAC model checking (r29194)
  • default input topic on pointcloud_to_pcd changed from "tilt_laser_cloud" to "input" (r29137)
  • CMakeLists split into individual files for better organization
  • fixed a couple of boost linking errors on some machines
  • transformed point_cloud_converter from a node into a library+node so it can be reused elsewhere
  • added a command line tool for concatenating PCD files (r29035)
  • added an implementation of the Viewpoint Feature Histogram (VFH) (r29032)

0.1.5 (2010-04-22)

  • added tutorial/sample for the ExtractIndices filter (r28990)

  • added tutorial/sample for the VoxelGrid filter (r28986)

  • added tutorial/sample for the StatisticalOutlierRemoval filter (r28985)

  • added templated version of loadPCDFile (r28978) and PCDReader::read
  • added unit tests for the StatisticalOutlierRemoval filter (r28971)

  • added unit tests for the ProjectInliers filter (r28970)

  • added unit tests for the VoxelGrid filter (r28969)

  • added negative limits and fixed a bug where the centroid was not correctly initialized in VoxelGrid (r28967)

  • added unit tests for the PassThrough filter (r28966)

  • added unit tests for PCL filters: RadiusOutlierRemoval and ExtractIndices (r28961)

  • added extra unit tests for concatenate points/fields (r28959)
  • added tutorial/sample code for BAGReader (r28955)

0.1.4 (2010-04-21)

  • added a few nodelet tests (talker, listener, pingpong)
  • added unit tests for BAGReader (r28924)
  • added an implementation for BAGReader (r28922)
  • added unit tests for PCDReader/PCDWriter
  • fixed a few bugs where certain include headers were not exposed properly
  • added an implementation of a statistical outlier removal filter (r28886)
  • added an implementation of radius outlier removal filter (r28878)
  • fixed a bug (#3378) where the output file name in several tools was incorrect (r28858)
  • added an implementation of non-linear ICP (28854)
  • fixed a bug where the min/max estimation was incorrect for sensor_msgs/PointCloud2 types in voxel_grid (r28846)

0.1.3 (2010-04-15)

  • final transformation is now accessible after registration (r28797)
  • added filter_limit_negative to switch between inside/outside interval (r28796)
  • added =/+= operator to PointCloud<PointT> (r28795)

  • added a set of tutorials for IO, Segmentation, Filtering
  • fixed a very ugly bug regarding covariance matrices having 0 elements (r28789)
  • IterativeClosestPoint tested and works (r28706)

  • added set/get maximum distance for organized data index and virtualized the ANN radiusSeach (r28705)
  • added demeaning methods to registration/transforms.h
  • updated ANN library to 0.1.2
  • fixed a major bug in ExtractPolygonalPrismData where distances were incorrectly checked

  • added plane normal flip via viewpoint to ExtractPolygonalPrismData

  • added axis and eps_angle (set/get) to SACSegmentationFromNormals
  • added methods for transforming PointCloud datasets containing normals

0.1.2 (2010-04-05)

  • added a first draft implementation of tf_pcl
  • added missing descriptions to PCL nodelets list
  • fixed a few bugs in voxel_grid where the offset was not incremented correctly (r28559)
  • added a new passthrough filter
  • fixed a few bugs regarding Eigen/Boost's make_shared (r28551)
  • solved numerical instability issue in MLS, preferred the solution using doubles over the one using SVD (r28502). MLS works great now.
  • simplified the registration API (still in progress)
  • changed point_cloud_converter to accept 2 input and 2 output topics, thus fixing the "subscribe when nothing is being published" problem (r28540)

0.1.1 (2010-03-29)

  • fixed a very nasty bug in VoxelGrid where leaves were not properly initialized (r28404)

  • fixed extractEuclideanClusters (was not working correctly)
  • added min/max height for polygonal prism data extraction (r28325)
  • added a bag_to_pcd tool that doesn't need ROS to convert BAG files to PCD (r28469)
  • fixed a bug where PCL classes couldn't be used unless ros::init was called first
  • classes now inherit from PCLNodelet and PCLBase
  • setInputCloud and setIndices are defined in PCLBase now, and used everywhere
  • fixed a bug where kdtree structures were incorrectly created
  • added get/set helper methods everywhere
  • PointCloud2 structures can now contain NaN (Not a Number) values, so extra checks have been added in a lot of places

  • added new distance methods to sample consensus models
  • removed ROS_DEBUG statements in the feature constructors
  • indices can now be set via pcl::PointIndices too

  • fixed a bug where the surface was not getting re-initialized in Feature (r28405)
  • added explicit checks for invalid covariance matrices (r28306)
  • fixed a bug where indices are created to mimic the input point cloud data but never reset (r28306)
  • cleaned the C++ API documentation
  • initial MLS port (untested)

0.1.0 (2010-03-10)

  • initial release

Wiki: perception_pcl/ChangeList/1.0 (last edited 2012-01-15 20:21:51 by BrianGerkey)