Coder Social home page Coder Social logo

pclbo's Introduction

Laplace-Beltrami Operator for PCL

This is an implementation of the proposed method from Liu, et al. to compute the Laplace-Beltrami Operator for point clouds. It is adapted to be used as part of the Point Cloud Library.

Requirements

  • Point Cloud Library (>= 1.7)
  • Eigen library 3.0
  • CGAL 3.9
  • SuiteSparse 2.0

Demos

Computing the eigenfunctions of the Laplacian

Demo

There is a small demo with the code that visualizes the Eigenfunctions of the Laplace-Beltrami Operator on the Stanford Bunny cloud. To compile and run it simply do the following:

    mkdir build
    cd build
    cmake ..
    make
    ./visualize_eigenfunctions

Heat diffusion

There is also a small example for computing the heat kernel signature over time. The executable is called heat.

Demo

Geodesic distances

This one is pretty cool. This is an implementation of the geodesics in heat method from Crane. This one has a point picking event so you can click a point in the viewer and display the geodesics coming out from that point.

Demo

    ./mesh_geoheat -m ../models/bunny.ply

pclbo's People

Contributors

rosds avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

pclbo's Issues

fatal error: cholmod.h: No such file or directory compilation terminated.

Dear Alfonso,

Currently I am trying to get your code to run. However stumbled upon a few difficulties.

The dependencies I needed so far are many more then you described, probably PCL dependencies?

Well I came as far as (sort of) successfully running cmake ... But when making I got this fatal error in Eigen, one of the few dependencies I was actually sure of I installed it correctly.

Scanning dependencies of target pclbo
[ 33%] Building CXX object CMakeFiles/pclbo.dir/src/meshlbo.cpp.o
[ 66%] Building CXX object CMakeFiles/pclbo.dir/src/meshgeoheat.cpp.o
In file included from /home/tom/vision/PCLBO/include/pclbo/geodesics/meshgeoheat.h:7:0,
                 from /home/tom/vision/PCLBO/src/meshgeoheat.cpp:1:
