- 1.0.2 (2011-11-21) ::
- 1.0.1 (2011-09-08) ::
- 1.0.0 (2011-08-29) ::
- 0.12.0 (2011-06-16) ::
- 0.11.0 () ::
- 0.10.0 (2010-02-25)
- 0.9.9 (2010-02-22) :: "Almost there" edition
- 0.9.0 (2011-02-08) :: "Darn the torpedoes" Edition
- 0.8.0 (2011-01-27) :: Operation CloudMan
- 0.7.1 (2011-01-09)
- 0.7 (2010-12-20) :: Special "FLANN is awesome" Edition
- 0.6 (2010-12-01) :: Special "Happy Birthday Bastian!" Edition
- 0.5 (2010-11-25) :: Special Thanksgiving Edition
- 0.4.2 (2010-11-01)
- 0.4.1 (2010-11-01)
- 0.4.0 (2010-10-30)
- 0.3.3 (2010-10-04)
- 0.3.2 (2010-09-28)
- 0.3.1 (2010-09-20)
- 0.3.0 (2010-09-05)
- 0.2.9 (2010-08-27)
- 0.2.8 (2010-08-24)
- 0.2.7 (2010-08-19)
- 0.2.6 (2010-08-17)
- 0.2.5 (2010-08-14)
- 0.2.4 (2010-08-10)
- 0.2.3 (2010-08-02)
- 0.2.2 (2010-08-02)
- 0.2.1 (2010-07-25)
- 0.2.0 (2010-07-24)
- 0.1.9 (2010-06-28)
- 0.1.8 (2010-05-24)
- 0.1.7 (2010-05-13)
- 0.1.6 (2010-05-01)
- 0.1.5 (2010-04-22)
- 0.1.4 (2010-04-21)
- 0.1.3 (2010-04-15)
- 0.1.2 (2010-04-05)
- 0.1.1 (2010-03-29)
- 0.1.0 (2010-03-10)
1.0.2 (2011-11-21) ::
- updated to the 1.0.2 bug-fix release.
1.0.1 (2011-09-08) ::
- 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
- updated to the 1.1.1 bug-fix release.
1.0.0 (2011-08-29) ::
updated to the 1.1 standalone release. See http://dev.pointclouds.org/projects/pcl/wiki/ChangeList for the release notes.
0.12.0 (2011-06-16) ::
- updated revision number to latest stable bug fixes
0.11.0 () ::
- Updated to version 1.6.8
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
added the keep_organized option to pcl_ros::Passthrough (#4627)
- Re-versioned 0.9.9 to follow patch-versioning semantics.
0.9.9 (2010-02-22) :: "Almost there" edition
removed ConvexHull2D (API breaking change!)
- You need to change your code. From:
- You need to change your code. From:
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
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
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)
- 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.
- Removed the tool from pcl , and moved to pcl_ros
0.8.0 (2011-01-27) :: Operation CloudMan
- Updated to version 1.6.7
- 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
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.
- Makefile patch for LateX PDF build
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
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
- [pcl_ros] removed the vtk metapackage (replaced with findVTK macros)
- [pcl_ros] adding EIGEN_MAKE_ALIGNED_OPERATOR_NEW to all nodelets to make sure that we are aligned on 32bit architectures
- [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
[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)
- [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
- [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)>>
- [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
[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.
- [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.
- [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)
- [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
[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
- pairwise registration tutorial now has on-screen visualization (r31698)
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)
- tiny bug fixes for cturtle
- 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)
- test build fixes
- made BAGReader inherit directly from nodelet::Nodelet
- 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
- 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)
- 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)
getMinMax3D<T> methods now reside in common
fixed a major bug in VoxelGrid where centroids were not initialized correctly
- 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)
- 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)
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 extra unit tests for concatenate points/fields (r28959)
- added tutorial/sample code for BAGReader (r28955)
- 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)
- 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
- 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)
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)
- initial release