README
point-cloud-convert
point-cloud-convert is a simple JavaScript tool converting point cloud file from one format to another, which can use as both of JavaScript API in a browser or in Node.js and CLI.
At present, the following convertions are supported.
pcd
<->ply
asc
<->pcd
asc
<->ply
Installation
In a browser:
<script src="point-cloud-convert.js"></script>
In Node.js:
If you want point-cloud-convert
as API for your JavaScript project, run the code:
$ npm install --save point-cloud-convert
If you want point-cloud-convert
as CLI to convert your local files, run the code:
$ npm install --global point-cloud-convert
How to use
(1) use point-cloud-convert as API
There is only one function named pointCloudConvert
,which takes two parameters, the first is input string, and the second is conversion type string, and return a output string. conversion type can be one of the following strings so far:
pcd2ply
, pcd2asc
, ply2pcd
, ply2asc
, asc2pcd
, asc2ply
.
in a browser:
<script src="point-cloud-convert.js"></script>
<script>
// inputStr has been loaded
var conversionType = 'ply2pcd'; // convert ply to pcd
var outputStr = pointCloudConvert(inputStr, conversionType);
</script>
in Node.js:
const pointCloudConvert = require('node_module/point-cloud-convert/point-cloud-convert.js');
// [attention] it is not require('point-cloud-convert'), because index.js is used as CLI.
// inputStr has been loaded
let conversionType = 'ply2pcd'; // convert ply to pcd
let outputStr = pointCloudConvert(inputStr, conversionType);
(2) use point-cloud-convert as CLI
point-cloud-convert
can be also used as CLI. it is really convenient and fase to convert point cloud file from one format to another, All you need to do is installing the Node.js
and point-cloud-convert
package in global. If you have already installed Node.js
, then run the following code to install point-cloud-convert
globally.
$ npm install --global point-cloud-convert
The help doc:
Usage: point-cloud-convert [options] <src> <dest>
Options:
-v, --version output the version number
-t, --type <type> set format conversion type, eg. pcd2ply, it will be inferred if not set
-d, --directory convert all files from one directory to another
-h, --help output usage information
Supported all conversion type among ply, pcd and asc, eg. pcd2ply, asc2pcd
Examples:
$ point-cloud-convert demo.pcd demo.ply -t pcd2ply
$ point-cloue-convert demo.pcd demo.ply
$ point-cloud-convert ./input ./output -t ply2pcd -d
Examples:
Convert
demo.pcd
todemo.ply
. Option-t pcd2ply
specifies the conversion type.$ point-cloud-convert demo.pcd demo.ply -t pcd2ply
This command will convert
demo.pcd
todemo.ply
.Indeed, if you forget type
-t
option, the conversion type will be inferred from the source filenamedemo.pcd
and destination filenamedemo.ply
. I think it is more convenient for converting a single file.$ point-cloud-convert demo.pcd demo.ply
Converting directory is also supported by using
-d
option. In the following example,./input
is source directory,./output
is destination directory. But in this case,-t
option is necessary, because conversion type can not be inferred any more. Again, do not forget-d
option when converting point cloud directory.$ point-cloud-convert ./input ./output -t ply2pcd -d
This command will convert all
ply
files in./input
directory topcd
files in./output
directory.
TODO
- Create a simple browser demo to show basic function of
point-cloud-convert
. - Add
README-zh.md
. - Support point cloud format
wrl
. - Support converting directory recursively (using
-r
option).
Bugs
Please use the Github issue tracker for all bugs and feature requests.