2009-12-18 15 views
7

Im Grunde bin ich auf der Suche nach einer Bibliothek oder einem SDK für den Umgang mit großen Punktwolken, die von LIDAR oder Scannern kommen und typischerweise in viele Millionen von Punkten von X, Y, Z und Farbe fließen. Was ich suche, sind wie folgt;Gibt es gute C- oder C++ - Bibliotheken für große Punktwolken?

Schnelle Anzeige, Zoomen, Schwenken Punktwolke Registrierung Schnelle niedrigen Niveau Zugriff auf die Daten Regression von Flächen und Solids (nicht so wichtig wie die anderen)

Während ich nichts dagegen, für einen angemessenen zahlen kommerzielle Bibliothek, ich bin nicht an einer sehr teuren Bibliothek interessiert (z. B. über $ 5k) oder an einer Laufzeit Lizenzkosten pro Benutzer. Open Source wäre auch gut. Ich habe ein paar Möglichkeiten über Google gefunden, aber alle sind tendenziell zu teuer für mein Budget.

Antwort

3

Ich schließe mich der Forderung nach R, die ich mit C++ Schnittstelle die ganze Zeit (beispielsweise unter Verwendung der Rcpp und RInside Pakete).

R bevorzugt alle Daten im Speicher, so dass Sie wahrscheinlich mit einem 64-Bit-Betriebssystem und einer anständigen Menge an RAM für viele Daten gehen wollen. Die Task View on High-Performance Computing with R hat einige Hinweise zum Umgang mit großen Daten.

Schließlich ist der hexbin zur schnellen Visualisierung hervorragend geeignet, um große Datensätze visuell zusammenzufassen. Für den Zoom-Aspekt versuchen Sie das rgl Paket.

2

Warum gehst du nicht in die R Programmiersprache, die direkt mit C-Code verknüpfen kann, wodurch eine Brücke bilden. R wurde unter Berücksichtigung von statistischem Code entwickelt, kann aber sehr leicht nicht nur große Datensätze verarbeiten, sondern diese auch visualisieren. Es gibt eine ganze Reihe von atmosphärischen Wissenschaftlern, die R in ihrer Arbeit verwenden. Ich weiß, ich arbeite mit ihnen für genau das, was du versuchst zu tun. Denken Sie an R als eines armen Mannes Matlab oder IDL (aber bald wird es nicht sein.)

1

Im Geiste der R Antworten, bietet ROOT auch eine gute undeleling Rahmen für diese Art von Sache.

Möglicherweise nützliche Eigenschaften:

  • C++ Code-Basis und der Cint C++ Interpreter als Arbeits Shell. Python-Bindung.
  • Kann drei dim Punktwolken
  • Eine Reihe von Geometrieklassen angezeigt werden (obwohl ich glaube nicht, dass sie alle Operationen unterstützen, die Sie benötigen)
  • entwickelt von Physikern Kern- und statt von den Statistikern: p
6

Überprüfen Sie Point Cloud Library (PCL). Es ist ein ziemlich vollständiges Toolkit für die Verarbeitung und Manipulation von Punktwolken.Es bietet auch Werkzeuge für Punktwolken Visualisierung: pcl::visualization::CloudViewer die Verwendung von VTK Bibliothek und wxWidgets

, (lesen/schreiben) und die Manipulation Toolkit entwickelt Punkt Einfluss Übersetzung Seit 2011 macht ist: PDAL - Point Data Abstraction Library

+1

Ich würde hinzufügen, dass der 'CloudViewer' etwas" einfach "ist. Wenn Sie etwas ausgefallenes tun müssen, müssen Sie meistens direkt zum 'PCLVisualizer' gehen. –

1

Vortex von Pointools gehen bis zu viel höheren Punktzahlen als die Millionen, die Sie fragen:

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

können Sie Dateien von vielen Gigabyte verarbeiten Milliarden von Punkten auf bescheidener Hardware enthält.

+0

Vortex ist sicherlich ein guter Motor, aber die Lizenzierung scheint ziemlich teuer und beteiligt von dem, was ich sehen kann. –

+1

Ich weiß nicht, wie die Dinge jetzt sind, wurden sie von Bentley erworben, aber es könnte sich lohnen, zu mailen, um zu sehen, was sie für Sie tun können. – ahcox