Point Cloud Library (PCL)  1.11.0-dev
Todo List
File file_io.h
move this to pcl::console
Namespace openni_wrapper
Get rid of all exception-specifications, these are useless and soon to be deprecated
Member pcl::assignNormalWeights (const PointCloud< NormalT > &cloud, int index, const std::vector< int > &k_indices, const std::vector< float > &k_sqr_distances)
Currently, this function equalizes all weights to 1
Member pcl::createMapping (const std::vector< pcl::PCLPointField > &msg_fields, MsgFieldMap &field_map)
One could construct a pathological case where the struct has a field where the serialized data has padding
Member pcl::cuda::SampleConsensusModel< Storage >::setRadiusLimits (float min_radius, float max_radius)
change this to set limits on the entire model
Member pcl::EuclideanClusterExtraction< PointT >::getSearchMethod () const
fix this for a generic search tree
Member pcl::extractEuclideanClusters (const PointCloud< PointT > &cloud, const std::vector< int > &indices, const typename search::Search< PointT >::Ptr &tree, float tolerance, std::vector< PointIndices > &clusters, unsigned int min_pts_per_cluster=1, unsigned int max_pts_per_cluster=(std::numeric_limits< int >::max)())
: fix the return value, make sure the exit is not needed anymore
Class pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >
Add documentation
Class pcl::geometry::MeshIO< MeshT >
  • Only writes the topology (not the mesh data).
  • Supports only ascii.
  • Does not consider the mesh traits (e.g. manifold or not)
Member pcl::gpu::EuclideanClusterExtraction::getSearchMethod ()
fix this for a generic search tree
Member pcl::gpu::EuclideanLabeledClusterExtraction< PointT >::extract (std::vector< PointIndices > &clusters)
what do we do if input isn't a PointXYZ cloud?
Member pcl::gpu::EuclideanLabeledClusterExtraction< PointT >::getSearchMethod ()
fix this for a generic search tree
Member pcl::gpu::extractEuclideanClusters (const pcl::PointCloud< pcl::PointXYZ >::Ptr &host_cloud_, const pcl::gpu::Octree::Ptr &tree, float tolerance, std::vector< PointIndices > &clusters, unsigned int min_pts_per_cluster, unsigned int max_pts_per_cluster)
: adjust this to a variable number settable with method
Class pcl::gpu::people::Blob2
: clean this out in the end, perhaps place the children in a separate struct
Member pcl::gpu::people::buildRelations (std::vector< std::vector< Blob2, Eigen::aligned_allocator< pcl::gpu::people::Blob2 > > > &sorted)

This function also fixes the kinematic chain, we should implement this in a xml or LUT

look if we can't get a more efficient implementation (iterator together with sortBlobs perhaps?)

Member pcl::gpu::people::buildRelations (std::vector< std::vector< Blob2, Eigen::aligned_allocator< pcl::gpu::people::Blob2 > > > &sorted, PersonAttribs::Ptr person_attribs)

This function also fixes the kinematic chain, we should implement this in a xml or LUT

look if we can't get a more efficient implementation (iterator together with sortBlobs perhaps?)

Member pcl::gpu::people::evaluateBlobs (Blob2 &parent, Blob2 &child, int child_nr)
what if child is second link in stead of first link (ea forearm in stead of elbow for arm)
Member pcl::gpu::people::evaluateBlobs (Blob2 &parent, Blob2 &child, int child_nr, PersonAttribs::Ptr person_attribs)
what if child is second link in stead of first link (ea forearm in stead of elbow for arm)
Member pcl::gpu::people::evaluateBlobVector (std::vector< std::vector< Blob2, Eigen::aligned_allocator< Blob2 > > > &sorted, unsigned int parent_label, int child_label, int child_number, PersonAttribs::Ptr person_attribs)
once we have good evaluation function reconsider best_value
Member pcl::gpu::people::evaluateBlobVector (std::vector< std::vector< Blob2, Eigen::aligned_allocator< Blob2 > > > &sorted, unsigned int parent_label, int child_label, int child_number)
once we have good evaluation function reconsider best_value
Member pcl::gpu::people::label_skeleton::smoothLabelImage (cv::Mat &lmap_in, cv::Mat &dmap, cv::Mat &lmap_out)

make the patch size a parameter

make the z-distance a parameter

add a Gaussian contribution function to depth and vote

Member pcl::gpu::people::label_skeleton::sortIndicesToBlob2 (const pcl::PointCloud< pcl::PointXYZ > &cloud_in, unsigned int sizeThres, std::vector< std::vector< Blob2, Eigen::aligned_allocator< Blob2 > > > &sorted, std::vector< std::vector< pcl::PointIndices > > &indices)

implement the eigenvalue evaluation again

do we still need sizeThres?

Member pcl::gpu::people::LUT_max_part_size []
read this from XML file
Member pcl::gpu::people::part_t
implement label 25 to 29
Member pcl::gpu::SeededHueSegmentation::getSearchMethod ()
fix this for a generic search tree
Member pcl::gpu::SeededHueSegmentation::segment (PointIndices &indices_in, PointIndices &indices_out)
what do we do if input isn't a PointXYZ cloud?
Member pcl::IndicesAllocator
Remove with C++20
Member pcl::is_invocable_v
: Remove in C++17
Member pcl::PointCloud< PointT >::mapping_
Once mapping_ is removed, erase the explicitly defined copy constructor in PointCloud.
Member pcl::PointCloud< PointT >::PointCloud (const PointCloud< PointT > &pc)=default
Erase once mapping_ is removed.
Member pcl::PointXYZRGBAtoXYZHSV (const PointXYZRGBA &in, PointXYZHSV &out)
include the A parameter but how?
Class pcl::registration::CorrespondenceRejectorFeatures
explain this better.
Member pcl::remove_cvref_t
: Remove in C++17
Member pcl::SampleConsensusModel< PointT >::setRadiusLimits (const double &min_radius, const double &max_radius)
change this to set limits on the entire model
Member pcl::SampleConsensusModelSphere< PointT >::projectPoints (const Indices &inliers, const Eigen::VectorXf &model_coefficients, PointCloud &projected_points, bool copy_data_fields=true) const override
implement this.
Member pcl::search::OrganizedNeighbor< PointT >::nearestKSearch (const PointT &p_q, int k, Indices &k_indices, std::vector< float > &k_sqr_distances) const override
still need to implements this functionality
Member pcl::seededHueSegmentation (const PointCloud< PointXYZRGB > &cloud, const search::Search< PointXYZRGB >::Ptr &tree, float tolerance, PointIndices &indices_in, PointIndices &indices_out, float delta_hue=0.0)
look how to make this templated!
Member pcl::seededHueSegmentation (const PointCloud< PointXYZRGB > &cloud, const search::Search< PointXYZRGBL >::Ptr &tree, float tolerance, PointIndices &indices_in, PointIndices &indices_out, float delta_hue=0.0)
look how to make this templated!
Member pcl::SurfaceNormalModality< PointInT >::computeAndQuantizeSurfaceNormals2 ()

Should also need camera model, or at least focal lengths? Replace distance_threshold with mask?

Magic number 1150 is focal length? This is something like f in SXGA mode, but in VGA is more like 530.

Member pcl::toPCLPointCloud2 (const pcl::PointCloud< PointT > &cloud, pcl::PCLPointCloud2 &msg)
msg.is_bigendian = ?;
Member pcl::visualization::PointCloudColorHandlerHSVField< PointT >::getColor () const override
do this with the point_types_conversion in common, first template it!