Skip to content

Commit

Permalink
implement mip file support for kls
Browse files Browse the repository at this point in the history
  • Loading branch information
[email protected] committed Aug 26, 2015
1 parent 2a597f6 commit 249f9ea
Show file tree
Hide file tree
Showing 22 changed files with 5,882 additions and 441 deletions.
40 changes: 40 additions & 0 deletions CMakeCache.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# This is the CMakeCache file.
# For build in directory: /home/njp/svn/src/pcl
# It was generated by CMake: /usr/bin/cmake
# You can edit this file to change values found and used by cmake.
# If you do not want to change any of the values, simply exit the editor.
# If you do want to change a value, simply edit, save, and exit the editor.
# The syntax for the file is as follows:
# KEY:TYPE=VALUE
# KEY is the name of a variable in the cache.
# TYPE is a hint to GUI's for the type of VALUE, DO NOT EDIT TYPE!.
# VALUE is the current value for the KEY.

########################
# EXTERNAL cache entries
########################


########################
# INTERNAL cache entries
########################

//This is the directory where this CMakeCache.txt was created
CMAKE_CACHEFILE_DIR:INTERNAL=/home/njp/svn/src/pcl
//Major version of cmake used to create the current loaded cache
CMAKE_CACHE_MAJOR_VERSION:INTERNAL=2
//Minor version of cmake used to create the current loaded cache
CMAKE_CACHE_MINOR_VERSION:INTERNAL=8
//Patch version of cmake used to create the current loaded cache
CMAKE_CACHE_PATCH_VERSION:INTERNAL=11
//Path to CMake executable.
CMAKE_COMMAND:INTERNAL=/usr/bin/cmake
//Path to cpack program executable.
CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack
//Path to ctest program executable.
CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest
//Path to cache edit program executable.
CMAKE_EDIT_COMMAND:INTERNAL=/usr/bin/ccmake
//Path to CMake installation.
CMAKE_ROOT:INTERNAL=/usr/share/cmake

1 change: 1 addition & 0 deletions CMakeFiles/cmake.check_cache
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# This file is generated by cmake for dependency checking of the CMakeCache.txt file
5,494 changes: 5,494 additions & 0 deletions CMakeLists.txt.user

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions PCLConfig.cmake.in
Original file line number Diff line number Diff line change
Expand Up @@ -226,13 +226,13 @@ macro(find_openni2)
endif(PKG_CONFIG_FOUND)

find_path(OPENNI2_INCLUDE_DIRS OpenNI.h
HINTS /usr/include/openni2 /usr/include/ni2 /usr/local/include/openni2 /usr/local/include/ni2
HINTS /usr/include/openni2 /usr/include/ni2
PATHS "$ENV{OPENNI2_INCLUDE${OPENNI2_SUFFIX}}"
PATH_SUFFIXES openni openni2 include Include)

find_library(OPENNI2_LIBRARY
NAMES OpenNI2 # No suffix needed on Win64
HINTS /usr/lib /usr/local/lib/ni2
HINTS /usr/lib
PATHS "$ENV{OPENNI2_LIB${OPENNI2_SUFFIX}}"
PATH_SUFFIXES lib Lib Lib64)