/usr/include/eigen3/Eigen/CholmodSupport:16:23: fatal error: cholmod.h: No such file or directory
compilation terminated.
CMakeFiles/pclbo.dir/build.make:86: recipe for target 'CMakeFiles/pclbo.dir/src/meshgeoheat.cpp.o' failed
make[2]: *** [CMakeFiles/pclbo.dir/src/meshgeoheat.cpp.o] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/pclbo.dir/all' failed
make[1]: *** [CMakeFiles/pclbo.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2

Any chance you could help me out here? Thanks in advance, looking forward to run your Heat diffusion demo on some more objects!

PCL Dependency: Issue building the project

@alfonsoros88 :
I am trying to build your code with was unsuccessful even after installing all the required dependencies (mentioned in the README).

When I try to build the project I have the following error:

-- The CXX compiler identification is GNU 5.4.0
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Checking for module 'eigen3'
--   Found eigen3, version 3.2.92
-- Found Eigen: /usr/include/eigen3  
-- Eigen found (include: /usr/include/eigen3, version: 3.2.92)
-- Looking for C++ include pthread.h
-- Looking for C++ include pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Boost version: 1.58.0
-- Found the following Boost libraries:
--   system
--   filesystem
--   thread
--   date_time
--   iostreams
--   serialization
--   chrono
--   atomic
--   regex
-- Checking for module 'flann'
--   Found flann, version 1.8.4
-- FLANN found (include: , lib: flann_cpp)
-- FLANN found (include: , lib: flann_cpp)
-- The imported target "vtkRenderingPythonTkWidgets" references the file
   "/usr/lib/x86_64-linux-gnu/libvtkRenderingPythonTkWidgets.so"
but this file does not exist.  Possible reasons include:
* The file was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and contained
   "/usr/lib/cmake/vtk-6.2/VTKTargets.cmake"
but not all the files it references.

-- The imported target "vtk" references the file
   "/usr/bin/vtk"
but this file does not exist.  Possible reasons include:
* The file was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and contained
   "/usr/lib/cmake/vtk-6.2/VTKTargets.cmake"
but not all the files it references.

-- Checking for module 'libusb-1.0'
--   Found libusb-1.0, version 1.0.20
-- Found USB_10: /usr/lib/x86_64-linux-gnu/libusb-1.0.so  
-- Found OpenNI: /usr/lib/libOpenNI.so  
-- OpenNI found (include: /usr/include/ni, lib: /usr/lib/libOpenNI.so)
-- Found OpenNI2: /usr/lib/libOpenNI2.so  
-- OpenNI2 found (include: /usr/include/openni2, lib: /usr/lib/libOpenNI2.so)
** WARNING ** io features related to pcap will be disabled
** WARNING ** io features related to png will be disabled
-- Found libusb-1.0: /usr/include  
** WARNING ** io features related to libusb-1.0 will be disabled
-- OpenNI found (include: /usr/include/ni, lib: /usr/lib/libOpenNI.so)
-- OpenNI2 found (include: /usr/include/openni2, lib: /usr/lib/libOpenNI2.so)
-- Found Qhull: optimized;/usr/lib/x86_64-linux-gnu/libqhull.so;debug;/usr/lib/x86_64-linux-gnu/libqhull.so  
-- QHULL found (include: /usr/include, lib: optimized;/usr/lib/x86_64-linux-gnu/libqhull.so;debug;/usr/lib/x86_64-linux-gnu/libqhull.so)
-- OpenNI found (include: /usr/include/ni, lib: /usr/lib/libOpenNI.so)
-- looking for PCL_COMMON
-- Found PCL_COMMON: /usr/local/lib/libpcl_common.so  
-- looking for PCL_KDTREE
-- Found PCL_KDTREE: /usr/local/lib/libpcl_kdtree.so  
-- looking for PCL_OCTREE
-- Found PCL_OCTREE: /usr/local/lib/libpcl_octree.so  
-- looking for PCL_SEARCH
-- Found PCL_SEARCH: /usr/local/lib/libpcl_search.so  
-- looking for PCL_SAMPLE_CONSENSUS
-- Found PCL_SAMPLE_CONSENSUS: /usr/local/lib/libpcl_sample_consensus.so  
-- looking for PCL_FILTERS
-- Found PCL_FILTERS: /usr/local/lib/libpcl_filters.so  
-- looking for PCL_2D
-- Found PCL_2D: /usr/local/include/pcl-1.9  
-- looking for PCL_FEATURES
-- Found PCL_FEATURES: /usr/local/lib/libpcl_features.so  
-- looking for PCL_IO
-- Found PCL_IO: /usr/local/lib/libpcl_io.so  
-- looking for PCL_GEOMETRY
-- Found PCL_GEOMETRY: /usr/local/include/pcl-1.9  
-- looking for PCL_VISUALIZATION
-- Found PCL_VISUALIZATION: /usr/local/lib/libpcl_visualization.so  
-- looking for PCL_ML
-- Found PCL_ML: /usr/local/lib/libpcl_ml.so  
-- looking for PCL_SEGMENTATION
-- Found PCL_SEGMENTATION: /usr/local/lib/libpcl_segmentation.so  
-- looking for PCL_PEOPLE
-- Found PCL_PEOPLE: /usr/local/lib/libpcl_people.so  
-- looking for PCL_SURFACE
-- Found PCL_SURFACE: /usr/local/lib/libpcl_surface.so  
-- looking for PCL_TRACKING
-- Found PCL_TRACKING: /usr/local/lib/libpcl_tracking.so  
-- looking for PCL_REGISTRATION
-- Found PCL_REGISTRATION: /usr/local/lib/libpcl_registration.so  
-- looking for PCL_KEYPOINTS
-- Found PCL_KEYPOINTS: /usr/local/lib/libpcl_keypoints.so  
-- looking for PCL_RECOGNITION
-- Found PCL_RECOGNITION: /usr/local/lib/libpcl_recognition.so  
-- looking for PCL_STEREO
-- Found PCL_STEREO: /usr/local/lib/libpcl_stereo.so  
-- looking for PCL_APPS
-- Found PCL_APPS: /usr/local/lib/libpcl_apps.so  
-- looking for PCL_OUTOFCORE
-- Found PCL_OUTOFCORE: /usr/local/lib/libpcl_outofcore.so  
-- looking for PCL_GPU_CONTAINERS
-- Found PCL_GPU_CONTAINERS: /usr/local/lib/libpcl_gpu_containers.so  
-- looking for PCL_GPU_UTILS
-- Found PCL_GPU_UTILS: /usr/local/lib/libpcl_gpu_utils.so  
-- looking for PCL_GPU_OCTREE
-- Found PCL_GPU_OCTREE: /usr/local/lib/libpcl_gpu_octree.so  
-- looking for PCL_GPU_FEATURES
-- Found PCL_GPU_FEATURES: /usr/local/lib/libpcl_gpu_features.so  
-- looking for PCL_GPU_KINFU
-- Found PCL_GPU_KINFU: /usr/local/lib/libpcl_gpu_kinfu.so  
-- looking for PCL_GPU_KINFU_LARGE_SCALE
-- Found PCL_GPU_KINFU_LARGE_SCALE: /usr/local/lib/libpcl_gpu_kinfu_large_scale.so  
-- looking for PCL_GPU_SEGMENTATION
-- Found PCL_GPU_SEGMENTATION: /usr/local/lib/libpcl_gpu_segmentation.so  
-- Found PCL: pcl_common;pcl_kdtree;pcl_octree;pcl_search;pcl_sample_consensus;pcl_filters;pcl_features;pcl_io;pcl_visualization;pcl_ml;pcl_segmentation;pcl_people;pcl_surface;pcl_tracking;pcl_registration;pcl_keypoints;pcl_recognition;pcl_stereo;pcl_apps;pcl_outofcore;pcl_gpu_containers;pcl_gpu_utils;pcl_gpu_octree;pcl_gpu_features;pcl_gpu_kinfu;pcl_gpu_kinfu_large_scale;pcl_gpu_segmentation;/usr/lib/x86_64-linux-gnu/libboost_system.so;/usr/lib/x86_64-linux-gnu/libboost_filesystem.so;/usr/lib/x86_64-linux-gnu/libboost_thread.so;/usr/lib/x86_64-linux-gnu/libboost_date_time.so;/usr/lib/x86_64-linux-gnu/libboost_iostreams.so;/usr/lib/x86_64-linux-gnu/libboost_serialization.so;/usr/lib/x86_64-linux-gnu/libboost_chrono.so;/usr/lib/x86_64-linux-gnu/libboost_atomic.so;/usr/lib/x86_64-linux-gnu/libboost_regex.so;/usr/lib/x86_64-linux-gnu/libpthread.so;optimized;/usr/lib/x86_64-linux-gnu/libqhull.so;debug;/usr/lib/x86_64-linux-gnu/libqhull.so;/usr/lib/libOpenNI.so;/usr/lib/libOpenNI2.so;flann_cpp;vtkParallelMPI;vtkParallelCore;vtkCommonCore;vtksys;vtkIOLegacy;vtkCommonDataModel;vtkCommonMath;vtkCommonMisc;vtkCommonSystem;vtkCommonTransforms;vtkIOCore;vtkCommonExecutionModel;/usr/lib/x86_64-linux-gnu/libz.so;vtkFiltersParallelFlowPaths;vtkFiltersAMR;vtkFiltersGeneral;vtkCommonComputationalGeometry;vtkFiltersCore;vtkFiltersFlowPaths;vtkFiltersSources;vtkFiltersParallelImaging;vtkFiltersImaging;vtkFiltersStatistics;vtkImagingFourier;vtkImagingCore;vtkalglib;vtkImagingGeneral;vtkImagingSources;vtkFiltersParallel;vtkFiltersExtraction;vtkFiltersGeometry;vtkFiltersModeling;vtkRenderingCore;vtkCommonColor;verdict;vtkIOSQL;sqlite3;/usr/lib/libgl2ps.so;/usr/lib/x86_64-linux-gnu/libpng.so;vtkIOODBC;vtkRenderingOpenGL;vtkImagingHybrid;vtkIOImage;vtkDICOMParser;vtkmetaio;/usr/lib/x86_64-linux-gnu/libjpeg.so;/usr/lib/x86_64-linux-gnu/libtiff.so;vtkIOParallelExodus;vtkIOExodus;vtkIOXML;vtkIOGeometry;/usr/lib/x86_64-linux-gnu/libjsoncpp.so;vtkIOXMLParser;/usr/lib/x86_64-linux-gnu/libexpat.so;vtkexoIIc;/usr/lib/x86_64-linux-gnu/libnetcdf_c++.so;/usr/lib/x86_64-linux-gnu/libnetcdf.so;/usr/lib/x86_64-linux-gnu/hdf5/serial/lib/libhdf5.so;/usr/lib/x86_64-linux-gnu/libpthread.so;/usr/lib/x86_64-linux-gnu/libsz.so;/usr/lib/x86_64-linux-gnu/libdl.so;/usr/lib/x86_64-linux-gnu/libm.so;/usr/lib/x86_64-linux-gnu/hdf5/serial/lib/libhdf5_hl.so;vtkFiltersHyperTree;vtkIOInfovis;vtkInfovisCore;/usr/lib/x86_64-linux-gnu/libxml2.so;vtkViewsInfovis;vtkChartsCore;vtkRenderingContext2D;vtkRenderingFreeType;/usr/lib/x86_64-linux-gnu/libfreetype.so;vtkftgl;vtkInfovisLayout;vtkInteractionStyle;vtkRenderingLabel;vtkViewsCore;vtkInteractionWidgets;vtkFiltersHybrid;vtkRenderingAnnotation;vtkImagingColor;vtkRenderingVolume;vtkRenderingImage;vtkIOAMR;vtkIOMINC;vtkPythonInterpreter;/usr/lib/x86_64-linux-gnu/libpython2.7.so;vtkIOImport;vtkIOGeoJSON;vtkFiltersVerdict;vtkGUISupportQtWebkit;vtkViewsQt;vtkGUISupportQt;vtkWrappingPythonCore;vtkWrappingTools;vtkIOParallel;vtkIONetCDF;vtkRenderingExternal;vtkRenderingParallelLIC;vtkRenderingLIC;vtkDomainsChemistry;vtkIOParallelXML;vtkIOExport;vtkRenderingGL2PS;vtkRenderingContextOpenGL;vtkParallelMPI4Py;vtkInteractionImage;vtkRenderingLOD;vtkIOVPIC;VPIC;vtkInfovisBoostGraphAlgorithms;vtkFiltersPython;vtkFiltersParallelStatistics;vtkTestingGenericBridge;vtkIOLSDyna;vtkIOVideo;vtkFiltersSMP;vtkIOMPIParallel;vtkRenderingMatplotlib;vtkIOPostgreSQL;vtkFiltersGeneric;/usr/lib/x86_64-linux-gnu/libproj.so;vtkFiltersSelection;vtkRenderingParallel;vtkImagingMorphological;vtkIOMySQL;vtkViewsContext2D;vtkRenderingFreeTypeOpenGL;vtkFiltersReebGraph;vtkFiltersParallelGeometry;vtkIOEnSight;vtkFiltersParallelMPI;vtkIOFFMPEG;vtkIOMovie;/usr/lib/x86_64-linux-gnu/libtheoraenc.so;/usr/lib/x86_64-linux-gnu/libtheoradec.so;/usr/lib/x86_64-linux-gnu/libogg.so;vtkIOParallelNetCDF;vtkViewsGeovis;vtkGeovisCore;vtkLocalExample;vtkIOXdmf2;vtkxdmf2;vtkIOGDAL;vtkFiltersTexture;vtkIOMPIImage;vtkRenderingVolumeOpenGL;vtkTestingRendering;vtkImagingStatistics;vtkTestingIOSQL;vtkGUISupportQtOpenGL;vtkWrappingJava;vtkRenderingFreeTypeFontConfig;vtkIOPLY;vtkIOParallelLSDyna;vtkFiltersProgrammable;vtkImagingMath;vtkGUISupportQtSQL;vtkImagingStencil;vtkRenderingQt  
-- Boost version: 1.58.0
-- Found the following Boost libraries:
--   program_options
--   filesystem
--   system
CMake Error at CMakeLists.txt:14 (target_link_libraries):
  Cannot specify link libraries for target "PCL::PCL" which is not built by
  this project.


-- Configuring incomplete, errors occurred!
See also "/home/srialien/sri_ar/animation/SURFMNet/PCLBO-master/build/CMakeFiles/CMakeOutput.log".
See also "/home/srialien/sri_ar/animation/SURFMNet/PCLBO-master/build/CMakeFiles/CMakeError.log".

Can kindly explain as what I might be missing out here?

Thanks in advance!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.