2009-12-18 4 views
7

Fondamentalmente, sto cercando una libreria o un SDK per la gestione di nuvole di punti di grandi dimensioni provenienti da LIDAR o scanner, in genere in esecuzione in molti milioni di punti di X, Y, Z, Colore. Quello che sto cercando sono i seguenti;Qualsiasi buona libreria C o C++ disponibile per gestire grandi nuvole di punti?

visualizzazione veloce, zoom, panning punto di registrazione nuvola veloce l'accesso a basso livello ai dati Regressione di superfici e solidi (non così importante come gli altri)

Mentre non mi dispiace pagare per un ragionevole libreria commerciale, non mi interessa una libreria molto costosa (ad esempio, in eccesso di circa $ 5k) o una con un costo per licenza run-time per utente. Anche l'open source sarebbe buono. Ho trovato alcune possibilità tramite google, ma tendono a essere troppo costose per il mio budget.

risposta

3

I secondi presentare R che I con C++ tutto il tempo (ad esempio utilizzando i pacchetti Rcpp e RInside).

R preferisce tutti i dati in memoria, quindi probabilmente vorrai andare con un sistema operativo a 64 bit e una discreta quantità di RAM per molti dati. Lo Task View on High-Performance Computing with R ha alcune indicazioni su come gestire i dati di grandi dimensioni.

Infine, per la visualizzazione rapida, lo hexbin è eccellente per la visualizzazione visiva di insiemi di dati di grandi dimensioni. Per l'ingrandimento, ecc., Prova il pacchetto rgl.

2

Perché non vai a dare un'occhiata al linguaggio di programmazione R che può collegarsi direttamente al codice C, formando così un ponte. R è stato sviluppato tenendo presente il codice statistico, ma può aiutare molto facilmente non solo a gestire dataset di grandi dimensioni, ma anche a visualizzarli. Ci sono un discreto numero di scienziati atmosferici che usano R nel loro lavoro. Lo so, lavoro con loro esattamente per le cose che stai cercando di fare. Pensare R come Matlab di un uomo povero o IDL (ma presto non sarà.)

1

Nello spirito delle risposte R, ROOT fornisce anche un buon quadro ondeggiante per questo genere di cose.

caratteristiche potenzialmente utili:

  • C++ base di codice e la C++ interprete Cint come lo shell di lavoro. Associazione Python.
  • può visualizzare tre nuvole di punti oscuri
  • Un insieme di classi di geometria (anche se non credo che supportano tutte le operazioni che è necessario)
  • sviluppato da fisici nucleari e delle particelle, invece di dagli statistici: p
6

Controllare Point Cloud Library (PCL). È un kit di strumenti abbastanza completo per l'elaborazione e la manipolazione delle nuvole di punti.Esso fornisce anche strumenti per la visualizzazione di nuvole di punti: pcl::visualization::CloudViewer che si avvale di VTK biblioteca e wxWidgets

Dal 2011, è stata sviluppata punto di traslazione peso (lettura/scrittura) e toolkit manipolazione: PDAL - Point Data Abstraction Library

+1

Vorrei aggiungere che il 'CloudViewer' è un po '' semplice '. Se hai bisogno di fare qualcosa di stravagante, per lo più sei sicuro di andare direttamente a 'PCLVisualizer'. –

1

Vortex da Pointools può andare fino a numeri molto più elevati di punti rispetto ai milioni che tu chieda:

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

E 'in grado di gestire i file di molti gigabyte contenenti miliardi di punti su hardware modesto.

+0

Vortex è certamente un buon motore ma le licenze sembrano piuttosto costose e coinvolte da quello che vedo. –

+1

Non so come sono le cose ora sono state acquisite da Bentley, ma potrebbe valere la pena di inviarci email per vedere cosa possono fare per voi. – ahcox