diff --git a/doc/tutorials/content/bspline_fitting.rst b/doc/tutorials/content/bspline_fitting.rst index 79642b32fd4..518261ed6b7 100644 --- a/doc/tutorials/content/bspline_fitting.rst +++ b/doc/tutorials/content/bspline_fitting.rst @@ -257,6 +257,7 @@ Saving and viewing the result ----------------------------- * Saving as OpenNURBS (3dm) file + You can save the B-spline surface by using the commands provided by OpenNurbs: .. literalinclude:: sources/bspline_fitting/bspline_fitting.cpp @@ -266,6 +267,7 @@ You can save the B-spline surface by using the commands provided by OpenNurbs: The files generated can be viewed with the pcl/examples/surface/example_nurbs_viewer_surface.cpp. * Saving as triangle mesh into a vtk file + You can save the triangle mesh for example by saving into a VTK file by: #include diff --git a/doc/tutorials/content/cloud_viewer.rst b/doc/tutorials/content/cloud_viewer.rst index 1b8e634fbd0..939914f9c01 100644 --- a/doc/tutorials/content/cloud_viewer.rst +++ b/doc/tutorials/content/cloud_viewer.rst @@ -10,7 +10,7 @@ to get you up and viewing clouds in as little code as possible. The CloudViewer class is **NOT** meant to be used in multi-threaded applications! Please check the documentation on - :pcl:`PCLVisualizer` or read the :ref:`pcl_visualizer` tutorial + :pcl:`PCLVisualizer` or read the :ref:`pcl_visualizer` tutorial for thread safe visualization. Simple Cloud Visualization diff --git a/doc/tutorials/content/compiling_pcl_dependencies_windows.rst b/doc/tutorials/content/compiling_pcl_dependencies_windows.rst index 042ac8991a3..e983b44cd31 100644 --- a/doc/tutorials/content/compiling_pcl_dependencies_windows.rst +++ b/doc/tutorials/content/compiling_pcl_dependencies_windows.rst @@ -159,6 +159,7 @@ like:: +-- optional python bindings disabled since PYTHON_FOUND is false. + tr1 + Now, click "Generate". A Visual Studio solution file will be genrated inside the build folder (e.g. C:/PCL_dependencies/boost-cmake/build). Open the `Boost.sln` file, then right click on `INSTALL` project and choose `Build`. The `INSTALL`project will trigger the build of all the projects diff --git a/doc/tutorials/content/correspondence_grouping.rst b/doc/tutorials/content/correspondence_grouping.rst index 272c968a590..46241a0dc09 100644 --- a/doc/tutorials/content/correspondence_grouping.rst +++ b/doc/tutorials/content/correspondence_grouping.rst @@ -140,7 +140,7 @@ Alternatively to Hough3DGrouping, and by means of the appropriate command line s :lines: 327-339 .. note:: - The ``recognize`` method returns a vector of ``Eigen::Matrix4f`` representing a transformation (rotation + translation) for each instance of the model found in the scene (obtained via Absolute Orientation) and a **vector** of :pcl:`Correspondences ` (a vector of vectors of :pcl:`Correspondence `) representing the output of the clustering i.e. each element of this vector is in turn a set of correspondences, representing the correspondences associated to a specific model instance in the scene. + The ``recognize`` method returns a vector of ``Eigen::Matrix4f`` representing a transformation (rotation + translation) for each instance of the model found in the scene (obtained via Absolute Orientation) and a **vector** of :pcl:`Correspondences ` (a vector of vectors of :pcl:`Correspondence `) representing the output of the clustering i.e. each element of this vector is in turn a set of correspondences, representing the correspondences associated to a specific model instance in the scene. If you **only** need the clustered correspondences because you are planning to use them in a different way, you can use the ``cluster`` method. @@ -155,7 +155,7 @@ As a first thing we are showing, for each instance of the model found into the s :language: cpp :lines: 344-360 -The program then shows in a :pcl:`PCLVisualizer ` window the scene cloud with a red overlay where an instance of the model has been found. +The program then shows in a :pcl:`PCLVisualizer ` window the scene cloud with a red overlay where an instance of the model has been found. If the command line switches ``-k`` and ``-c`` have been used, the program also shows a "stand-alone" rendering of the model cloud. If keypoint visualization is enabled, keypoints are displayed as blue dots and if correspondence visualization has been enabled they are shown as a green line for each correspondence which *survived* the clustering process. .. literalinclude:: sources/correspondence_grouping/correspondence_grouping.cpp diff --git a/doc/tutorials/content/don_segmentation.rst b/doc/tutorials/content/don_segmentation.rst index 70652f42f70..4d5b056994e 100644 --- a/doc/tutorials/content/don_segmentation.rst +++ b/doc/tutorials/content/don_segmentation.rst @@ -8,7 +8,6 @@ In this tutorial we will learn how to use Difference of Normals features, implem This algorithm performs a scale based segmentation of the given input point cloud, finding points that belong within the scale parameters given. -.. donpipeline:: .. figure:: images/donpipelinesmall.jpg :align: center @@ -28,7 +27,6 @@ Formally the Difference of Normals operator is defined, where :math:`$r_s, r_l \in \mathbb{R}$`, :math:`$r_s`_ - * `Horse `_ - * `Lioness `_ - * `Michael `_ - * `Wolf `_ + * `Cat (train) `_ + * `Horse (train) `_ + * `Lioness (train) `_ + * `Michael (train) `_ + * `Wolf (train) `_ Clouds for testing: * `Cat `_ diff --git a/doc/tutorials/content/index.rst b/doc/tutorials/content/index.rst index d9067dbdde0..1fb18474e38 100644 --- a/doc/tutorials/content/index.rst +++ b/doc/tutorials/content/index.rst @@ -57,7 +57,7 @@ Basic Usage * :ref:`basic_structures` ====== ====== - |mi_0| Title: **Getting Started / Basic Structures** + |mi_9| Title: **Getting Started / Basic Structures** Author: *Radu B. Rusu* @@ -66,7 +66,7 @@ Basic Usage Presents the basic data structures in PCL and discusses their usage with a simple code example. ====== ====== - .. |mi_0| image:: images/pcl_logo.png + .. |mi_9| image:: images/pcl_logo.png :height: 75px * :ref:`using_pcl_pcl_config` @@ -1216,6 +1216,7 @@ Applications .. |ap_5| image:: images/ground_based_rgbd_people_detection/Index_photo.jpg :height: 120px + .. _gpu: GPU @@ -1265,6 +1266,7 @@ GPU .. |gp_2| image:: images/gpu/people/c2_100.jpg :height: 100px + .. * :ref:`normal_estimation_integral_images` Surface normal estimation diff --git a/doc/tutorials/content/moment_of_inertia.rst b/doc/tutorials/content/moment_of_inertia.rst index 6e594d11ae2..793545bd2e3 100644 --- a/doc/tutorials/content/moment_of_inertia.rst +++ b/doc/tutorials/content/moment_of_inertia.rst @@ -1,14 +1,14 @@ .. _moment_of_inertia: Moment of inertia and eccentricity based descriptors ---------------------------- +---------------------------------------------------- In this tutorial we will learn how to use the `pcl::MomentOfInertiaEstimation` class in order to obtain descriptors based on eccentricity and moment of inertia. This class also allows to extract axis aligned and oriented bounding boxes of the cloud. But keep in mind that extracted OBB is not the minimal possible bounding box. Theoretical Primer ---------------------------- +------------------ The idea of the feature extraction method is as follows. First of all the covariance matrix of the point cloud is calculated and its eigen values and vectors are extracted. diff --git a/doc/tutorials/content/rops_feature.rst b/doc/tutorials/content/rops_feature.rst index dc8091e2b36..9269ed28040 100644 --- a/doc/tutorials/content/rops_feature.rst +++ b/doc/tutorials/content/rops_feature.rst @@ -1,14 +1,14 @@ .. _rops_feature: RoPs (Rotational Projection Statistics) feature ---------------------------- +----------------------------------------------- In this tutorial we will learn how to use the `pcl::ROPSEstimation` class in order to extract points features. The feature extraction method implemented in this class was proposed by Yulan Guo, Ferdous Sohel, Mohammed Bennamoun, Min Lu and Jianwei Wanalso in their article "Rotational Projection Statistics for 3D Local Surface Description and Object Recognition" Theoretical Primer ---------------------------- +------------------ The idea of the feature extraction method is as follows. Having a mesh and a set of points for which feature must be computed we perform some simple steps. First of all for a given point of interest @@ -25,6 +25,7 @@ For every axis Ox, Oy and Oz the following steps are performed, we will refer to * for each projection distribution matrix is built, this matrix simply shows how much points fall onto each bin. Number of bins represents the matrix dimension and is the parameter of the algorithm, as well as the support radius; * for each distribution matrix central moments are calculated: M11, M12, M21, M22, E. Here E is the Shannon entropy; * calculated values are then concatenated to form the sub-feature. + We iterate through these steps several times. Number of iterations depends on the given number of rotations. Sub-features for different axes are concatenated to form the final RoPS descriptor. @@ -110,4 +111,4 @@ Add the following lines to your CMakeLists.txt file: After you have made the executable, you can run it. Simply do:: - $ ./rops_feature points.pcd indices.txt triangles.txt \ No newline at end of file + $ ./rops_feature points.pcd indices.txt triangles.txt diff --git a/doc/tutorials/content/supervoxel_clustering.rst b/doc/tutorials/content/supervoxel_clustering.rst index 32d02ea6d03..61887cc83ff 100644 --- a/doc/tutorials/content/supervoxel_clustering.rst +++ b/doc/tutorials/content/supervoxel_clustering.rst @@ -63,8 +63,8 @@ Oh, and for a more complicated example which uses Supervoxels, see ``pcl/example The code -------- -First, grab a pcd file made from a kinect or similar device - here we shall use ``milk_cartoon_all_small_clorox.pcd`` which is available in the pcl git :download:`here `). - +First, grab a pcd file made from a kinect or similar device - here we shall use ``milk_cartoon_all_small_clorox.pcd`` which is available in the pcl git +`here `_). Next, copy and paste the following code into your editor and save it as ``supervoxel_clustering.cpp`` (or download the source file :download:`here <./sources/supervoxel_clustering/supervoxel_clustering.cpp>`). .. literalinclude:: sources/supervoxel_clustering/supervoxel_clustering.cpp