PCLCommon.jl
PCLCommon — Module.PCL common types, functions and utilities.
Basic usage
The primary export is the PointCloud{PointT} (aliased to PointCloudPtr{PointT}), which represents a shared pointer of a point cloud (i.e. pcl::PointCloud<PointT>::Ptr) in PCL. You can create point clouds as follows:
using PCLCommon# Create empty point cloud
cloud = PointCloud{PointXYZRGBA}()which in C++ corresponds to:
pcl::PointCloud<pcl::PointXYZRGBA>::Ptr cloud = pcl::PointCloud<pcl::PointXYZRGBA>::Ptr(
new pcl::PointCloud<pcl::PointXYZRGBA>);If you want to load a point cloud from a PCD file, then use PCLIO.jl:
using PCLCommon
using PCLIO# Create and load point cloud from a PCD file
cloud = PointCloud{PointXYZRGB}("your_pcd_file.pcd")or
cloud = PointCloud{PointXYZRGB}()
loadPCDFile("your_pcd_file.pcd", cloud)in C++:
pcl::PointCloud<pcl::PointXYZRGBA>::Ptr cloud = pcl::PointCloud<pcl::PointXYZRGBA>::Ptr(
new pcl::PointCloud<pcl::PointXYZRGBA>);
pcl::loadPCDFile("your_pcd_file.pcd", *cloud);If you need a value representation rather than a smart pointer, then use XXXVal (e.g. PointCloudVal) instead:
cloud = PointCloudVal{PointXYZRGBA}()Index
PCLCommon.BoostSharedPtrPCLCommon.PointCloudPCLCommon.deg2radPCLCommon.use_countPCLCommon.AxisPCLCommon.BRISKSignature512PCLCommon.BoundaryPCLCommon.CPPFSignaturePCLCommon.CorrespondencePCLCommon.CorrespondencePtrPCLCommon.CorrespondenceValPCLCommon.CorrespondencesPCLCommon.CorrespondencesPtrPCLCommon.CorrespondencesValPCLCommon.ESFSignature640PCLCommon.FPFHSignature33PCLCommon.GRSDSignature21PCLCommon.IntensityGradientPCLCommon.InterestPointPCLCommon.LabelPCLCommon.ModelCoefficientsPCLCommon.ModelCoefficientsPtrPCLCommon.ModelCoefficientsValPCLCommon.MomentInvariantsPCLCommon.Narf36PCLCommon.NormalPCLCommon.NormalBasedSignature12PCLCommon.PCLBasePCLCommon.PCLPointCloud2PCLCommon.PCLPointCloud2PtrPCLCommon.PCLPointCloud2ValPCLCommon.PFHRGBSignature250PCLCommon.PFHSignature125PCLCommon.PPFRGBSignaturePCLCommon.PPFSignaturePCLCommon.PointCloudPtrPCLCommon.PointCloudValPCLCommon.PointDEMPCLCommon.PointIndicesPCLCommon.PointIndicesPtrPCLCommon.PointIndicesValPCLCommon.PointNormalPCLCommon.PointSurfelPCLCommon.PointUVPCLCommon.PointWithRangePCLCommon.PointWithScalePCLCommon.PointWithViewpointPCLCommon.PointXYPCLCommon.PointXYZPCLCommon.PointXYZHSVPCLCommon.PointXYZIPCLCommon.PointXYZINormalPCLCommon.PointXYZLPCLCommon.PointXYZLNormalPCLCommon.PointXYZRGBPCLCommon.PointXYZRGBAPCLCommon.PointXYZRGBLPCLCommon.PointXYZRGBNormalPCLCommon.PrincipalCurvaturesPCLCommon.PrincipalRadiiRSDPCLCommon.RangeImagePCLCommon.RangeImagePtrPCLCommon.RangeImageValPCLCommon.ReferenceFramePCLCommon.SHOT1344PCLCommon.SHOT352PCLCommon.ShapeContext1980PCLCommon.UniqueShapeContext1960PCLCommon.VFHSignature308PCLCommon.@boostsharedptrPCLCommon.@defconstructorPCLCommon.@defpcltypePCLCommon.@defptrconstructor
Reference
PCLCommon.BoostSharedPtr — Constant.boost::shared_ptr<T>
PCLCommon.PointCloud — Constant.Pointer representation for pcl::PointCloud<PointT> in C++
typealias of PointCloudPtr
PCLCommon.use_count — Method.use_count(s)
Returns reference count
PCLCommon.Axis — Type.pcl::Axis
PCLCommon.BRISKSignature512 — Type.pcl::BRISKSignature512
PCLCommon.Boundary — Type.pcl::Boundary
PCLCommon.CPPFSignature — Type.pcl::CPPFSignature
PCLCommon.Correspondence — Type.Pointer representation for pcl::Correspondence in C++
typealias of CorrespondencePtr
PCLCommon.Correspondences — Type.Pointer representation for pcl::Correspondences in C++
typealias of CorrespondencesPtr
PCLCommon.ESFSignature640 — Type.pcl::ESFSignature640
PCLCommon.FPFHSignature33 — Type.pcl::FPFHSignature33
PCLCommon.GRSDSignature21 — Type.pcl::GRSDSignature21
PCLCommon.IntensityGradient — Type.pcl::IntensityGradient
PCLCommon.InterestPoint — Type.pcl::InterestPoint
PCLCommon.Label — Type.pcl::Label
PCLCommon.ModelCoefficients — Type.Pointer representation for pcl::ModelCoefficients in C++
typealias of ModelCoefficientsPtr
PCLCommon.MomentInvariants — Type.pcl::MomentInvariants
PCLCommon.Narf36 — Type.pcl::Narf36
PCLCommon.Normal — Type.pcl::Normal
PCLCommon.NormalBasedSignature12 — Type.pcl::NormalBasedSignature12
PCLCommon.PCLBase — Type.Similar to pcl::PCLBase, for dispatch
PCLCommon.PCLPointCloud2 — Type.Pointer representation for pcl::PCLPointCloud2 in C++
typealias of PCLPointCloud2Ptr
PCLCommon.PFHRGBSignature250 — Type.pcl::PFHRGBSignature250
PCLCommon.PFHSignature125 — Type.pcl::PFHSignature125
PCLCommon.PPFRGBSignature — Type.pcl::PPFRGBSignature
PCLCommon.PPFSignature — Type.pcl::PPFSignature
PCLCommon.PointDEM — Type.pcl::PointDEM
PCLCommon.PointIndices — Type.Pointer representation for pcl::PointIndices in C++
typealias of PointIndicesPtr
PCLCommon.PointNormal — Type.pcl::PointNormal
PCLCommon.PointSurfel — Type.pcl::PointSurfel
PCLCommon.PointUV — Type.pcl::PointUV
PCLCommon.PointWithRange — Type.pcl::PointWithRange
PCLCommon.PointWithScale — Type.pcl::PointWithScale
PCLCommon.PointWithViewpoint — Type.pcl::PointWithViewpoint
PCLCommon.PointXY — Type.pcl::PointXY
PCLCommon.PointXYZ — Type.pcl::PointXYZ
PCLCommon.PointXYZHSV — Type.pcl::PointXYZHSV
PCLCommon.PointXYZI — Type.pcl::PointXYZI
PCLCommon.PointXYZINormal — Type.pcl::PointXYZINormal
PCLCommon.PointXYZL — Type.pcl::PointXYZL
PCLCommon.PointXYZLNormal — Type.pcl::PointXYZLNormal
PCLCommon.PointXYZRGB — Type.pcl::PointXYZRGB
PCLCommon.PointXYZRGBA — Type.pcl::PointXYZRGBA
PCLCommon.PointXYZRGBL — Type.pcl::PointXYZRGBL
PCLCommon.PointXYZRGBNormal — Type.pcl::PointXYZRGBNormal
PCLCommon.PrincipalCurvatures — Type.pcl::PrincipalCurvatures
PCLCommon.PrincipalRadiiRSD — Type.pcl::PrincipalRadiiRSD
PCLCommon.RangeImage — Type.Pointer representation for pcl::RangeImage in C++
typealias of RangeImagePtr
PCLCommon.ReferenceFrame — Type.pcl::ReferenceFrame
PCLCommon.SHOT1344 — Type.pcl::SHOT1344
PCLCommon.SHOT352 — Type.pcl::SHOT352
PCLCommon.ShapeContext1980 — Type.pcl::ShapeContext1980
PCLCommon.UniqueShapeContext1960 — Type.pcl::UniqueShapeContext1960
PCLCommon.VFHSignature308 — Type.pcl::VFHSignature308
PCLCommon.@boostsharedptr — Macro.@boostsharedptr(name, args)
creates boost::shared_ptr expression (for package development)
Parameters
name: C++ type nameargs: argments will be passed to constructor
template parameters in 1st argment and embedding expression in 2nd argment must be escaped.
Returns
handle: C++ boost shared pointer of a given C++ type name and argments
Example
handle = @boostsharedptr(
"pcl::visualization::PointCloudColorHandlerRGBField<\$T>",
"\$(cloud.handle)")PCLCommon.@defconstructor — Macro.@defconstructor(expr, cxxname)
Defines convenient constructor for value types
Parameters
expr: Constructor expressioncxxname: C++ type name
Examples
@defptrconstructor PointCloudVal{PointT}() "pcl::PointCloud"PCLCommon.@defpcltype — Macro.@defpcltype(expr, cxxname)
A macro to define PCL convenient types. Mostly intended to be used by package development.
Parameters
expr: Julia type name (can have type params)cxxname: C++ type name
Example
@defpcltype PointCloud{T} "pcl::PointCloud"
which defines Julia wrapper types for C++ types:
PointCloudPtr{T}: boost shared pointer of
pcl::PointCloud<T>(i.e.pcl::PointCloud<T>::Ptr) wrapperPointCloudVal{T}:
pcl::PointCloud<T>value wrapperPointCloud{T}: type aliased to
PointCloudPtr{T}
and also Cxx types:
pclPointCloudPtr{T}:
pcl::PointCloud<T>::PtrpclPointCloudVal{T}:
pcl::PointCloud<T>
With the combination of @defptrconstructor, you can then use pcl::PointCloud<T>::Ptr (entirely used in PCL tutorials) as follows:
cloud = PointCloud{PointXYZ}()Note that PointCloud{T} is a Julia wrapper, you can get the C++ representation as PCLCommon.handle(cloud) or use handle = pclPointCloud{PointXYZ}() which returns C++ type.
PCLCommon.@defptrconstructor — Macro.@defptrconstructor(expr, cxxname)
Defines convenient constructor for point types
Parameters
expr: Constructor expressioncxxname: C++ type name
Examples
@defptrconstructor PointCloud{PointT}() "pcl::PointCloud"Base.convert — Method.convert(?, cloud)
Converts a point cloud to a different type of point cloud
Examples
cloud = PointCloud{PointXYZRGB}()
xyz_cloud = convert(PointCloud{PointXYZ}, cloud)PCLCommon.deg2rad — Method.pcl::deg2rad
PCLCommon.CorrespondencePtr — Type.Pointer representation for pcl::Correspondence in C++
PCLCommon.CorrespondenceVal — Type.Value representation for pcl::Correspondence in C++
PCLCommon.CorrespondencesPtr — Type.Pointer representation for pcl::Correspondences in C++
PCLCommon.CorrespondencesVal — Type.Value representation for pcl::Correspondences in C++
PCLCommon.ModelCoefficientsPtr — Type.Pointer representation for pcl::ModelCoefficients in C++
PCLCommon.ModelCoefficientsVal — Type.Value representation for pcl::ModelCoefficients in C++
PCLCommon.PCLPointCloud2Ptr — Type.Pointer representation for pcl::PCLPointCloud2 in C++
PCLCommon.PCLPointCloud2Val — Type.Value representation for pcl::PCLPointCloud2 in C++
PCLCommon.PointCloudPtr — Type.Pointer representation for pcl::PointCloud<PointT> in C++
PCLCommon.PointCloudVal — Type.Value representation for pcl::PointCloud<PointT> in C++
PCLCommon.PointIndicesPtr — Type.Pointer representation for pcl::PointIndices in C++
PCLCommon.PointIndicesVal — Type.Value representation for pcl::PointIndices in C++
PCLCommon.RangeImagePtr — Type.Pointer representation for pcl::RangeImage in C++
PCLCommon.RangeImageVal — Type.Value representation for pcl::RangeImage in C++