Expand Down
48 changes: 23 additions & 25 deletions common/include/pcl/point_types_conversion.h
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,8 @@ namespace pcl
* \param[out] out the output XYZI point
*/
inline void
PointXYZRGBtoXYZI (const PointXYZRGB& in,
PointXYZI& out)
PointXYZRGBtoXYZI (PointXYZRGB& in,
PointXYZI& out)
{
out.x = in.x; out.y = in.y; out.z = in.z;
out.intensity = 0.299f * static_cast <float> (in.r) + 0.587f * static_cast <float> (in.g) + 0.114f * static_cast <float> (in.b);
Expand All @@ -65,7 +65,7 @@ namespace pcl
* \param[out] out the output Intensity point
*/
inline void
PointRGBtoI (const RGB& in,
PointRGBtoI (RGB& in,
Intensity& out)
{
out.intensity = 0.299f * static_cast <float> (in.r) + 0.587f * static_cast <float> (in.g) + 0.114f * static_cast <float> (in.b);
Expand All @@ -76,7 +76,7 @@ namespace pcl
* \param[out] out the output Intensity point
*/
inline void
PointRGBtoI (const RGB& in,
PointRGBtoI (RGB& in,
Intensity8u& out)
{
out.intensity = static_cast<uint8_t>(std::numeric_limits<uint8_t>::max() * 0.299f * static_cast <float> (in.r)
Expand All @@ -88,7 +88,7 @@ namespace pcl
* \param[out] out the output Intensity point
*/
inline void
PointRGBtoI (const RGB& in,
PointRGBtoI (RGB& in,
Intensity32u& out)
{
out.intensity = static_cast<uint32_t>(static_cast<float>(std::numeric_limits<uint32_t>::max()) * 0.299f * static_cast <float> (in.r)
Expand All @@ -100,13 +100,12 @@ namespace pcl
* \param[out] out the output XYZHSV point
*/
inline void
PointXYZRGBtoXYZHSV (const PointXYZRGB& in,
PointXYZHSV& out)
PointXYZRGBtoXYZHSV (PointXYZRGB& in,
PointXYZHSV& out)
{
const unsigned char max = std::max (in.r, std::max (in.g, in.b));
const unsigned char min = std::min (in.r, std::min (in.g, in.b));

out.x = in.x; out.y = in.y; out.z = in.z;
out.v = static_cast <float> (max) / 255.f;

if (max == 0) // division by zero
Expand Down Expand Up @@ -138,13 +137,12 @@ namespace pcl
* \todo include the A parameter but how?
*/
inline void
PointXYZRGBAtoXYZHSV (const PointXYZRGBA& in,
PointXYZHSV& out)
PointXYZRGBAtoXYZHSV (PointXYZRGBA& in,
PointXYZHSV& out)
{
const unsigned char max = std::max (in.r, std::max (in.g, in.b));
const unsigned char min = std::min (in.r, std::min (in.g, in.b));

out.x = in.x; out.y = in.y; out.z = in.z;
out.v = static_cast <float> (max) / 255.f;

if (max == 0) // division by zero
Expand Down Expand Up @@ -175,8 +173,8 @@ namespace pcl
* \param[out] out the output XYZRGB point
*/
inline void
PointXYZHSVtoXYZRGB (const PointXYZHSV& in,
PointXYZRGB& out)
PointXYZHSVtoXYZRGB (PointXYZHSV& in,
PointXYZRGB& out)
{
out.x = in.x; out.y = in.y; out.z = in.z;
if (in.s == 0)
Expand Down Expand Up @@ -243,7 +241,7 @@ namespace pcl
* \param[out] out the output Intensity point cloud
*/
inline void
PointCloudRGBtoI (const PointCloud<RGB>& in,
PointCloudRGBtoI (PointCloud<RGB>& in,
PointCloud<Intensity>& out)
{
out.width = in.width;
Expand All @@ -261,7 +259,7 @@ namespace pcl
* \param[out] out the output Intensity point cloud
*/
inline void
PointCloudRGBtoI (const PointCloud<RGB>& in,
PointCloudRGBtoI (PointCloud<RGB>& in,
PointCloud<Intensity8u>& out)
{
out.width = in.width;
Expand All @@ -279,7 +277,7 @@ namespace pcl
* \param[out] out the output Intensity point cloud
*/
inline void
PointCloudRGBtoI (const PointCloud<RGB>& in,
PointCloudRGBtoI (PointCloud<RGB>& in,
PointCloud<Intensity32u>& out)
{
out.width = in.width;
Expand All @@ -297,8 +295,8 @@ namespace pcl
* \param[out] out the output XYZHSV point cloud
*/
inline void
PointCloudXYZRGBtoXYZHSV (const PointCloud<PointXYZRGB>& in,
PointCloud<PointXYZHSV>& out)
PointCloudXYZRGBtoXYZHSV (PointCloud<PointXYZRGB>& in,
PointCloud<PointXYZHSV>& out)
{
out.width = in.width;
out.height = in.height;
Expand All @@ -315,8 +313,8 @@ namespace pcl
* \param[out] out the output XYZHSV point cloud
*/
inline void
PointCloudXYZRGBAtoXYZHSV (const PointCloud<PointXYZRGBA>& in,
PointCloud<PointXYZHSV>& out)
PointCloudXYZRGBAtoXYZHSV (PointCloud<PointXYZRGBA>& in,
PointCloud<PointXYZHSV>& out)
{
out.width = in.width;
out.height = in.height;
Expand All @@ -333,8 +331,8 @@ namespace pcl
* \param[out] out the output XYZI point cloud
*/
inline void
PointCloudXYZRGBtoXYZI (const PointCloud<PointXYZRGB>& in,
PointCloud<PointXYZI>& out)
PointCloudXYZRGBtoXYZI (PointCloud<PointXYZRGB>& in,
PointCloud<PointXYZI>& out)
{
out.width = in.width;
out.height = in.height;
Expand All @@ -353,9 +351,9 @@ namespace pcl
* \param[out] out the output pointcloud
* **/
inline void
PointCloudDepthAndRGBtoXYZRGBA (const PointCloud<Intensity>& depth,
const PointCloud<RGB>& image,
const float& focal,
PointCloudDepthAndRGBtoXYZRGBA (PointCloud<Intensity>& depth,
PointCloud<RGB>& image,
float& focal,
PointCloud<PointXYZRGBA>& out)
{
float bad_point = std::numeric_limits<float>::quiet_NaN();
Expand Down
2 changes: 1 addition & 1 deletion doc/tutorials/content/tracking.rst
Original file line number Diff line number Diff line change
Expand Up @@ -132,5 +132,5 @@ After few seconds, tracking will start working and you can move tracking object

More Advanced
-------------
If you want to see more flexible and useful tracking code which starts tracking without preparing to make segemented model beforehand, you should refer a tracking code https://github.com/PointCloudLibrary/pcl/blob/master/apps/src/openni_tracking.cpp. It will show you better and more legible code. The above Figures are windows when you implement that code.
If you want to see more flexible and useful tracking code which starts tracking without preparing to make segemented model beforehand, you should refer a tracking code https://github.com/aginika/pcl/blob/master/apps/src/openni_tracking.cpp. It will show you better and more legible code. The above Figures are windows when you implement that code.

14 changes: 7 additions & 7 deletions doc/tutorials/content/writing_new_classes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -676,7 +676,7 @@ execution of the code, its value is still 0, we will print an error using the
In the case of the search method, we can either do the same, or be clever and
provide a default option for the user. The best default options are:

* use an organized search method via :pcl:`pcl::OrganizedNeighbor<pcl::OrganizedNeighbor>` if the point cloud is organized;
* use an organized search method via :pcl:`pcl::OrganizedDataIndex<pcl::OrganizedDataIndex>` if the point cloud is organized;
* use a general purpose kdtree via :pcl:`pcl::KdTreeFLANN<pcl::KdTreeFLANN>` if the point cloud is unorganized.

.. code-block:: cpp
Expand All @@ -697,7 +697,7 @@ provide a default option for the user. The best default options are:
if (!tree_)
{
if (input_->isOrganized ())
tree_.reset (new pcl::OrganizedNeighbor<PointT> ());
tree_.reset (new pcl::OrganizedDataIndex<PointT> ());
else
tree_.reset (new pcl::KdTreeFLANN<PointT> (false));
}
Expand Down Expand Up @@ -749,7 +749,7 @@ The implementation file header thus becomes:
if (!tree_)
{
if (input_->isOrganized ())
tree_.reset (new pcl::OrganizedNeighbor<PointT> ());
tree_.reset (new pcl::OrganizedDataIndex<PointT> ());
else
tree_.reset (new pcl::KdTreeFLANN<PointT> (false));
}
Expand Down Expand Up @@ -812,7 +812,7 @@ The new *bilateral.hpp* class thus becomes:
if (!tree_)
{
if (input_->isOrganized ())
tree_.reset (new pcl::OrganizedNeighbor<PointT> ());
tree_.reset (new pcl::OrganizedDataIndex<PointT> ());
else
tree_.reset (new pcl::KdTreeFLANN<PointT> (false));
}
Expand Down Expand Up @@ -864,7 +864,7 @@ The implementation file header thus becomes:
if (!tree_)
{
if (input_->isOrganized ())
tree_.reset (new pcl::OrganizedNeighbor<PointT> ());
tree_.reset (new pcl::OrganizedDataIndex<PointT> ());
else
tree_.reset (new pcl::KdTreeFLANN<PointT> (false));
}
Expand Down Expand Up @@ -1221,9 +1221,9 @@ And the *bilateral.hpp* like:
// In case a search method has not been given, initialize it using some defaults
if (!tree_)
{
// For organized datasets, use an OrganizedNeighbor
// For organized datasets, use an OrganizedDataIndex
if (input_->isOrganized ())
tree_.reset (new pcl::OrganizedNeighbor<PointT> ());
tree_.reset (new pcl::OrganizedDataIndex<PointT> ());
// For unorganized data, use a FLANN kdtree
else
tree_.reset (new pcl::KdTreeFLANN<PointT> (false));
Expand Down
1 change: 0 additions & 1 deletion features/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ if(build)
"include/pcl/${SUBSYS_NAME}/feature.h"
"include/pcl/${SUBSYS_NAME}/fpfh.h"
"include/pcl/${SUBSYS_NAME}/fpfh_omp.h"
"include/pcl/${SUBSYS_NAME}/from_meshes.h"
"include/pcl/${SUBSYS_NAME}/gfpfh.h"
"include/pcl/${SUBSYS_NAME}/integral_image2D.h"
"include/pcl/${SUBSYS_NAME}/integral_image_normal.h"
Expand Down
105 changes: 0 additions & 105 deletions features/include/pcl/features/from_meshes.h

This file was deleted.

2 changes: 1 addition & 1 deletion filters/include/pcl/filters/impl/bilateral.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ pcl::BilateralFilter<PointT>::applyFilter (PointCloud &output)
// In case a search method has not been given, initialize it using some defaults
if (!tree_)
{
// For organized datasets, use an OrganizedNeighbor
// For organized datasets, use an OrganizedDataIndex
if (input_->isOrganized ())
tree_.reset (new pcl::search::OrganizedNeighbor<PointT> ());
// For unorganized data, use a FLANN kdtree
Expand Down
Loading

0 comments on commit 249f9ea

Please sign in to comment.