diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..666de10 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +_site +.sass-cache +.jekyll-metadata +Gemfile.lock diff --git a/404.html b/404.html new file mode 100644 index 0000000..c472b4e --- /dev/null +++ b/404.html @@ -0,0 +1,24 @@ +--- +layout: default +--- + + + +
+

404

+ +

Page not found :(

+

The requested page could not be found.

+
diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..65666b4 --- /dev/null +++ b/Gemfile @@ -0,0 +1,30 @@ +source "https://rubygems.org" + +# Hello! This is where you manage which Jekyll version is used to run. +# When you want to use a different version, change it below, save the +# file and run `bundle install`. Run Jekyll with `bundle exec`, like so: +# +# bundle exec jekyll serve +# +# This will help ensure the proper Jekyll version is running. +# Happy Jekylling! +# gem "jekyll", "~> 3.8.5" + +# This is the default theme for new Jekyll sites. You may change this to anything you like. +gem "minima", "~> 2.0" + +# If you want to use GitHub Pages, remove the "gem "jekyll"" above and +# uncomment the line below. To upgrade, run `bundle update github-pages`. +gem "github-pages", group: :jekyll_plugins + +# If you have any plugins, put them here! +group :jekyll_plugins do + gem "jekyll-feed", "~> 0.6" +end + +# Windows does not include zoneinfo files, so bundle the tzinfo-data gem +gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw, :jruby] + +# Performance-booster for watching directories on Windows +gem "wdm", "~> 0.1.0" if Gem.win_platform? + diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..b308f37 --- /dev/null +++ b/LICENSE @@ -0,0 +1,29 @@ +BSD 3-Clause License + +Copyright (c) 2020, Sérgio Agostinho +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..a5c663b --- /dev/null +++ b/_config.yml @@ -0,0 +1,55 @@ +# Welcome to Jekyll! +# +# This config file is meant for settings that affect your whole blog, values +# which you are expected to set up once and rarely edit after that. If you find +# yourself editing this file very often, consider using Jekyll's data files +# feature for the data you need to update frequently. +# +# For technical reasons, this file is *NOT* reloaded automatically when you use +# 'bundle exec jekyll serve'. If you change this file, please restart the server process. + +# Site settings +# These are used to personalize your new site. If you look in the HTML files, +# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on. +# You can create any custom variable you would like, and they will be accessible +# in the templates via {{ site.myvariable }}. +title: Point Cloud Library +# email: your-email@example.com +description: >- # this means to ignore newlines until "baseurl:" + The Point Cloud Library (PCL) is a standalone, large scale, open project for 2D/3D image and point cloud processing. +baseurl: "/PointCloudLibrary.github.io.test" # the subpath of your site, e.g. /blog +url: "https://pointcloudlibrary.github.io/" # the base hostname & protocol for your site, e.g. http://example.com +twitter_username: pointclouds +github_username: PointCloudLibrary +discord: https://discord.gg/JFFMAXS + +# Build settings +markdown: kramdown +theme: minima +plugins: + - jekyll-feed + + +api_base_url: https://pointcloudlibrary.github.io/documentation +tutorials_base_url: https://pcl-tutorials.readthedocs.io/ +advanced_base_url: https://pcl-advanced.readthedocs.io/ + +navigation: + - title: API Reference + url: https://pointcloudlibrary.github.io/documentation + - title: Tutorials + url: https://pcl-tutorials.readthedocs.io/ + - title: Advanced + url: https://pcl-advanced.readthedocs.io/ + +# Exclude from processing. +# The following items will not be processed, by default. Create a custom list +# to override the default setting. +# exclude: +# - Gemfile +# - Gemfile.lock +# - node_modules +# - vendor/bundle/ +# - vendor/cache/ +# - vendor/gems/ +# - vendor/ruby/ diff --git a/_includes/header.html b/_includes/header.html new file mode 100644 index 0000000..b88e6a9 --- /dev/null +++ b/_includes/header.html @@ -0,0 +1,34 @@ + diff --git a/_includes/social.html b/_includes/social.html new file mode 100644 index 0000000..5e36267 --- /dev/null +++ b/_includes/social.html @@ -0,0 +1,15 @@ + diff --git a/about.md b/about.md new file mode 100644 index 0000000..e875ce1 --- /dev/null +++ b/about.md @@ -0,0 +1,66 @@ +--- +layout: page +title: About +permalink: /about/ +--- + +What is PCL? +============ + +The Point Cloud Library (or PCL) is a large scale, open project [[1]](#open) for 2D/3D +image and point cloud processing. The PCL framework contains numerous +state-of-the art algorithms including filtering, feature estimation, surface +reconstruction, registration, model fitting and segmentation. These algorithms +can be used, for example, to filter outliers from noisy data, stitch 3D point +clouds together, segment relevant parts of a scene, extract keypoints and +compute descriptors to recognize objects in the world based on their geometric +appearance, and create surfaces from point clouds and visualize them -- to name +a few. + +PCL is released under the terms of the [3-clause BSD license](https://en.wikipedia.org/wiki/BSD_licenses#3-clause_license_.28.22Revised_BSD_License.22.2C_.22New_BSD_License.22.2C_or_.22Modified_BSD_License.22.29) and is open source software. **It is free for commercial and research use.** PCL is **cross-platform**, +and has been successfully compiled and deployed on Linux, MacOS, Windows and +Android. To simplify development, PCL is split into a series of smaller +code libraries, that can be compiled separately. This modularity is important +for distributing PCL on platforms with reduced computational or size +constraints (for more information about each module see the [documentation]({{ site.api_base_url }}) +page). Another way to think about PCL is as a graph of code libraries, +similar to the [Boost](http://www.boost.org/) set of C++ libraries. Here's an example: + +![dependency-graph](/assets/images/about/pcl_dependency_graph2.png) + + +What is a Point Cloud? +====================== + +A point cloud is a data structure used to represent a collection of +multi-dimensional points and is commonly used to represent three-dimensional +data. In a 3D point cloud, the points usually represent the X, Y, and Z +geometric coordinates of an underlying sampled surface. When color information +is present (see the figures below), the point cloud becomes 4D. + +![point_cloud_example](/assets/images/about/point_cloud_example.png) + + +Point clouds can be acquired from hardware sensors such as stereo cameras, 3D scanners, or time-of-flight cameras, or generated from a computer program synthetically. PCL supports natively the OpenNI 3D interfaces, and can thus acquire and process data from devices such as the PrimeSensor 3D cameras, the Microsoft Kinect or the [Asus +XTionPro](https://www.asus.com/3D-Sensor/Xtion_PRO/). + +For more information about point clouds and 3D processing please visit our [documentation]({{ site.api_base_url }}) page. + +References +========== + +[1] +For more information, including a scientific citation (more to be added soon), please see: + +{% raw %} + @InProceedings{Rusu_ICRA2011_PCL, + author = {Radu Bogdan Rusu and Steve Cousins}, + title = {{3D is here: Point Cloud Library (PCL)}}, + booktitle = {{IEEE International Conference on Robotics and Automation (ICRA)}}, + month = {May 9-13}, + year = {2011}, + address = {Shanghai, China} + } +{% endraw %} + +[Download PDF here](/assets/pdf/pcl_icra2011.pdf) \ No newline at end of file diff --git a/assets/images/about/pcl_dependency_graph2.png b/assets/images/about/pcl_dependency_graph2.png new file mode 100644 index 0000000..8ba6879 Binary files /dev/null and b/assets/images/about/pcl_dependency_graph2.png differ diff --git a/assets/images/about/point_cloud_example.png b/assets/images/about/point_cloud_example.png new file mode 100644 index 0000000..daae10c Binary files /dev/null and b/assets/images/about/point_cloud_example.png differ diff --git a/assets/images/advanced.png b/assets/images/advanced.png new file mode 100644 index 0000000..869efc8 Binary files /dev/null and b/assets/images/advanced.png differ diff --git a/assets/images/api_example.png b/assets/images/api_example.png new file mode 100644 index 0000000..08ae407 Binary files /dev/null and b/assets/images/api_example.png differ diff --git a/assets/images/logo.png b/assets/images/logo.png new file mode 100644 index 0000000..3e8b313 Binary files /dev/null and b/assets/images/logo.png differ diff --git a/assets/images/overview/features_small.png b/assets/images/overview/features_small.png new file mode 100644 index 0000000..63923b7 Binary files /dev/null and b/assets/images/overview/features_small.png differ diff --git a/assets/images/overview/filters_small.png b/assets/images/overview/filters_small.png new file mode 100644 index 0000000..2d100dd Binary files /dev/null and b/assets/images/overview/filters_small.png differ diff --git a/assets/images/overview/io_small.jpg b/assets/images/overview/io_small.jpg new file mode 100644 index 0000000..78708c6 Binary files /dev/null and b/assets/images/overview/io_small.jpg differ diff --git a/assets/images/overview/kdtree_small.png b/assets/images/overview/kdtree_small.png new file mode 100644 index 0000000..7039de7 Binary files /dev/null and b/assets/images/overview/kdtree_small.png differ diff --git a/assets/images/overview/keypoints_small.png b/assets/images/overview/keypoints_small.png new file mode 100644 index 0000000..aba3188 Binary files /dev/null and b/assets/images/overview/keypoints_small.png differ diff --git a/assets/images/overview/octree_small.png b/assets/images/overview/octree_small.png new file mode 100644 index 0000000..ea9a310 Binary files /dev/null and b/assets/images/overview/octree_small.png differ diff --git a/assets/images/overview/recognition_small.png b/assets/images/overview/recognition_small.png new file mode 100644 index 0000000..faf3bc4 Binary files /dev/null and b/assets/images/overview/recognition_small.png differ diff --git a/assets/images/overview/registration_small.png b/assets/images/overview/registration_small.png new file mode 100644 index 0000000..382196b Binary files /dev/null and b/assets/images/overview/registration_small.png differ diff --git a/assets/images/overview/sample_consensus_small.png b/assets/images/overview/sample_consensus_small.png new file mode 100644 index 0000000..6df2593 Binary files /dev/null and b/assets/images/overview/sample_consensus_small.png differ diff --git a/assets/images/overview/segmentation_small.png b/assets/images/overview/segmentation_small.png new file mode 100644 index 0000000..639a558 Binary files /dev/null and b/assets/images/overview/segmentation_small.png differ diff --git a/assets/images/overview/surface_small.png b/assets/images/overview/surface_small.png new file mode 100644 index 0000000..66d2963 Binary files /dev/null and b/assets/images/overview/surface_small.png differ diff --git a/assets/images/overview/visualization_small.png b/assets/images/overview/visualization_small.png new file mode 100644 index 0000000..37a43b0 Binary files /dev/null and b/assets/images/overview/visualization_small.png differ diff --git a/assets/images/tutorials.png b/assets/images/tutorials.png new file mode 100644 index 0000000..c4a3119 Binary files /dev/null and b/assets/images/tutorials.png differ diff --git a/assets/minima-social-icons.svg b/assets/minima-social-icons.svg new file mode 100644 index 0000000..e405d5c --- /dev/null +++ b/assets/minima-social-icons.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/pdf/pcl_icra2011.pdf b/assets/pdf/pcl_icra2011.pdf new file mode 100644 index 0000000..19ec245 Binary files /dev/null and b/assets/pdf/pcl_icra2011.pdf differ diff --git a/assets/pdf/pcl_identity_guidelines.pdf b/assets/pdf/pcl_identity_guidelines.pdf new file mode 100644 index 0000000..2ce9140 Binary files /dev/null and b/assets/pdf/pcl_identity_guidelines.pdf differ diff --git a/index.md b/index.md new file mode 100644 index 0000000..615383f --- /dev/null +++ b/index.md @@ -0,0 +1,68 @@ +--- +# Feel free to add content and custom Front Matter to this file. +# To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults + +layout: page +--- + +![pcl-logo](/assets/images/logo.png) + +The Point Cloud Library (PCL) is a standalone, large scale, open project for 2D/3D image and point cloud processing. PCL is released under the terms of the **BSD license**, and thus free for commercial and research use. + +Whether you've just discovered PCL or you're a long time veteran, this page contains links to a set of resources that will help consolidate your knowledge on PCL and 3D processing. An additional Wiki resource for developers is available at [https://github.com/PointCloudLibrary/pcl/wiki](https://github.com/PointCloudLibrary/pcl/wiki). + +Getting Started +---------------- + +To simplify both usage and development, we split PCL into a series of modular libraries. The most important set of released modules in PCL is shown below. + + + + + + + + + + + + + + + + + + + + + + + + + +
filtersfeatureskeypoints
registrationkdtreeoctree
segmentationsample_consensussurface
recognitioniovisualization
+ + +[Tutorials][tutorials] +---------------- +Our [comprehensive list of tutorials for PCL][tutorials], covers many topics, ranging from simple Point Cloud Input/Output operations to more complicated applications that include visualization, feature estimation, segmentation, etc. + +[![tutorials](/assets/images/tutorials.png)][tutorials] + + +[Advanced Topics][advanced] +---------------- + +If you're interested in how PCL works internally, or are looking at optimizing your workflow, we have assembled a [set of topics][tutorials] that cover interesting subjects from reducing your compile time to code profiling. + +[![advanced](/assets/images/advanced.png)][advanced] + + +[API Reference][api] +---------------- + +The [Application Programming Interface (API) documentation][api] for PCL includes explanations about how each public method and class works, shows simple code snippets that can be used quickly to prototype and test a particular algorithm, and links to scientific publications for those interested in finding out more about the theoretical aspects of a particular method. + +[api]: {{ site.api_base_url }} +[advanced]: {{ site.advanced_base_url }} +[tutorials]: {{ site.tutorials_base_url }} \ No newline at end of file