2009-12-18 10 views
7

Básicamente, estoy buscando una biblioteca o SDK para manejar nubes de puntos grandes provenientes de LIDAR o escáneres, que normalmente se encuentran con muchos millones de puntos de X, Y, Z, Color. Lo que busco son los siguientes;¿Alguna buena biblioteca C o C++ para lidiar con nubes de puntos grandes?

Representación rápida, zoom, panorámica nube de registro Punto rápido acceso de bajo nivel a los datos regresión de las superficies y sólidos (no tan importante como los otros)

Si bien no me importa pagar por un precio razonable biblioteca comercial, no estoy interesado en una biblioteca muy costosa (por ejemplo, más de $ 5k) o una con un costo de licencia por tiempo de ejecución por usuario. El código abierto también sería bueno. Encontré algunas posibilidades a través de google, pero todas tienden a ser demasiado caras para mi presupuesto.

Respuesta

3

Secundo la convocatoria de R la que la interfaz con C++ todo el tiempo (por ejemplo, usando los Rcpp y RInside paquetes).

R prefiere todos los datos en la memoria, por lo que es probable que desee ir con un sistema operativo de 64 bits y una cantidad decente de RAM para una gran cantidad de datos. El Task View on High-Performance Computing with R tiene algunos consejos sobre cómo manejar datos grandes.

Por último, para una visualización rápida, el hexbin es excelente para resumir visualmente grandes conjuntos de datos. Para el aspecto de zoom, pruebe el paquete rgl.

2

¿Por qué no echas un vistazo al lenguaje de programación R que puede vincular directamente al código C, formando así un puente. R fue desarrollado con código estadístico en mente, pero puede ayudar no solo a manejar grandes conjuntos de datos sino también a visualizarlos. Hay bastantes científicos de la atmósfera que usan R en su trabajo. Lo sé, trabajo con ellos para exactamente lo que estás tratando de hacer. Piense en R como Matlab de un hombre pobre o IDL (pero pronto no será.)

1

En espíritu de las respuestas R, ROOT también proporciona un buen marco de undending para este tipo de cosas.

características posiblemente útil:

  • C++ base de código y el C++ intérprete Cint como la cáscara de trabajo. Enlace de Python.
  • puede mostrar tres nubes de puntos oscuros
  • Un conjunto de clases de geometría (aunque no creo que ellos son compatibles con todas las operaciones que necesita)
  • Realizacion tecnica físicos nucleares y de partículas en lugar de por los estadísticos: p
6

Verificar Point Cloud Library (PCL). Es un conjunto de herramientas bastante completo para procesar y manipular nubes de puntos.También proporciona herramientas para la visualización de nubes de puntos: pcl::visualization::CloudViewer que hace uso de VTK biblioteca y wxWidgets

Desde 2011, la traducción influencia punto (lectura/escritura) y el kit de herramientas de manipulación se ha desarrollado: PDAL - Point Data Abstraction Library

+1

Yo agregaría que el 'CloudViewer' es algo 'simple'. Si necesita hacer algo sofisticado, la mayoría de las veces tiene que ir directamente al 'PCLVisualizer'. –

1

Vortex por Pointools puede ir hasta un número mucho mayor de puntos que los millones que le piden:

http://www.pointools.com/vortex_intro.php

puede manejar archivos de muchos gigabytes que contienen mil millones de puntos en un hardware modesto.

+0

Vortex es sin duda un buen motor, pero la licencia parece bastante costosa e implicada por lo que puedo ver. –

+1

No sé cómo son las cosas ahora que han sido adquiridas por Bentley, pero podría valer la pena enviar un correo electrónico para ver qué pueden hacer por usted. – ahcox

Cuestiones relacionadas