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.BoostSharedPtr
PCLCommon.PointCloud
PCLCommon.deg2rad
PCLCommon.use_count
PCLCommon.Axis
PCLCommon.BRISKSignature512
PCLCommon.Boundary
PCLCommon.CPPFSignature
PCLCommon.Correspondence
PCLCommon.CorrespondencePtr
PCLCommon.CorrespondenceVal
PCLCommon.Correspondences
PCLCommon.CorrespondencesPtr
PCLCommon.CorrespondencesVal
PCLCommon.ESFSignature640
PCLCommon.FPFHSignature33
PCLCommon.GRSDSignature21
PCLCommon.IntensityGradient
PCLCommon.InterestPoint
PCLCommon.Label
PCLCommon.ModelCoefficients
PCLCommon.ModelCoefficientsPtr
PCLCommon.ModelCoefficientsVal
PCLCommon.MomentInvariants
PCLCommon.Narf36
PCLCommon.Normal
PCLCommon.NormalBasedSignature12
PCLCommon.PCLBase
PCLCommon.PCLPointCloud2
PCLCommon.PCLPointCloud2Ptr
PCLCommon.PCLPointCloud2Val
PCLCommon.PFHRGBSignature250
PCLCommon.PFHSignature125
PCLCommon.PPFRGBSignature
PCLCommon.PPFSignature
PCLCommon.PointCloudPtr
PCLCommon.PointCloudVal
PCLCommon.PointDEM
PCLCommon.PointIndices
PCLCommon.PointIndicesPtr
PCLCommon.PointIndicesVal
PCLCommon.PointNormal
PCLCommon.PointSurfel
PCLCommon.PointUV
PCLCommon.PointWithRange
PCLCommon.PointWithScale
PCLCommon.PointWithViewpoint
PCLCommon.PointXY
PCLCommon.PointXYZ
PCLCommon.PointXYZHSV
PCLCommon.PointXYZI
PCLCommon.PointXYZINormal
PCLCommon.PointXYZL
PCLCommon.PointXYZLNormal
PCLCommon.PointXYZRGB
PCLCommon.PointXYZRGBA
PCLCommon.PointXYZRGBL
PCLCommon.PointXYZRGBNormal
PCLCommon.PrincipalCurvatures
PCLCommon.PrincipalRadiiRSD
PCLCommon.RangeImage
PCLCommon.RangeImagePtr
PCLCommon.RangeImageVal
PCLCommon.ReferenceFrame
PCLCommon.SHOT1344
PCLCommon.SHOT352
PCLCommon.ShapeContext1980
PCLCommon.UniqueShapeContext1960
PCLCommon.VFHSignature308
PCLCommon.@boostsharedptr
PCLCommon.@defconstructor
PCLCommon.@defpcltype
PCLCommon.@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>::Ptr
pclPointCloudVal{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++