NLeSC / pointcloud-benchmark

Apache License 2.0
9 stars 5 forks source link

pointcloud-benchmark

This project contains the pointcloud Python package (in python/pointcloud) which is used to deal with point clouds in various Point Cloud Data Management Systems (PCDMS's). Concretely the different PCDMS's are:

Alternative storage models based on Morton space filling curves are also offered as alternatives in some cases.

The main goal of the pointcloud Python package is to be used for the execution of benchmarks for the several PCDMS's. However it can be used in general:

Installation

In the install folder you can find details on the requirements of the pointcloud Python package as well as installation instructions for the several PCDMS's.

Architecture

The architecture of the pointcloud Python package is based on implementing, for each PCDMS, at least a Loader class (that must inherit from AbstractLoader and implement the missing methods) and a Querier class (that must inherit from AbstractQuerier and implement the missing methods)

The Loader classes are very generic so they can be used for the benchmark executions but also for other applications to load point clouds in the PCDMS. The Querier classes are tailored to execute the queries specified in the benchmarks (see queries folder) but some of them implement parallel methods that may be interesting in other cases.

Content

Execution

In order to use the loader tool of the pointcloud Python package execute the following command:

python/pointcloud/run/load_pc.py -i [init file]

In order to use the querier tool of the pointcloud Python package execute the following command:

python/pointcloud/run/query_pc.py -i [init file]

where [init file] is the initialization file for the related PCDMS that you are using (use the files in ini folder as templates)

Adding a new PCDMS

To add a new PCDMS into the pointcloud Python package it is required:

[Load] Folder:

[Query] File: NumberUsers: 1 NumberIterations: 2